Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- MySQL
- 정렬
- AWS
- Sequelize
- Queue
- 공룡게임
- Python
- GIT
- Express
- OCR
- class
- Bull
- MongoDB
- nodejs
- cookie
- nestjs
- TypeScript
- react
- dfs
- flask
- JavaScript
- game
- 게임
- typeORM
- Dinosaur
- Nest.js
- mongoose
- jest
- 자료구조
Archives
- Today
- Total
포시코딩
Node.js, MongoDB 로 웹서비스 만들기 - 11. 회원가입, 로그인 - bcrypt 본문
728x90
이전 게시글에서 bcrypt 를 이용해 암호화 하는 방법을 알아봤으니
기존에 있던 회원가입 로직을
받아낸 비밀번호를 암호화 한 이후에 동작하게 조합하였다.
router.post('/register', (req, res) => {
let id = req.body.id;
let pw = req.body.pw;
const saltRounds = 10;
bcrypt.hash(pw, saltRounds, (err, hash)=>{
try {
db.collection('login').findOne({
id: id
}, (error, result) => {
if (result) {
res.send({
code: 0
});
} else {
db.collection('login').insertOne({
id: id,
pw: hash
}, (error, result) => {
res.send({
code: 1
});
})
}
})
} catch {
console.log('err: ' + err);
}
})
})
저장하고 바로 테스트 ㄱㄱ
비밀번호도 암호화시켜 db 에 저장했으니
로그인할때도 적용해보자
로그인 하는 로직은 없었으므로 한번에 만들거임
router.post('/login', (req, res) => {
let id = req.body.id;
let pw = req.body.pw;
db.collection('login').findOne({id: id}, (error, result)=>{
if(result) {
let enc_pw = result.pw;
bcrypt.compare(pw, enc_pw, (error, result)=>{
try {
if(result) {
res.send({
code: 1
});
} else {
res.send({
code: 0
});
}
} catch(err) {
console.log(err);
res.send({
code: 0
});
}
})
} else {
res.send({
code: 0
});
}
})
})
$('#login').click(()=>{
const id = $('#id').val();
const pw = $('#pw').val();
$.ajax({
url: '/member/login',
method: 'POST',
data: {id: id, pw: pw},
}).done((result)=>{
if(result.code == 1) {
alert(id + ' 님 로그인성공!');
location.href = '/';
} else {
alert('아이디, 비밀번호 확인하셈');
$('#id').focus();
}
})
})
기본적인 틀은 회원가입에서 그대로 가져왔다.
로그인 로직까지 구현했으니 다음으로는 로그인 정보를 session 에 저장해서 쓰는법을 알아보자
728x90
'Node.js' 카테고리의 다른 글
Node.js, MongoDB 로 웹서비스 만들기 - 13. 로그인(2) (0) | 2022.06.27 |
---|---|
Node.js, MongoDB 로 웹서비스 만들기 - 12. 로그인(1) - passport (0) | 2022.06.27 |
Node.js, MongoDB 로 웹서비스 만들기 - 10. 회원가입(2) - bcrypt 암호화 (0) | 2022.06.10 |
Node.js, MongoDB 로 웹서비스 만들기 - 9. 회원가입(1) - INSERT (3) | 2022.06.10 |
Node.js, MongoDB 로 웹서비스 만들기 - 8. Ajax 로 post 요청 (0) | 2022.06.10 |