• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

로그아웃시 refresh token 은 만료 시간 업데이트 했지만 access token 은 만료 시간 업데이트 못하는건가요?

22.09.22 23:11 작성 조회수 1.34k

1

로그아웃 하게된다면

웹 브라우저시에 쿠키 및 로컬 스토리지에

 

아직 access token 이 남아 있을텐데

다른 사용자가 이걸 발견하고 이용하면 문제 있는거 아닌가요??

답변 1

답변을 작성해보세요.

1

안녕하세요 리나님

 

access token 같은 경우는 그래서 보통 만료시간을 짧게 가져갑니다. 탈취를 당하더라도 만료시간 자체를 짧게 가기 때문에 조금 덜 치명적이죠. 물론 애초에 탈취당하면 안되겠지만요.

 

보안이 중요한 서비스라면 access token 자체를 로그아웃 시 redis같은 캐시 서버에 저장을 해둡니다. 그리고 서버로 요청이 왔을 때 redis에 해당 access token이 존재하는지 보면됩니다. 해당 access token이 redis에 있다면 만료된 토큰인것이죠. 데이터베이스 조회를 하는게 아니라 캐시 서버를 사용하기 때문에 성능적으로도 더 좋을꺼구요.

 

이런거를 JWT Blacklist라고 부르는데 참고할만한 블로그도 전달드립니다!

https://velog.io/@boo105/Redis-%EB%A5%BC-%ED%86%B5%ED%95%9C-JWT-Blacklist-%EA%B5%AC%ED%98%84