JWT 디코더 (온라인)
JSON Web Token을 붙여넣어 실제로 무엇이 들어 있는지 확인하세요. 헤더와 페이로드는 정렬된 JSON으로, 만료와 유효 시작 시각은 쉬운 말로 옮겨 보여 줍니다.
토큰
디코딩 결과
이 도구에 대하여
JWT는 점으로 이어진 세 개의 Base64url 조각입니다. 헤더, 페이로드, 서명이죠. 앞의 둘은 부호화된 JSON일 뿐이라 어떤 토큰이든 키 없이 읽을 수 있습니다. 이 페이지의 목적이 그것이고, 동시에 토큰에 비밀을 담으면 안 되는 이유이기도 합니다. 서명은 보여 주지만 검증하지는 않습니다. 검증에는 키가 필요한데 키는 브라우저 탭에 둘 것이 아니기 때문입니다. 사람들이 여기 오는 이유는 대개 시간 클레임이므로, exp와 nbf는 사용자의 시계와 비교해 원시 epoch 숫자가 아니라 "3일 뒤 만료" 같은 형태로 알려 줍니다.
사용 방법
- 1토큰을 왼쪽 패널에 붙여넣습니다. Bearer 접두사는 붙어 있어도 잘라 냅니다.
- 2오른쪽에서 디코딩된 헤더와 페이로드를 읽습니다. 만료는 상태 표시줄에 나옵니다.
- 3페이로드가 커서 일부를 접고 싶다면 트리로 전환하세요.
자주 묻는 질문
›서명을 검증해 주나요?
아니며, 브라우저 도구로는 불가능합니다. 검증에는 비밀 키나 공개 키가 필요한데, 비밀을 웹 페이지에 붙여넣는 것이야말로 하면 안 되는 일입니다. 여기서는 토큰이 주장하는 내용을 읽을 수 있게 디코딩만 합니다. 검증은 키를 가진 서버에서 하세요.
›JWT는 암호화되어 있나요?
아닙니다. 헤더와 페이로드는 Base64url이며 암호화가 아니라 부호화입니다. 토큰을 가진 사람은 누구나 모든 클레임을 읽을 수 있고, 그래서 JWT에는 비밀번호나 카드 번호 같은 비밀을 절대 담으면 안 됩니다.
›iat, exp, nbf는 무슨 뜻인가요?
발급 시각, 만료, 유효 시작 시각이며 모두 Unix epoch 이후의 초입니다. 이 페이지는 사용자의 시계를 써서 exp와 nbf를 쉬운 말로 바꿉니다("3일 뒤 만료", "2시간 전 만료").
›토큰이 디코딩되지 않는 이유는?
대개 잘린 복사본입니다. JWT에는 점으로 나뉜 세 부분이 정확히 필요합니다. 앞에 남은 "Bearer " 때문에도 깨지고, 중간에 URL 인코딩된 토큰도 마찬가지입니다.
›제 토큰이 어딘가로 전송되나요?
아닙니다. 디코딩은 전적으로 브라우저에서 이뤄지며 업로드도, 기록도, 저장도 되지 않습니다. 살아 있는 토큰은 인증 수단이므로 여기서는 다른 페이지보다 더 중요합니다.