인프라

JWT의 payload 란

유니네 라이브러리 2025. 5. 14. 18:10

Payload 란

payload는 영어로 "짐", "적재물"이라는 뜻이지만, 토큰(JWT)에서는 실제 전달하려는 "데이터 내용"을 의미한다.

 

🔐 JWT 구조에서의 Payload

JWT는 3 부분으로 구성된 문자열이다.

xxxxx.yyyyy.zzzzz

 

문자열 설명

xxxxx Header 토큰 타입과 서명 알고리즘
yyyyy Payload 실제 정보(사용자 ID, 권한, 만료 시간 등)
zzzzz Signature 토큰 위조 방지를 위한 서명

 

🔎 예시 (디코딩된 JWT Payload)

{
  "sub": "user123",
  "name": "홍길동",
  "exp": 1715688840,
  "role": "admin"
}
  • sub: 사용자 식별 ID
  • exp: 만료 시간 (UNIX timestamp)
  • role: 사용자 권한

💡 특징

📖 읽을 수 있음 payload는 Base64 인코딩이라 누구나 디코딩 가능 (보안 아님!)
🔐 서명됨 서버에서 서명된 Signature가 있으므로 변조 감지 가능
🧠 주로 claims라고도 부름 payload 안의 값들을 "claims"라고 부릅니다 (예: sub, exp, iat)

📌 요약

PayloadJWT에서 사용자의 정보나 토큰의 속성들을 담고 있는 중간 부분이다.

단, 보안 정보(password 등)는 절대 담으면 안 되고, 누구나 볼 수 있다고 가정해야 한다.