사용자가 유저인 API 에 모두 적용( jwt 검증)
기존 엑세스토큰 검증후 만요되었으면
401, message=”만료됨” 리턴
사용자가 유저인 API 에 모두 적용( jwt 검증)
async def delete_refresh_token(request: Request, db):
token = request.cookies.get("refresh_token")
if not token:
return
try:
payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
jti = payload.get("jti")
if jti:
await db.refresh_tokens.delete_one({"jti": jti})
except JWTError:
pass # 디코딩 실패 시 무시
{
"jti": "uuid-refresh-123",
"expires_at": ISODate("2025-10-06T17:12:00Z")
}
리프레시토큰은 이런식으로 엑세스토큰이랑 함께
from fastapi.responses import Response
def set_refresh_cookie(response: Response, token: str):
response.set_cookie(
key="refresh_token",
value=token,
httponly=True,
secure=True,
samesite="Strict",
max_age=86400 # 1일
)