로딩 중...
로딩 중...
JSON 웹 토큰을 붙여넣어 헤더, 페이로드 및 서명으로 분할합니다. exp 및 iat와 같은 타임스탬프는 읽기 쉬운 날짜로 포맷되며, 클레임 테이블은 모든 필드를 한눈에 보여줍니다. 완전히 브라우저에서 실행됩니다.
JSON 웹 토큰(JWT)은 두 당사자 간의 클레임을 표현하는 간결하고 URL 안전한 방법입니다. 세 개의 base64url 인코딩된 세그먼트가 점으로 연결되어 있습니다: 서명 알고리즘을 명시하는 헤더, 클레임을 담고 있는 페이로드, 그리고 토큰이 서명 키를 보유한 누군가에 의해 발급되었음을 증명하는 서명입니다. JWT는 OAuth 2.0 액세스 토큰, OpenID Connect ID 토큰 및 대부분의 무상태 세션 시스템의 기본 형식입니다. 이 디코더는 토큰을 분할하고 각 세그먼트의 원시 JSON을 보여줍니다 — 서명을 검증하지 않는데, 이는 발급자의 비밀 키 또는 공개 키가 필요하기 때문입니다.
Authorization 헤더, 디버그 로그 또는 URL에서 JWT를 복사하세요. eyJ...eyJ...서명과 같이 세 개의 세그먼트로 구성되어야 합니다.
헤더는 알고리즘(alg)과 토큰 유형(typ)을 보여줍니다. 페이로드는 모든 클레임 — sub, iss, aud, exp, iat 및 모든 사용자 정의 필드를 나열합니다.
유효성 배너는 토큰이 만료되었는지, 활성 상태인지, 아직 유효하지 않은지(nbf)를 즉시 알려줍니다. 시간 클레임은 UTC 및 상대적 형태로 표시됩니다.
헤더 또는 페이로드 패널의 복사 버튼을 사용하여 디버깅, 공유 또는 다른 도구에 붙여넣기 위한 깨끗한 JSON을 가져옵니다.
JWT는 점으로 연결된 세 개의 base64url 세그먼트로 구성됩니다:
header.payload.signature
헤더 — 서명 알고리즘을 설명하는 JSON
{ "alg": "HS256", "typ": "JWT" }
페이로드 — 클레임을 담고 있는 JSON
{ "sub": "1234", "exp": 1700000000 }
서명 — 헤더.페이로드에 대한 HMAC 또는 RSA, base64url 인코딩
표준 시간 클레임(에포크 이후 초):
exp = 만료 시간
iat = 발급 시간
nbf = 유효 시작 전헤더와 페이로드는 누구나 읽을 수 있는 일반 JSON입니다 — base64url은 인코딩이지 암호화가 아닙니다. 서명은 토큰을 신뢰할 수 있게 만드는 요소입니다: 발급자가 비밀 키(HS* 알고리즘의 경우) 또는 개인 키(RS*/ES* 알고리즘의 경우)를 사용하여 처음 두 세그먼트에 대해 계산합니다. 토큰을 수신한 서버는 일치하는 비밀 키 또는 공개 키로 서명을 다시 계산하고 일치하지 않는 것은 거부합니다. 그래서 페이로드에 비밀번호와 같은 민감한 데이터를 절대 넣어서는 안 되며, 이 도구는 오직 디코딩만 수행하는 이유입니다 — 검증은 발급자의 키가 필요합니다.
| 입력 | 출력 |
|---|---|
헤더: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 | { "alg": "HS256", "typ": "JWT" } HMAC-SHA256 토큰을 위한 최소한의 헤더입니다. |
exp 클레임이 있는 페이로드 | { "sub": "1234", "exp": 1700000000 } exp는 에포크 이후 초입니다 — UTC 기준 2023-11-14. |
만료된 토큰 | 토큰 만료됨 · 만료일 2024-01-01 (3개월 전) exp가 과거일 때 유효성 배너가 빨간색으로 바뀝니다. |
형식이 잘못된 토큰(세그먼트가 두 개만 있음) | 유효하지 않은 토큰: 3개의 세그먼트를 예상했으나 2개가 발견됨 JWT는 정확히 세 개의 점으로 구분된 base64url 부분을 가져야 합니다. |
마지막 업데이트