JWT Lifecycle

access는 짧게 쓰고 refresh는 재발급 경로로 분리한다

로그인, 보호 요청, 만료 처리가 한 주기로 이어질 때 인증 흐름이 예측 가능해진다.

1. Login

자격 증명 확인

LocalStrategy가 사용자를 확인하고 access token을 발급할 최소 정보를 만든다.

2. Request

보호 라우트 검증

요청마다 Bearer 토큰의 서명, 만료, payload를 JwtStrategy가 검사한다.

3. Expire

만료 이후 분기

access가 만료되면 refresh로 재발급하고, refresh도 실패하면 다시 로그인한다.

발급 책임

Signsub, roles, exp만 담아 짧게 서명한다.
Storerefresh token은 폐기할 수 있게 서버 저장소와 연결한다.

요청 책임

VerifyAuthorization 헤더에서 access token을 꺼내 검증한다.
Attach검증에 성공한 payload만 req.user로 넘긴다.

운영 기준: access 실패는 재발급 시도, refresh 실패는 토큰 폐기와 재로그인으로 명확히 나눈다.