본문으로 건너뛰기

JWT 디코더

JSON Web Token을 헤더, 페이로드 및 클레임으로 디코딩하고 만료 여부를 확인하며, 선택적으로 HS256, HS384 또는 HS512 서명을 검증합니다.

점으로 구분된 세 개의 Base64url 부분: 헤더.페이로드.서명.

 

이용 방법

이 도구는 클라이언트 측 JWT 디코더로, 토큰을 헤더, 페이로드 및 서명 부분으로 분리하고, 헤더와 페이로드를 Base64url 디코딩하며, 현재 시간을 기준으로 exp, iat, sub 등의 등록 클레임을 사람이 읽을 수 있는 타임스탬프와 만료 또는 유효 배지와 함께 표시합니다.

  1. 토큰 붙여넣기

    점으로 구분된 세 부분 문자열입니다.

  2. 클레임 읽기

    표준 클레임에는 레이블이 지정되며, 타임스탬프는 읽기 쉬운 날짜로 변환됩니다.

  3. 서명 검증(선택 사항)

    HS256, HS384 또는 HS512 토큰의 경우 시크릿을 붙여넣어 확인하세요.

디코딩과 검증의 차이

JWT는 점으로 연결된 세 부분으로 구성됩니다. 서명 알고리즘을 설명하는 헤더, 클레임이 포함된 페이로드, 그리고 서명입니다. 헤더와 페이로드는 암호화된 것이 아니라 Base64url로 인코딩만 되어 있으므로 누구나 키 없이 디코딩하여 읽을 수 있으며, 이 도구가 수행하는 작업이 바로 이것입니다. 서명은 토큰이 시크릿 또는 개인 키를 가진 주체에 의해 발급되었음을 실제로 증명하는 요소이며, 이를 확인하는 것은 디코딩과는 별도의 작업입니다.

  • 등록된 클레임: exp(만료 시간), iat(발급 시간), nbf(적용 시작 시간), sub(주제), iss(발급자), aud(대상) 및 jti(토큰 ID)가 인식되어 레이블이 지정되며, exp, iat, nbf는 읽기 쉬운 날짜 형식으로도 표시됩니다.
  • 만료 확인: exp 클레임이 있는 경우 해당 값과 기기의 현재 시간을 비교합니다.
  • 서명 검증: HS256, HS384 및 HS512 토큰의 경우 공유 비밀 키를 입력하면 브라우저에서 Web Crypto API를 사용하여 HMAC을 다시 계산한 뒤 토큰의 서명과 비교합니다. RS256, ES256 및 기타 공개 키 알고리즘은 공유 비밀 키가 아닌 발급자의 공개 키가 필요하지만 이 도구는 이를 지원하지 않으므로 검증 시 해당 알고리즘은 지원되지 않는 것으로 보고됩니다.

검증되지 않은 디코딩된 토큰을 신뢰하지 마세요

디코딩 과정에서는 서명을 확인하지 않기 때문에 누구나 임의의 클레임과 유효하지 않은 서명으로 JWT를 생성할 수 있습니다. 디코딩된 페이로드만으로 권한 부여 결정을 내리지 마시고, 일반적으로 토큰을 발급한 동일한 라이브러리를 사용하여 서버에서 먼저 서명을 검증하세요. 이 페이지의 모든 작업은 브라우저 내에서 실행되므로 토큰 및 검증을 위해 입력한 비밀 키는 어디로도 전송되지 않습니다.

자주 묻는 질문

JWT 토큰을 디코딩하여 페이로드를 확인하려면 어떻게 해야 하나요?

입력란에 점으로 구분된 3부분 문자열인 전체 JWT를 붙여 넣으세요. 이 도구는 점을 기준으로 문자열을 분할하고, 헤더 및 페이로드 세그먼트를 base64url 디코딩한 후, 각 클레임을 구조화된 표로 표시합니다. exp(만료 시간), iat(발급 시간), sub(주제)와 같은 표준 클레임은 레이블이 지정되며 읽기 쉬운 날짜 형식으로 변환됩니다.

JWT를 디코딩하면 서명이 검증되나요?

아니요, 디코딩과 검증은 서로 다른 두 가지 작업입니다. 디코딩은 암호화 서명을 확인하지 않고 헤더와 페이로드를 읽는 과정입니다. 유효해 보이는 디코딩된 JWT도 위조되었을 수 있습니다. 이 도구는 공유 비밀 키를 제공할 경우 HS256, HS384 또는 HS512 서명을 추가로 검증할 수 있지만, RS256, ES256 및 기타 공개 키 알고리즘은 개인 키에 대응하는 공개 키가 있는 서버에서 여전히 검증되어야 합니다.

운영 환경의 JWT를 이 디코더에 붙여 넣어도 안전한가요?

이 디코더는 전적으로 브라우저에서 실행되며, 토큰이나 검증을 위해 입력한 비밀 키는 어떠한 서버로도 전송되지 않습니다. 모범 사례로서 민감한 접근 권한을 부여하는 실제 토큰은 어디에도 붙여 넣지 마세요. 운영 환경 토큰을 디버깅해야 하는 경우 테스트용 사본이나 만료 시간이 짧은 토큰을 사용하세요.

이 도구를 사용하여 JWT가 만료되었는지 어떻게 확인할 수 있나요?

디코딩 후 페이로드 섹션에서 exp 클레임을 확인하세요. 이 도구는 Unix 타임스탬프를 사람이 읽을 수 있는 날짜로 변환하고 기기의 현재 시간을 기준으로 만료 또는 유효 배지를 표시합니다. 현재 시간이 exp 값을 지났다면 토큰은 만료된 것이며 올바르게 구현된 모든 서버에서 거부됩니다.

이 디코더는 어떤 JWT 알고리즘을 지원하나요?

헤더와 페이로드를 읽는 것은 Base64URL 디코딩만 포함하며 이는 알고리즘에 무관하므로 HS256, RS256, ES256 등 어떤 알고리즘으로 서명된 토큰도 디코딩할 수 있습니다. 이 도구에서의 서명 검증은 대칭 키 방식인 HS256, HS384 및 HS512 알고리즘으로 제한됩니다. RS 및 ES 토큰은 공유 비밀 대신 공개 키가 필요하므로 여기서는 검증이 지원되지 않는 것으로 보고됩니다.