Hchanghyeon / dev-troubleshooting

개발하며 마주쳤던 크고 작은 문제들과 고민들
1 stars 0 forks source link

[인증] RefreshToken 로그아웃 처리에 대한 고민 #4

Closed Hchanghyeon closed 11 months ago

Hchanghyeon commented 11 months ago

고민

현재 제가 진행하고 있는 프로젝트에서는 RefreshToken을 Database에 저장하고 로그아웃시 테이블에서 레코드를 삭제하는 로직으로 구현되어있습니다. 클라이언트에서 로그아웃 버튼을 클릭했을 때 /auth/logout API를 요청하여 RefreshToken을 DB에서 삭제하는 방식인거죠. (이때 로그인 된 사용자만 로그아웃을 할 수 있기 때문에 AccessToken을 통해 API 인증을 수행합니다.)

근데 만약 클라이언트에서 로그아웃 버튼을 누르는 것이 아닌 RefreshToken이 만료되었다면 어떻게 처리하지?

클라이언트에서 RefreshToken이 만료된 경우 Access Token으로 로그아웃 API를 요청할 수 없게 됩니다. (토큰이 만료되었기 때문에) 그럼 RefreshToken은 데이터베이스에 영원히 쌓이는 문제가 생깁니다.

이 문제를 어떻게 하면 해결 할 수 있을까요? 🤔🤔

Hchanghyeon commented 11 months ago

해결: RefreshToken 로그아웃 처리에 대한 고민