로그아웃

holang-i·2021년 6월 4일
0

Node & React

목록 보기
11/11
post-thumbnail

Logout

  • logout route를 만든다.
  • 로그아웃하려는 유저를 데이터베이스에서 찾는다.
  • 해당 유저의 토큰을 지운다.

토큰을 지우는 이유

auth 기능 중 인증을 할 때 클라이언트에 있는 쿠키 안의 토큰을 가져와서
데이터베이스에 있는 토큰과 같은 지 확인을 함으로써 인증을 처리했다.

그런데 만약에 데이터베이스에 토큰이 없다면, 클라이언트의 토큰과 비교가 안되기 때문에 인증을 할 수 없어서 로그인 기능이 풀려버린다.

그래서 데이터베이스에서 유저의 토큰을 지워주면 된다.


로그아웃 라우터 만들기

app.get('/api/users/logout', auth, (req, res) => {
  User.findOneAndUpdate({ _id: req.user._id }, { token: '' }, (err, user) => {
    if(err) return res.json({ success: false, err });

    return res.status(200).send({
      success: true,
    });
  });
});

mongoDB에서 token이 있는 id로 진행을 해 볼 것이다.

token이 있다는 것은 로그인이 되어있다는 의미!


먼저 로그아웃을 시킨다.

그리고 DataBase에 Token이 있는 지 확인 해 볼 것이다.

이로서 로그아웃 기능을 완료했다!






따라하며 배우는 노드, 리액트 시리즈를 통해 개념을 익히면서 실습하고 있습니다.
https://bit.ly/3wGxKGC

profile
🌿 주니어 프론트엔드 개발자입니다! 부족하거나 잘못된 정보가 있다면 알려주세요:)

0개의 댓글