왜 토큰을 2개로 나눌까? 🤔
- 토큰 유효기간이 긴 경우, 탈취 시 장시간 악용 가능 (보안 취약)
- 토큰 유효기간이 짧은 경우, 로그인 빈도 수가 많아짐 (사용자 불편)
API 요청 시 인증된 사용자임을 증명하기 위한 토큰 → “지금 이 요청을 해도 되는 사용자인가?”
GET /api/products HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
{
"sub": "20",
"role": "USER",
"exp": 1736073600
}
sub)
role)
exp)
만료된 Access Token을 재발급받기 위한 토큰
{
"sub": "20",
"exp": 1738675200
}
[1] Access Token 만료
↓
[2] API 요청 → 401 Unauthorized
↓
[3] Refresh Token으로 재발급 요청
↓
[4] 새 Access Token 발급
↓
[5] 기존 API 재요청