
[Spring] DB를 사용한 JWT 인증에서 로그아웃을 구현해보자
·
Spring
들어가며Spring 프로젝트에서 로그인(인증)을 JWT로 구현해 냈다.나는 데이터베이스를 전혀 사용하지 않는 Spring Security 스프링 `기본 JWT 방식이 아닌`, DB에 인증 테이블을 만들고 User의 Id와 Refresh Token을 같이 저장한 방법을 썼다. 그 이유는 아래에서 얘기해 보자. 이제 로그아웃을 만들면서 하게 된 고민과 과정을 나열해 보겠다.(처음엔 별생각 없이 Refresh Token을 테이블에서 삭제하는 삽질을..) 기본 JWT 방식으로는 안전한 로그아웃을 구현이 어려울걸?기본 JWT 방식에서는 서버가 토큰 상태를 제어할 수 없어 안전한 로그아웃 구현이 어렵다.그 이유는 토큰 발급 후 서버는 토큰 관리 권한을 잃어버리는데, 이는 서버 어디에도 `사용자 정보`와 `만료 ..