JWT 디코더·검증기
JSON Web Token에 무엇이 들어 있는지 읽고(헤더, 클레임, 만료), 비밀 키나 공개 키로 서명을 확인합니다. 토큰은 브라우저 안에서 풀고 어디로도 보내지 않습니다.
브라우저에서만 실행됩니다 — 어디에도 전송되지 않습니다
JWT는 서명됐을 뿐 암호화되지 않았습니다. 토큰을 가진 누구나 페이로드를 읽을 수 있습니다. 토큰은 자격 증명이기도 하니, 이 페이지는 아무것도 보내지 않지만 실제 토큰은 비밀번호처럼 다루세요.
브라우저에서만 실행됩니다 — 어디에도 전송되지 않습니다
세 부분
header.payload.signature — 헤더는 알고리즘을, 페이로드는 클레임(sub, exp, iat 등)을 담고, 서명은 앞의 둘을 보호합니다. exp, nbf, iat는 1970년부터의 초 단위이고, 여기서는 내 시간대로 보여줍니다.
누구나 내 JWT를 읽을 수 있나요?
네. 헤더와 페이로드는 Base64URL 인코딩일 뿐입니다. 서명은 내용이 바뀌는 걸 막을 뿐 읽는 걸 막지 않으니, JWT에 비밀을 넣지 마세요.
“alg: none”이 왜 위험한가요?
서명 없는 토큰이라고 선언하는 것입니다. 이를 따르는 서버는 누구나 만든 토큰을 받아들입니다. 서버는 헤더를 믿지 말고 받아들일 알고리즘을 고정해야 합니다.
토큰이 어딘가로 전송되나요?
아니요. 디코딩과 검증은 브라우저 안에서만 이루어집니다.