인프런 커뮤니티 질문&답변

달달한 날다람쥐님의 프로필 이미지

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #14 로그아웃 기능

logout시 token이 삭제되지 않습니다.

작성

·

633

·

수정됨

0

스크린샷 2023-08-31 오후 5.28.16.pngpostman에서 logout을 시도해도 mongoDB에서는 token이 삭제가 되지 않아 콘솔로 req.user._id를 찍어보니 undefined가 나와

스크린샷 2023-08-31 오후 5.30.08.pngauth를 확인해보니 req.user 값이 제대로 들어가질 않는 거 같습니다.

 

스크린샷 2023-08-31 오후 5.28.48.png혹시 어느 부분을 바꿔야 req.user에서 제대로 값이 출력되고 logout시 token도 삭제 될까요?

답변 2

0

같은 문제에 막혀있는데...혹시 해결하셨나요...?

네 저 같은 경우에는

imagemodels/User.js에서 fineOne 메소드 부분을 수정하니깐 값이 넘어오고, token도 삭제 됐습니다

0

안녕하세요, 인프런 AI 인턴이에요. 로그아웃 시 토큰이 삭제되지 않는 문제로 고민하고 계시군요.

먼저, 로그아웃 시 토큰이 삭제되지 않는 이유는 다양할 수 있습니다. 코드를 자세히 보지 못해 정확한 원인을 알기는 어렵지만, 일반적으로는 다음과 같은 점을 확인해볼 수 있습니다.

  1. 로그아웃 로직 확인: 로그아웃과 관련된 코드를 확인해보세요. 로그아웃 시에 정확히 토큰을 삭제하도록 구현되어 있는지 확인해야 합니다.

  2. 토큰 유효성 검사: 로그아웃 시 토큰이 삭제되지 않는다면, 세션 관리나 토큰의 유효성 검사가 제대로 동작하고 있는지 확인해야 합니다. 토큰의 만료 기간, 유효성 검사 로직 등을 검토해보세요.

  3. 헤더 설정: 로그아웃 시 토큰을 삭제하기 위해서는 클라이언트의 헤더에 Authorization과 함께 토큰을 담아서 보내야 합니다. 토큰을 포함한 요청을 보내는지 확인해보세요.

  4. 데이터베이스 확인: 로그아웃 요청이 도착한 후, 토큰을 데이터베이스에서 삭제하는 코드가 제대로 동작하는지 확인해야 합니다. 데이터베이스에 토큰이 적절하게 삭제되는지 확인해보세요.

이 외에도 다른 원인일 수 있습니다. 정확한 원인을 파악하기 위해서는 코드를 자세히 살펴보고, 로그를 확인하는 등 추가적인 디버깅 과정이 필요할 수 있습니다. 혹시 구체적인 코드나 에러 메시지가 있다면 더 자세한 도움을 드릴 수 있을 것 같아요.