JWT 디코더

JWT(JSON Web Token) 헤더와 페이로드를 디코딩하고 만료 상태를 확인합니다.

JWT 토큰
JWT란 무엇인가요?

JSON Web Token(JWT)은 당사자 간에 JSON 객체로 정보를 안전하게 전송하기 위한 개방형 표준(RFC 7519)입니다. JWT는 비밀키(HMAC) 또는 공개/개인 키 쌍(RSA/ECDSA)을 사용하여 서명할 수 있습니다. 웹 애플리케이션에서 인증 및 정보 교환에 일반적으로 사용됩니다.

JWT 구조

JWT는 점으로 구분된 세 부분으로 구성됩니다: 헤더(알고리즘과 토큰 유형), 페이로드(클레임/데이터), 서명(검증). 각 부분은 Base64Url로 인코딩됩니다. 서명은 토큰이 변조되지 않았음을 보장하지만, 헤더와 페이로드는 누구나 디코딩할 수 있습니다.

주요 사용 사례
  • 사용자 인증 및 권한 부여
  • 싱글 사인온(SSO) 시스템
  • API 인증
  • 서비스 간 안전한 정보 교환
  • 상태 비저장 세션 관리
표준 클레임
iss 발급자 - 토큰을 생성하고 서명한 주체
sub 주체 - 토큰이 나타내는 대상 (보통 사용자 ID)
aud 수신자 - 토큰의 의도된 수신자
exp 만료 - 토큰 만료 Unix 타임스탬프
iat 발급 시간 - 토큰 생성 Unix 타임스탬프
자주 묻는 질문

JWT는 암호화되나요?

표준 JWT(JWS)는 서명되지만 암호화되지 않습니다 - 누구나 페이로드를 읽을 수 있습니다. 암호화된 토큰이 필요하면 JWE(JSON Web Encryption)를 사용하세요. 일반 JWT에 민감한 데이터를 저장하지 마세요.

JWT를 무효화하려면 어떻게 하나요?

JWT는 설계상 상태 비저장이며 직접 무효화할 수 없습니다. 일반적인 전략으로는 짧은 만료 시간, 토큰 블랙리스트, 서명 키 변경(모든 토큰 무효화) 등이 있습니다.