본문 바로가기
Web/React Node js

노드 기초 강의 (11) - 로그아웃 기능

by SeleniumBindingProtein 2022. 2. 28.
728x90
반응형

1. logout route 구현 순서

   => logout route 만듦

   => logout 하려는 유저를 데이터베이스에서 찾음

   => 그 유저의 토큰을 지움

  - 데이터베이스에서 유저의 토큰을 삭제하면 인증이 되지 않아 로그인 기능이 풀려버리기 때문에 해당 유저의 토큰을 지워주면 됨

 

2. logout route 구현

 1) Get을 이용해서 logout route 코드 작성

  - 로그인 된 상태에서 토큰을 지워 auth 인증으로 확인해서 로그아웃을 해야하기 때문에 미들웨어로 auth를 넣어줌

app.get('/api/users/logout', auth, (req,res) => {})

 2) 로그아웃 하려는 유저를 데이터베이스에서 찾기

  - User 모델을 가져와서 User를 찾은 후, User 데이터에 대한 업데이트를 시켜줘야 하며, .findOneAndUpdate() 메서드를 사용함

User.findOneAndUpdate()

 3) 그 유저의 토큰을 지워줌

User.findOneAndUpdate(
  {_id:req.user._id} // User의 아이디를 찾고,
  {token: ""} // token을 지워준다.
	... // callback function
)

[결과 출력]

012

728x90
반응형

댓글