본문으로 건너뛰기
EVOA Toolbox

JWT 디코더

JSON Web Token의 헤더와 페이로드를 디코딩하고 exp, iat, nbf를 날짜로 보여 줍니다. 디코딩은 검증이 아니며 서명은 확인하지 않습니다.

브라우저에서 로컬로 처리됩니다. 텍스트는 업로드되지 않습니다.

도구를 불러오는 중…

도구 소개

JSON Web Token을 붙여넣으면 그 안의 내용을 읽을 수 있습니다. 도구가 토큰을 헤더, 페이로드, 서명으로 나누고 Base64url 부분을 UTF-8로 디코딩한 뒤 JSON을 구문 강조와 함께 보기 좋게 출력합니다. 등록된 시간 클레임인 exp(만료), nbf(유효 시작), iat(발급 시각)는 읽기 쉬운 날짜로 표시되고, 기기의 시계를 기준으로 만료됨, 아직 유효하지 않음, 현재 유효함이 분명하게 표시됩니다.

중요: 디코딩은 검증이 아닙니다. JWT의 헤더와 페이로드는 암호화가 아니라 인코딩되어 있을 뿐이며, 누구나 원하는 내용으로 토큰을 만들 수 있습니다. 이 도구는 서명, 발급자, 대상(audience) 등 어떤 클레임도 확인하지 않으므로, 여기서 디코딩되는 토큰도 위조되었거나 변조되었거나 폐기되었을 수 있습니다. 디코딩된다는 이유만으로 토큰을 신뢰하지 마세요. 검증은 올바른 키를 가진 서버에서 해야 합니다.

토큰은 인증 정보입니다. 디코딩은 전적으로 브라우저에서 이루어지고 토큰은 어디로도 전송되지 않지만, 직접 관리하지 않는 기기에서는 운영 환경의 실제 토큰을 붙여넣지 않는 것이 좋습니다. 토큰이 alg “none”을 주장하거나 서명이 없는 경우에도 경고합니다. 이는 안전하지 않거나 위조된 토큰의 전형적인 징후입니다.

사용 방법

  1. 1전체 토큰(점으로 구분된 세 부분)을 붙여넣으세요. 앞의 “Bearer ”는 자동으로 제거됩니다.
  2. 2디코딩된 헤더와 페이로드, 그리고 exp, nbf, iat의 날짜를 확인하세요.
  3. 3alg “none”이나 서명 누락 같은 경고가 있는지 확인하세요.
  4. 4필요하면 디코딩된 JSON을 복사하세요. 서명 검증은 여기서가 아니라 직접 운영하는 백엔드에서 하세요.

지원 형식

JSON 헤더와 페이로드를 가진 컴팩트 직렬화 JWS 토큰(header.payload.signature). 암호화된 토큰(JWE, 다섯 부분)은 디코딩할 수 없습니다.

프라이버시

이 도구는 브라우저에서 실행됩니다. 입력하신 데이터는 사용자의 기기에서 처리되며 당사 서버로 전송되지 않습니다.

제한 사항

  • 서명은 검증하지 않습니다. 이 도구는 토큰이 진짜인지, 서버에서 현재 유효한지, 폐기되지 않았는지, 내 애플리케이션을 위한 것인지 알려 줄 수 없습니다.
  • 만료 및 유효 시작 상태는 기기의 시계로 계산하므로 틀릴 수 있으며, 서버는 보통 어느 정도의 시계 오차를 허용합니다.
  • 암호화된 JWT(JWE)는 다섯 부분으로 이루어져 있고 페이로드를 읽을 수 없으므로, 여기서는 형식이 잘못된 것으로 표시됩니다.
  • 시간 클레임은 1970년 이후의 초 단위 숫자여야 합니다. 다른 값은 올바르지 않은 것으로 표시됩니다.
  • 다른 클레임(iss, aud, sub, scope 등)은 표시만 하며 해석하거나 검증하지 않습니다.

FAQ

디코딩이 되면 토큰이 유효하다는 뜻인가요?

아니요. 디코딩은 검증이 아닙니다. 누구나 페이로드에 원하는 내용을 쓴 토큰을 만들 수 있습니다. 올바른 비밀 키나 공개 키로 서명을 확인하고 발급자, 대상, 만료 같은 클레임을 검증해야 비로소 토큰을 신뢰할 수 있습니다.

내 토큰이 서버로 전송되나요?

아니요. 토큰은 브라우저에서 디코딩되며 전송되지 않습니다. 그래도 토큰은 비밀번호처럼 다루고, 가능하면 만료되었거나 테스트용인 토큰을 사용하세요.

alg “none”은 무슨 뜻인가요?

서명되지 않은 토큰임을 나타냅니다. 서버는 명시적으로 허용하는 경우가 아니면 이런 토큰을 거부해야 합니다. 허용하면 공격자가 어떤 페이로드든 위조할 수 있습니다. 도구는 이런 토큰을 발견하면 경고합니다.

서버는 받아 주는데 왜 만료되었다고 나오나요?

기기 시계가 서버 시계와 다르거나 서버가 어느 정도의 여유를 허용할 수 있습니다. 여기서 표시하는 상태는 로컬 시간에 기반한 참고용이며 권위 있는 판단이 아닙니다.

관련 도구