시작 사이트 등록

JWT 디코더

Developer Tools

JSON Web Token을 붙여넣으면 헤더, 페이로드, 정확한 만료 시각을 읽을 수 있습니다. 모든 처리는 기기 안에서 이루어집니다.

두 개의 점을 포함한 세 부분으로 된 토큰 전체를 붙여넣으세요.

결과

상태 —
  • 만료 —
  • 알고리즘 —
  • 토큰 유형 —
  • 페이로드 —
  • 헤더 —

입력값을 바꾸면 결과가 바로 갱신됩니다.

계산식과 규칙

  • JWT는 점으로 구분된 세 개의 Base64URL 부분으로 구성됩니다: 헤더, 페이로드, 서명.
  • Base64URL은 +를 -로, /를 _로 바꾸고 = 패딩을 제거하므로 토큰이 URL과 HTTP 헤더에서도 유지됩니다.
  • exp 클레임은 초 단위의 Unix 타임스탬프이므로, 현재 시간이 해당 숫자를 지나면 토큰이 만료됩니다.
  • 디코딩은 두 개의 JSON 부분만 읽으며 서명은 확인하지 않습니다. 서명은 서버가 검증해야 합니다.

계산 예시

데모 토큰 디코딩

입력 미리 채워진 토큰, exp = 1700003600.

결과 알고리즘 HS256, 유형 JWT, 클레임 4개, 만료 2023-11-14 23:13:20 UTC.

exp가 없는 토큰

입력 {"sub":"42","scope":"read"} 페이로드.

결과 상태에 토큰에 만료 클레임이 없어 스스로 만료되지 않는다고 표시됩니다.

잘린 토큰

입력 abc.def

결과 JWT는 디코딩하려면 세 부분이 있어야 한다는 오류가 표시됩니다.

자주 묻는 질문

디코딩하면 토큰이 진짜임을 증명할 수 있나요?

아니요. 누구나 원하는 페이로드로 토큰을 만들 수 있습니다. 비밀 키나 공개 키로 서명을 검증하는 서버만이 토큰이 귀하에 의해 발급되었는지 판별할 수 있습니다.

프로덕션 토큰을 붙여넣어도 안전한가요?

디코딩은 브라우저에서 이루어지므로 토큰이 업로드되지 않습니다. 그래도 비밀번호처럼 취급하세요. 테스트 토큰을 사용하고, 공유 화면에 붙여넣은 것은 반드시 교체하세요.

새 토큰이 이미 만료된 이유는 무엇인가요?

발급자 시계가 귀하의 시계보다 뒤처져 있거나, 초 단위가 필요한 곳에 밀리초 단위의 exp 값이 전달된 경우입니다. 이 도구는 JWT 사양에 맞춰 exp를 초로 읽습니다.

헤더나 페이로드가 JSON이 아니면 어떻게 되나요?

디코더가 오류를 보고합니다. JWT 사양은 두 부분 모두 base64url로 인코딩된 JSON 객체여야 하므로, JSON이 아닌 부분이 있다면 보통 해당 문자열은 JWT가 아닙니다.

면책 고지: 결과는 이 페이지의 계산식을 따른 참고값입니다. 실제 소요량은 재료, 시공 방식, 환경에 따라 달라지므로 주문 전에 여유분을 두세요.