Refresh Token 기반 인증과 실패 요청 자동 재시도
문제
관리 시스템 특성상 한 화면에 오래 머물며 조회·등록·수정 작업을 이어가는 경우가 많아, Access Token 만료 시 작업 흐름이 끊기지 않도록 자연스러운 세션 연장과 보안 처리가 필요했습니다.
구현
보안을 위해 Access Token은 메모리에, Refresh Token은 HttpOnly Cookie에 분리 보관하고, 새로고침 시에는 Refresh Token으로 세션을 복원하도록 구성했습니다.
API 호출에서 401 응답이 발생하면 Refresh Token으로 Access Token을 자동 재발급받은 뒤, 실패했던 기존 API 요청을 자동으로 재실행하도록 연결했습니다.
재시도 횟수를 제한하고 Refresh 요청 전용 인터셉터를 분리해 토큰 갱신 중 무한 루프가 발생하지 않도록 방지했으며, Refresh Token까지 만료·무효화된 경우에는 즉시 로그아웃 처리했습니다.
결과
Access Token 만료 시 토큰 갱신과 실패 요청 재시도를 연결해, 작업 중 다시 로그인해야 하는 상황을 줄였습니다.