본문으로 건너뛰기
SDETRole
SDETRole

JSON·데이터

JWT 디코더

JWT 헤더와 클레임을 디코딩하고 만료와 위험한 설정을 확인합니다.

브라우저에서만 실행됩니다 회원가입 불필요

Decoded locally in your browser. The token is never sent anywhere.

Encoded token

0 chars

Signature NOT verified

This tool only decodes the header and payload. Anyone can create a token with any claims; only verifying the signature with the secret (HS*) or the issuer’s public key (RS*, ES*, PS*, EdDSA) proves it is genuine. Do that in your test code or API, never by trusting decoded claims.

도구 소개

인증된 API 호출이 401이나 403으로 실패하면 먼저 토큰에 실제로 무엇이 들어 있는지 확인해야 합니다. 누구에게, 어떤 audience로, 어떤 역할로 발급되었는지, 그리고 만료되었는지 말입니다. 이 디코더는 토큰을 나누어 Base64URL 헤더와 페이로드를 디코딩하고, 등록된 클레임을 보여 주며 exp, iat, nbf를 날짜와 상대 시간으로 변환합니다. alg "none", 내장된 키, 원격 키 URL처럼 보안 테스트가 필요한 설정도 표시합니다. 서명은 검증하지 않습니다. 서명 검증에는 비밀 키나 공개 키가 필요하며, 디코딩된 클레임만으로는 아무것도 증명되지 않습니다.

사용 방법

  1. 토큰을 붙여 넣으세요. Authorization 헤더의 앞부분 “Bearer ”는 자동으로 제거됩니다.
  2. 상태 배너에서 만료 여부를 확인한 다음 헤더와 페이로드 패널을 읽으세요.
  3. 클레임 표에서 iss, aud, sub를 API가 기대하는 값과 비교하세요.
  4. 경고가 있으면 검토하세요. API에 실행해 볼 네거티브 테스트를 제안합니다.

JWT 디코더 자주 묻는 질문

운영 환경 토큰을 여기에 붙여 넣어도 안전한가요?

디코딩은 전적으로 브라우저 안에서 이루어지며 토큰은 어디에도 전송되지 않지만, 편의를 위해 Clear(지우기)를 클릭할 때까지 이 브라우저의 로컬 스토리지에 저장됩니다. 유효한 토큰은 비밀번호처럼 다루세요. 가급적 테스트 환경을 사용하고 작업이 끝나면 지우세요.

여기서는 유효하다고 나오는데 API는 왜 거부하나요?

만료는 검사 항목 중 하나일 뿐입니다. 서버는 서명, 발급자, audience, 때로는 시계 오차를 허용한 not-before 시각, 토큰 폐기 여부도 확인합니다. 환경 간에 aud나 iss가 맞지 않는 것이 401 응답의 흔한 원인입니다.

alg “none”이나 HS256이 보이면 무엇을 테스트해야 하나요?

alg를 "none"으로 바꾸고 서명을 제거한 토큰과, 페이로드는 수정하되 원래 서명을 유지한 토큰을 다시 보내 보세요. 올바른 API라면 둘 다 거부해야 합니다. HS256이라면 비밀 키가 충분히 길고 무작위인지도 확인하세요. 약한 HMAC 비밀 키는 탈취한 토큰 하나로 오프라인 무차별 대입 공격을 당할 수 있습니다.

SDETRole 전체에서 검색할 내용을 입력하세요.

Pagefind 전문 검색 · 브라우저에서 실행됩니다 검색 페이지 열기 →