티스토리 뷰
routes/users.js
const express = require('express');
const router = express.Router();
const passport = require('passport');
const jwt = require('jsonwebtoken');
const User = require('../models/user');
// 여기부터
router.post('/register', (req, res, next) => {
let newUser = new User({
name: req.body.name,
email: req.body.email,
username: req.body.username,
password: req.body.password
});
User.addUser(newUser, (err, user)=>{
if(err) {
res.json({success: false, msg: 'Failed to register user'});
} else {
res.json({success: true, msg: 'User registered'});
}
});
});
//여기까지 추가
module.exports = router;
사용자 입력창에서 입력하는 값들은 newUser 변수에 지정
newUser 값으로 새로운 사용자 등록 (models/user.js에 addUser라는 함수 만들어야함)
models/user.js
module.exports.addUser = function(newUser, callback){
bcrypt.genSalt(10, (err, salt) => {
bcrypt.hash(newUser.password, salt, (err, hash) => {
if(err) throw err;
newUser.password = hash;
newUser.save(callback);
});
});
}
Bcrypt에서
-
getSalt() = salt 값 생성
-
10 : 라운드 수
-
hash() : 사용자 입력 패스워드와 salt를 이용하여 해쉬값 hash 생성
-> 계산된 해쉬값을 패스워드 필드에 덮어쓴 후 DB에 저장함
'웹 공부 > 웹 개발 (MEAN)' 카테고리의 다른 글
Angular) Angular 기본 사용 방법 (0) | 2020.01.02 |
---|---|
Angular) Angular란? & 설치 방법 (0) | 2020.01.02 |
Node.js) MongoDB 연결 (0) | 2020.01.02 |
Node.js) 새로운 루트 추가 (0) | 2020.01.02 |
Node.js) body-Parser (0) | 2020.01.02 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday