JWT 만료 흐름

Sirius·2025년 9월 12일

프로젝트

목록 보기
7/8

Access Token 만료 흐름

A. 반응형

  1. 프론트가 보호 API 호출 → Authorization: Bearer <access>
  2. 리소스 서버(백엔드)가 access 만료 감지 → 401 반환
    • 가능하면 헤더 포함: WWW-Authenticate: Bearer error="invalid_token", error_description="expired"
  3. 프론트가 401 인터셉트 → POST /auth/refresh 호출
  4. 서버가 refresh 검증 → 새 access(+) 새 refresh(회전 사용 시) 발급
  5. 프론트가 원래 API 1회 재시도 → 정상 응답

실패 분기: 3)에서 /auth/refresh가 401/403/400(invalid_grant)이면 로그인 페이지로 리다이렉트

B. 선제 갱신

  • 프론트가 access의 exp를 디코드해 만료 30~60초 전 POST /auth/refresh 실행
  • 성공 시 토큰 교체, 실패 시 즉시 재로그인

Refresh Token 만료 흐름

1) 사용자 활동 중 만료/무효(로그아웃·블랙리스트·재사용탐지 등)

  1. 프론트가 /auth/logout 호출
  2. 프론트: 로컬 access 정리 + 리프레시 쿠키 삭제(서버가 Set-Cookie; Max-Age=0권장) → 재로그인

2) 오랫동안 미사용하다가 돌아온 경우

  • 첫 API 호출이 401 → 프론트가 /auth/refresh 시도 → refresh도 만료라 실패 → 재로그인

0개의 댓글