JWT 디코더

브라우저에서 JWT 헤더와 페이로드를 로컬로 디코드해요. 토큰을 어디에도 보내지 않고 클레임, 만료일, 발급자, 타임스탬프를 확인할 수 있어요.

🔒 네트워크 요청 제로. 토큰은 브라우저 밖으로 나가지 않아요.

JWT 디코더을(를) 테스트했어요 — 다음엔 JSON 포매터 & 검증기 시도해 보세요 →

JWT 디코더란?

JSON Web Token(RFC 7519)은 점으로 구분된 세 개의 Base64URL 인코딩된 세그먼트로 구성됩니다: header.payload.signature. 헤더는 서명 알고리즘(alg: HS256, RS256, ES256 등)과 토큰 유형을 선언합니다. 페이로드는 클레임을 포함합니다 — 등록됨(iss, sub, aud, exp, iat, nbf, jti RFC 7519 §4.1 참조), 공개(IANA 등록 이름 예: email, name), 개인(애플리케이션이 정의하는 모든 사용자 정의 필드). 서명은 검증자가 알고 있는 키를 사용하여 연결된 header.payload 문자열에 대한 HMAC 또는 RSA/ECDSA입니다. 이 디코더는 헤더와 페이로드를 로컬에서 읽습니다 — 서명을 검증하지 않습니다. 왜냐하면 검증에는 비밀 또는 공개 키가 필요하며, 그 중 하나를 웹 도구에 붙여넣는 것은 목적에 어긋나기 때문입니다. 디코드 ≠ 검증: 유효해 보이는 JWT도 위조된 서명, 만료된 exp, 또는 일부 부주의한 라이브러리가 수락하는 alg: none 헤더를 가질 수 있습니다(2015년 alg: none 취약점은 여전히 감사에서 나타납니다). 통합 작업 중 검사에 이 디코더를 사용하십시오. 요청을 승인하기 전의 게이트로는 절대 사용하지 마십시오.

JWT 디코더 사용법

전체 토큰(점으로 구분된 세 세그먼트)을 입력에 붙여넣습니다. 도구는 점에서 분할하고, 각 세그먼트를 Base64URL 디코드하며, 헤더와 페이로드를 형식화된 JSON으로 렌더링합니다. iat, nbf, exp와 같은 숫자 클레임(1970년 이후 Unix 초)은 원시 값과 함께 ISO-8601 날짜로 변환됩니다. 상태 배너는 만료됨(now > exp), 아직 유효하지 않음(now < nbf), 또는 활성을 보고합니다. 디코딩이 실패하면 오류는 어느 세그먼트가 잘못된 형식인지 지적합니다 — 일반적으로 복사-붙여넣기로 잘린 토큰, 문자가 누락된 Base64URL 문자열, 또는 JWT 대신 불투명한 세션 ID를 실수로 붙여넣은 경우입니다. 복사를 사용하여 어느 세그먼트의 JSON을 jq, Postman 또는 IDE에서 추가 검사를 위해 가져옵니다. 서명 세그먼트는 원시 상태로 표시됩니다 — 검증은 의도적으로 범위를 벗어납니다.

JWT 검사가 중요한 이유

인증이 실패할 때, 첫 번째 검사 단계는 항상 토큰입니다: 어떤 클레임이 존재하는지, 만료되었는지, aud가 예상되는 API와 일치하는지, iss가 올바른 인증 서버인지, 클라이언트가 올바른 scope을 요청했는지. 로컬 디코더가 없으면 개발자는 프로덕션 토큰을 무작위 온라인 사이트에 붙여넣습니다 — 매번 붙여넣기는 그 사이트의 로그, 분석 또는 백엔드를 소유한 누구나가 인증 정보를 탈취할 수 있는 가능성입니다. 로컬 Base64URL 디코딩은 유출을 중지합니다. 디버깅을 넘어 JWT 문해력은 보안 검토에 중요합니다: alg: none 토큰을 발견하고, exp가 미래 몇 년임을 알아차리고, 페이로드에서 예상치 못한 역할 클레임을 포착하는 것은 디코더를 사용하면 초 단위, 없으면 분 단위입니다. JWT는 전달자 토큰입니다 — 소유가 인증입니다. 검사 중에 주의 깊게 취급하는 것은 프로덕션 데이터베이스 자격 증명을 주의 깊게 취급하는 것과 같은 위생입니다.

자주 묻는 질문

JWT 서명을 검증하나요?

아니요. 이 페이지는 헤더와 페이로드를 로컬에서 디코드만 해요. 서명 검증이나 토큰 신뢰 여부는 확인하지 않아요.

jwt.io 대신 이걸 쓰는 이유는 뭔가요?

TeaFun은 프라이버시 중심 디코딩을 지향해요. 토큰은 브라우저에 남고 처리를 위해 업로드되지 않아요.

어떤 타임스탬프가 표시되나요?

exp, iat, nbf가 있으면 Unix 타임스탬프를 읽기 쉬운 ISO 날짜로 변환해서 보여줘요.