JWT 디코더
JSON Web Token을 붙여넣어 헤더와 페이로드를 정렬된 JSON으로 확인하세요. exp, iat, nbf 같은 타임스탬프는 읽기 쉬운 날짜로 변환되며, 만료된 토큰은 표시됩니다.
JWT의 구조
JWT는 점으로 구분된 세 부분 header.payload.signature로 구성됩니다. 헤더와 페이로드는 패딩 없는 Base64URL로 인코딩된 JSON 객체입니다. 서명은 헤더에 지정된 알고리즘(alg), 예를 들어 HS256 또는 RS256으로 앞의 두 부분에 대해 계산됩니다.
등록된 클레임
| 클레임 | 의미 |
|---|---|
iss | 발급자 |
sub | 주체 (보통 사용자 ID) |
aud | 대상(Audience) |
exp | 만료 시각 (1970년 이후 경과 초) |
nbf | 이 시각 이전에는 유효하지 않음 |
iat | 발급 시각 |
jti | 고유 토큰 ID |
JavaScript로 JWT 디코딩하기
const [h, p] = token.split('.');
const json = (s) => JSON.parse(new TextDecoder().decode(
Uint8Array.from(atob(s.replace(/-/g, '+').replace(/_/g, '/')), (c) => c.charCodeAt(0))));
console.log(json(h), json(p)); 자주 묻는 질문
여기에 JWT를 붙여넣어도 안전한가요?
디코딩은 전적으로 브라우저에서 이루어지며 서버로 전송되는 것은 없습니다. 그래도 운영 환경 토큰은 비밀로 취급하세요.
디코딩 시 서명도 검증하나요?
아니요. JWT는 Base64URL일 뿐이라 누구나 디코딩할 수 있습니다. 검증에는 비밀 키나 공개 키가 필요하며 서버에서 수행해야 합니다.
댓글 (0)
“JWT 디코더”에 대한 질문, 아이디어, 버그가 있으신가요? 댓글을 남기거나 도구를 평가하거나 다른 사람에게 답글을 달아 주세요.
아직 댓글이 없습니다. 첫 번째로 의견을 남겨 주세요!