본문으로 건너뛰기
MyIPKit— 내 네트워크를 이해하다.

JWT 디코더·검증기

JSON Web Token에 무엇이 들어 있는지 읽고(헤더, 클레임, 만료), 비밀 키나 공개 키로 서명을 확인합니다. 토큰은 브라우저 안에서 풀고 어디로도 보내지 않습니다.

브라우저에서만 실행됩니다 — 어디에도 전송되지 않습니다

JWT는 서명됐을 뿐 암호화되지 않았습니다. 토큰을 가진 누구나 페이로드를 읽을 수 있습니다. 토큰은 자격 증명이기도 하니, 이 페이지는 아무것도 보내지 않지만 실제 토큰은 비밀번호처럼 다루세요.

JWT를 붙여넣으세요. “Bearer ”가 붙어 있어도 됩니다.

서명 검증

HS256/384/512는 공유 비밀 키, RS·PS·ES·EdDSA는 PEM이나 JWK 공개 키.

브라우저에서만 실행됩니다 — 어디에도 전송되지 않습니다

세 부분

header.payload.signature — 헤더는 알고리즘을, 페이로드는 클레임(sub, exp, iat 등)을 담고, 서명은 앞의 둘을 보호합니다. exp, nbf, iat는 1970년부터의 초 단위이고, 여기서는 내 시간대로 보여줍니다.

누구나 내 JWT를 읽을 수 있나요?

네. 헤더와 페이로드는 Base64URL 인코딩일 뿐입니다. 서명은 내용이 바뀌는 걸 막을 뿐 읽는 걸 막지 않으니, JWT에 비밀을 넣지 마세요.

“alg: none”이 왜 위험한가요?

서명 없는 토큰이라고 선언하는 것입니다. 이를 따르는 서버는 누구나 만든 토큰을 받아들입니다. 서버는 헤더를 믿지 말고 받아들일 알고리즘을 고정해야 합니다.

토큰이 어딘가로 전송되나요?

아니요. 디코딩과 검증은 브라우저 안에서만 이루어집니다.