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

리나님의 프로필 이미지
리나

작성한 질문수

생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현

로그아웃

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

작성

·

1.6K

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

 

리나님의 프로필 이미지
리나

작성한 질문수

질문하기