[Node.js] Express + MongoDB part#6 로그 아웃 구현

Duboo·2022년 9월 29일
1

Server + DB

목록 보기
6/6
post-thumbnail
post-custom-banner

로그 아웃을 하기 위해서는 로그 아웃 하려는 유저의 DB를 찾아 해당 유저의 토큰을 제거합니다.

Auth 인증 권한을 이용한 방법으로 DB에 있는 토큰이 클라이언트 사이드 쿠키에 위치한 토큰과 같지 않다면 권한이 풀리게 됩니다.

Index.js - /api/users/logout

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에 토큰 값이 없어지는지까지 확인

profile
둡둡
post-custom-banner

0개의 댓글