BoilerPlate Code 08 - 로그아웃 기능 만들기(Logout Route)

Ji Yeon Park·2021년 1월 9일
0

Create Boilerplate Code

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

✍🏻 로그아웃 기능 만들어보기!

🔖 로그아웃 라우트 구현 순서

1️⃣ 로그아웃 Route를 만든다.

2️⃣ 로그아웃 하려는 유저를 데이터베이스에서 찾는다.

3️⃣ 그 유저의 토큰을 지워준다.


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


✅ 로그아웃 라우트 구현하기

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
)

*️⃣ 완성된 코드


✅ Postmand으로 테스트하기

*️⃣ Register

*️⃣ Login

*️⃣ LogOut

정상적으로 잘 작동하는 것을 확인할 수 있다.


📚 Reference

출처 :
https://www.inflearn.com/course/%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%85%B8%EB%93%9C-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EA%B8%B0%EB%B3%B8/lecture/37076?tab=question&q=123802

profile
Frontend Developer
post-custom-banner

0개의 댓글