JWT 디코더
JWT 토큰을 디코딩하여 내용을 확인
JWT 토큰을 붙여넣으세요...
JWT의 구조와 디코딩 방법
JWT(JSON Web Token)는 점(.)으로 구분된 헤더·페이로드·서명 세 부분으로 이루어진 토큰입니다. 헤더에는 서명 알고리즘(alg)과 토큰 종류(typ)가 들어가고, 페이로드에는 사용자 식별자, 권한, 발급 시각(iat), 만료 시각(exp) 같은 클레임이 담깁니다. 앞의 두 부분은 Base64URL로 인코딩되어 있을 뿐이라 키가 없어도 내용을 읽을 수 있습니다.
토큰을 붙여넣으면 헤더와 페이로드가 정리된 JSON으로 표시되고 서명 부분도 그대로 확인할 수 있습니다. 페이로드에 exp가 있으면 그 시각을 읽어 「유효」인지 「만료」인지 판정해 보여 줍니다. API가 401을 반환할 때 토큰이 만료된 것인지, 아니면 클레임이 예상과 다른 것인지 구분하는 데 도움이 됩니다.
이 도구는 디코딩만 하며 서명 검증은 하지 않습니다. 서명을 확인하려면 비밀 키나 공개 키가 필요하고 이는 서버의 책임이기 때문입니다. 반대로 말하면 페이로드를 읽을 수 있는 것이 JWT의 설계 그대로이며, 그래서 기밀 정보를 JWT에 넣어서는 안 됩니다. 디코딩은 브라우저 안에서 끝나고 붙여넣은 토큰은 전송되지 않습니다.
자주 묻는 질문
- JWT는 암호화되어 있나요?
- 표준 JWT의 헤더와 페이로드는 Base64URL로 인코딩되어 있을 뿐 암호화되지 않았습니다. 누구나 읽을 수 있으므로 비밀번호 같은 기밀 정보를 넣으면 안 됩니다.
- 서명 검증도 가능한가요?
- 이 도구는 디코딩 전용입니다. 서명 검증에는 키가 필요하고 서버에서 처리해야 하는 작업이라 지원하지 않습니다.
- 만료 여부는 어떻게 판정하나요?
- 페이로드의 exp 클레임(UNIX 시각)을 읽어 현재 시각과 비교한 뒤 「유효」 또는 「만료」로 표시합니다.
- 붙여넣은 토큰이 전송되나요?
- 전송되지 않습니다. 다만 유효한 토큰은 인증 정보 그 자체이므로 공용 기기에서는 사용 후 페이지를 닫아 주세요.