You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refresh token의 저장소로 Redis를 사용하면 빠른 접근 속도로 사용자 로그인 시 (refresh token 발급) 병목이 발생하지 않습니다.
또한, Redis의 TTL 설정을 통해서 자동으로 만료된 토큰을 제거하거나 만료처리하기에 적합합니다. 기존 방식대로 RDB에 저장할 경우, 스케줄 잡을 통해서 만료된 Refresh Token을 관리해야 할텐데, 이러한 작업들을 따로 할 필요없이 TTL 설정만으로 구현 가능합니다.
Redis에 저장된 Refresh Token이 손실되더라도 서비스에 큰 타격은 없습니다. 최악의 경우는 다시 로그인을 하는 경우이기 때문에 Redis를 사용하여 Refresh Token을 저장하는 방식이 실보다 득이 많다고 생각합니다.
Redis에서 Refresh Token을 관리하는 동작은 아래와 같습니다.
유저가 로그인 시 Redis에 Refresh Token을 저장한다. 이때, 토큰 만료 시간에 맞게 TTL을 설정한다.
유저가 로그아웃 시 Redis에 있는 Refresh Token을 만료 여부와 상관없이 삭제한다.
Access Token이 만료되어 재발급 요청이 들어오면, Redis에서 우선 Refresh Token을 조회한다. 만약 삭제되었거나 만료되었다면, 유저에게 재로그인을 하라는 응답을 준다. 만약 만료되지 않았다면, 요청에 담긴 token과 Redis에 저장된 token을 비교하고, 일치한다면 Access Token을 재발급하는 로직으로 넘어간다.
To-do
인증 로직에서 Redis 적용하기
ETC
The text was updated successfully, but these errors were encountered:
Description
Refresh token의 저장소로 Redis를 사용하면 빠른 접근 속도로 사용자 로그인 시 (refresh token 발급) 병목이 발생하지 않습니다.
또한, Redis의 TTL 설정을 통해서 자동으로 만료된 토큰을 제거하거나 만료처리하기에 적합합니다. 기존 방식대로 RDB에 저장할 경우, 스케줄 잡을 통해서 만료된 Refresh Token을 관리해야 할텐데, 이러한 작업들을 따로 할 필요없이 TTL 설정만으로 구현 가능합니다.
Redis에 저장된 Refresh Token이 손실되더라도 서비스에 큰 타격은 없습니다. 최악의 경우는 다시 로그인을 하는 경우이기 때문에 Redis를 사용하여 Refresh Token을 저장하는 방식이 실보다 득이 많다고 생각합니다.
Redis에서 Refresh Token을 관리하는 동작은 아래와 같습니다.
To-do
ETC
The text was updated successfully, but these errors were encountered: