데이터베이스에서 유저의 토큰을 삭제하면 인증이 되지 않아 로그인 기능이 풀려버리기 때문에
해당 유저의 토큰을 지워주면 된다.
로그인 된 상태에서 토큰을 지워 auth 인증으로 확인해서 로그아웃을 해야하기 때문에 미들웨어로 auth를 넣어준다.
app.get('/api/users/logout', auth, (req,res) => {})
User 모델을 가져와서 User를 찾은 후, User 데이터에 대한 업데이트를 시켜줘야 한다.
따라서, .findOneAndUpdate()
메서드를 사용한다.
User.findOneAndUpdate()
User.findOneAndUpdate(
{_id:req.user._id} // User의 아이디를 찾고,
{token: ""} // token을 지워준다.
... // callback function
)
정상적으로 잘 작동하는 것을 확인할 수 있다.