최종 변경 : 2024.03.15
로그아웃 기능
로그아웃 기능을 통해 추가적인 JWT 탈취 시간을 줄일 수 있다.
- 로그아웃 버튼 클릭시
- 프론트엔드측 : 로컬 스토리지에 존재하는 Access 토큰 삭제 및 서버측 로그아웃 경로로 Refresh 토큰 전송
- 백엔드측 : 로그아웃 로직을 추가하여 Refresh 토큰을 받아 쿠키 초기화 후 Refresh DB에서 해당 Refresh 토큰 삭제 (모든 계정에서 로그아웃 구현시 username 기반으로 모든 Refresh 토큰 삭제)
백엔드에서 로그아웃 수행 작업
- DB에 저장하고 있는 Refresh 토큰 삭제
- Refresh 토큰 쿠키 null로 변경
스프링 시큐리티에서의 로그아웃 구현의 위치
일반적으로 스프링 시큐리티 의존성을 프로젝트에 추가했을 경우 기본 로그아웃 기능이 활성화 된다. 해당 로그아웃을 수행하는 클래스의 위치는 필터단이다.