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

용준님의 프로필 이미지
용준

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

HOC와 권한분기 실습

logoutUser API 요청 시 에러 원인을 모르겠습니다...

해결된 질문

작성

·

329

0

 로그인 정상 진행되었고 로그아웃 api 요청 시 토큰값 정상적으로 전달하고 있습니다.

api 요청 후 이런 에러가 발생해요

에러가 해결이 안돼서 한번 봐주시면 감사하겠습니다

그리고 만약 logoutUser 정상적으로 동작되면 해당 토큰을 만료시키는 방식인건가요?

 

강의 이해하기 쉽게 잘 알려주셔서 늘 감사합니다~~

답변 2

0

jwt must be provided라는 에러가 뜨는데 혹시 어떻게 해결하셧나요? ㅠㅜ

검색을해도 모르겠어서 질문 남깁니다!!

0

노원두님의 프로필 이미지
노원두
지식공유자

용준님! 안녕하세요!

로그아웃은 브라우저백엔드에서 해줘야 할 역할 각각 다르답니다!

 

먼저 백엔드에서는, logoutUser API를 사용해서 해당 토큰의 만료시간을 조작 하더라도 토큰은 이미 브라우저에 존재하기때문에, 큰 의미가 없을 수 있어요!

따라서, 백엔드에서는 logoutUser로 들어온 토큰을 데이터베이스(레디스 등)에 저장해 놓습니다!

이 토큰들이 모여져 있는 데이터베이스 테이블을 블랙리스트라고 불러요!

그리고, 다음부터 인가를 진행할 때, 인가에 성공하더라도 혹시 이전에 로그아웃한 적이 있는지 블랙리스트를 한 번 더 확인한답니다!

 

다음으로 브라우저에서는, 아래와 같은 작업들을 진행해 주세요!

  1. recoil에 저장되어있는 accessToken을 없애주는 작업

  2. 로그인하고 받아온 데이터들(ApolloClient에 캐시된 서버 데이터들)을 없애주는 작업

    => 해당 로직은 useApolloClient 에서 clearStore() 라는 함수가 제공되고 있어요!

 

용준님의 프로필 이미지
용준
질문자

친절한 설명 감사합니다.

덕분에 잘 해결했어요!

용준님의 프로필 이미지
용준

작성한 질문수

질문하기