본문 바로가기

데브코스

회원 api 설계 ( 로그인 )

로그인 기능 고도화

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