JWT를 디코딩하는 방법
- 1토큰을 붙여넣으세요. 앞에 붙은 “Bearer ”는 자동으로 제거됩니다.
- 2헤더와 페이로드를 정리된 JSON으로 확인하세요.
- 3“시간 클레임”에서 토큰이 만료되었는지, 아직 유효하지 않은지 확인하세요.
JWT의 구성
JWT는 점으로 이어진 세 개의 Base64url 문자열입니다. 헤더와 페이로드는 JSON이고, 서명은 바이너리이며 발급자의 키로만 검증할 수 있습니다.
Header토큰 유형과 서명 알고리즘(예: HS256, RS256).
Payload사용자와 토큰 자체에 대한 클레임.
Signature앞의 두 부분이 바뀌지 않았음을 증명합니다.
등록된 클레임
iss발급자: 토큰을 만든 주체sub주체: 보통 사용자 IDaud대상: 토큰을 사용할 서비스exp만료 시간, 1970년부터의 초nbf유효 시작: 이 시간 전에는 토큰이 무효iat발급 시간jtiJWT ID: 토큰의 고유 식별자자주 묻는 질문
실제 토큰을 여기에 붙여넣어도 안전한가요?
토큰은 브라우저에서 디코딩되며 어디로도 전송되지 않습니다. 그래도 유효한 토큰은 비밀번호처럼 다루고, 신뢰하지 않는 도구에는 붙여넣지 마세요.
왜 서명을 검증하지 않나요?
검증하려면 발급자의 비밀 키나 공개 키가 필요합니다. 디코딩은 토큰이 주장하는 내용만 보여 줍니다. 서버에서는 서명을 검증하기 전까지 이 클레임을 절대 믿지 마세요.
JWT는 암호화되어 있나요?
일반적인 서명된 JWT는 암호화되어 있지 않습니다. 토큰을 가진 사람은 누구나 페이로드를 읽을 수 있으며, 페이로드는 Base64url로 인코딩된 JSON일 뿐입니다. 비밀 정보를 넣지 마세요.
날짜는 어느 시간대인가요?
기기의 현지 시간대입니다. 페이로드의 원래 값은 UTC 기준 초 단위 Unix 타임스탬프입니다.