로그 아웃을 하기 위해서는 로그 아웃 하려는 유저의 DB를 찾아 해당 유저의 토큰을 제거합니다.
Auth 인증 권한을 이용한 방법으로 DB에 있는 토큰이 클라이언트 사이드 쿠키에 위치한 토큰과 같지 않다면 권한이 풀리게 됩니다.
app.get("/api/users/logout", auth, (req, res) => {
User.findOneAndUpdate();
});
User.findOneAndUpdate()는 유저를 찾고 해당 유저를 업데이트하는 기능이 있기에 해당 기능을 이용해 토큰의 값을 지워줄 수 있습니다.
User.findOneAndUpdate({ _id: req.user._id }, { token: "" }, (err, user) => {
if (err) return res.json({ success: false, err });
return res.status(200).send({
success: true,
logout: "로그 아웃 완료",
});
});
Postman을 이용해 로그 아웃을 시도해보고 MongoDB에 토큰 값이 없어지는지까지 확인