프로젝트 1 - 로그아웃 기능

⭐프로젝트 1 - 로그아웃 기능

📕로그아웃

로그아웃 기능을 만들기 위해 로그아웃 라우트를 만들자

기능은 아래와 같이 구현할 것이다

  1. 로그아웃 하려는 유저를 데이터베이스에서 찾는다
  2. 찾은 유저의 토큰을 지워준다

로그인을 할 때 토큰을 만들어서 저장하고, 쿠키에도 저장하기 때문에

DB에 있는 토큰을 지워주면 Auth에서 권한이 없다고 나올 것이다

📗구현

index.js에서 라우트를 만들자

app.get('/api/users/logout', auth, (req, res) => {
  User.findByIdAndUpdate({ _id: req.user._id }, { token: "" }, (err, user) => {
    if(err) return res.json({ success: false, err})
    return res.status(200).send({ success: true })
  })
})

findByIdAndUpdate 메소드는 몽고DB의 메소드인데 첫번째 매개변수로 데이터를 찾고,

두번째로는 업데이트할 사항을 넣어준다

그리고 콜백함수로 성공했을 때, 실패했을 때 실행할 코드를 적은 것이다

이게 전부이다

📘로그아웃 확인

포스트맨으로 확인해보자

우선 위처럼 로그인을 하였다

그리고 auth를 확인해 보니 isAuth: true로 리턴되었다

이후 로그아웃을 완료하였고 다시 auth를 확인해보자

이런식으로 isAuth: false가 나오는 것을 볼 수 있다

좋은 웹페이지 즐겨찾기