프로젝트 1 - 로그아웃 기능
⭐프로젝트 1 - 로그아웃 기능
📕로그아웃
로그아웃 기능을 만들기 위해 로그아웃 라우트를 만들자
기능은 아래와 같이 구현할 것이다
- 로그아웃 하려는 유저를 데이터베이스에서 찾는다
- 찾은 유저의 토큰을 지워준다
로그인을 할 때 토큰을 만들어서 저장하고, 쿠키에도 저장하기 때문에
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가 나오는 것을 볼 수 있다
Author And Source
이 문제에 관하여(프로젝트 1 - 로그아웃 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@qnrl3442/프로젝트-1-로그아웃-기능저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)