JWT는 인증과 인가를 동시에 처리할 수 있는 구조를 가진다.

인증 (Authentication)

“이 요청을 보낸 사용자가 누구인가?” ”유효한 로그인 상태인가?”

JWT에서 인증이란?

: 클라이언트가 전달한 JWT가 유효한지 검증하는 과정

인가 (Authorization)

“이 사용자가 이 API를 호출할 권한이 있는가?”

JWT에서 인가란?

{
  "sub": "20",
  "role": "USER", // USER(일반 사용자 API만 허용), ADMIN(관리자 API 허용)
  "exp": 1736073600
}

→ 이때 서버는 DB 조회없이 토큰의 role만 보고 판단 (Stateless 인가)

Refresh Token은 왜 인가에 사용하지 않을까?