본문 바로가기

RTR

(3)
[refactor] Lv.2.2 RTR 도입기: 진짜 로그아웃은 Refresh Token까지 지우는 것부터 로그아웃 시 refreshToken까지 어떻게 제대로 처리할 것인가?앞선 글에서는 리프레시 토큰 기반 자동 재발급(RTR) 구조를 도입하고,만료된 accessToken을 어떻게 자연스럽게 교체하는지에 대해 다뤘다. 이번 글에서는 그 마지막 퍼즐“로그아웃 시 refreshToken까지 어떻게 제대로 처리할 것인가?” 에 대해 정리해보려 한다.기존 로그아웃의 문제점처음엔 그냥 이렇게 처리했다.// 기존 로그아웃setCookie('accessToken', '', { path: '/', expires: new Date(0) });setCookie('refreshToken', '', { path: '/', expires: new Date(0) });navigate('/');간단하긴 하죠ㅎㅎ근데 문제는… 서버에 있..
[refactor] Lv.2.1 RTR 도입기: 액세스 토큰 만료? 자동 재발급으로 해결하기 지난 글에서는 Refresh Token Rotation(RTR) 구조를 도입하며로그인 시 accessToken은 응답 본문에, refreshToken은 HttpOnly Cookie로 내려받는 구조로 바꾼 이야기를 소개했다.2025.03.24 - [[refactor: advICE]] - [refactor] Lv.2 RTR 도입기: 쿠키 기반 로그인 응답 처리 [refactor] Lv.2 RTR 도입기: 쿠키 기반 로그인 응답 처리📌로그인에 새 생명을! Refresh Token Rotation(RTR) 도입기서비스에서 가장 중요한 기능 중 하나는 로그인이다.사용자 인증은 당연히 돼야 하고 로그인 상태가 유지되어야 하며 로그인 만료 시 사용자juncci.tistory.com 이번에는 토큰이 만료됐을 때 어떻..
[refactor] Lv.2 RTR 도입기: 쿠키 기반 로그인 응답 처리 📌로그인에 새 생명을! Refresh Token Rotation(RTR) 도입기서비스에서 가장 중요한 기능 중 하나는 로그인이다.사용자 인증은 당연히 돼야 하고 로그인 상태가 유지되어야 하며 로그인 만료 시 사용자 경험이 깨지면 안 된다.그런데 우리 서비스에서는 JWT 기반 로그인을 하고 있음에도 불구하고 로그인이 일정 시간 후에 자동으로 끊기는 문제가 있었다.처음엔 단순히 유효기간을 늘리면 될 줄 알았지만… 그건 근본적인 해결이 아니었다...그래서 이번에 아예 리프레시 토큰을 기반으로 한 ‘RTR(Refresh Token Rotation)’ 구조를 도입하게 되었다.기존 문제 상황: 로그인 만료 → 다시 로그인 처음에는 로그인 시 서버로부터 다음과 같은 응답을 받았습니다.응답 본문{ "code": "..