로그인 기능 고도화
app.post('/login', (req, res) => {
// userId 가 db 에 저장된 회원인지 확인
const {userId , password} = req.body
let loginUser = {}
let name=''
db.forEach( function (user, id) {
if(user.userId === userId) {
loginUser = user
name = user.name
}
})
if(isExist(loginUser)) {
// pwd 도 맞는지 비교
if(loginUser.password === password) {
res.status(200).json({
message:`${name} 님 환영합니다!`
})
}
else {
res.status(400).json({
message: '비밀번호가 틀렸습니다!'
})
}
}
else {
res.status(404).json({
message: '입력하신 아이디는 없는 아이디입니다.'
})
}
})
function isExist (obj) {
if (Object.keys(obj).length) { // 객체가 비지 않음
return true;
}
else {
return false;
}
}
⭐Object.keys( ) 사용법
https://hyenee99.tistory.com/82
[JS] Object.keys()
객체가 빈 객체인지 확인하기const obj1 = {}const obj2 = { message: "안 빔" }const num = 1const str1 = 'one' // 문자열도 객체const str2 = ''function isEmpty(obj) { if (Object.keys(obj).length === 0) { return true; } else { return false; }
hyenee99.tistory.com
로그인 성공
➡️ 로그인 할 때 입력한 id 와 password 가 회원 가입 시에 입력한 id 와 password 가 동일하면 로그인에 성공한다.
잘못된 비밀번호가 입력됐을 때
➡️ 회원 가입할 때 password 를 1234로 설정했는데, 로그인 할 때 password 를 1235 로 입력해서 로그인이 제대로 수행되지 않았다. 비밀번호가 틀렸다는 메시지가 나온다.
입력한 id 의 user 가 없을 때
➡️ 회원 가입할 때 userId 를 hyenee99로 설정했는데, 로그인 할 때 userId 를 hyenee98 로 입력하여 로그인이 제대로 수행되지 않았다. 입력한 아이디는 없는 아이디라는 메시지가 나온다.
'데브코스' 카테고리의 다른 글
채널 api 수정(+ router) (0) | 2024.09.10 |
---|---|
채널 api 설계 ( 생성, 조회, 삭제, 수정 ) (1) | 2024.09.09 |
[JS] Object.keys() (1) | 2024.09.09 |
회원 api 설계 (회원 가입, 회원 조회, 회원 탈퇴) (0) | 2024.09.08 |
예외 처리 (2) | 2024.09.07 |