JWT 디코더 완벽 가이드
JWT(JSON Web Token)는 header.payload.signature 세 부분이 점(.)으로 연결된 토큰으로, API 인증과 세션 관리에 가장 널리 쓰이는 표준(RFC 7519)입니다. header와 payload는 base64url로 인코딩된 JSON이므로 디코딩하면 내용을 바로 확인할 수 있습니다. 이 도구는 붙여넣는 즉시 두 부분을 예쁘게 포맷된 JSON으로 보여줍니다.
디버깅에서 가장 자주 확인하는 것은 시간 클레임입니다. exp(만료 시각), iat(발급 시각), nbf(유효 시작 시각)는 Unix 타임스탬프(초)로 저장되어 사람이 읽기 어렵습니다. 이 도구는 세 클레임을 로컬 시간으로 변환하고, 만료됨 🔴 / 유효 🟢 / nbf 이전 🟡 상태를 배지로 표시해 "401이 왜 나는지"를 몇 초 만에 파악할 수 있게 합니다.
중요한 점: JWT 디코딩과 검증은 다릅니다. base64url은 암호화가 아니므로 누구나 payload를 읽을 수 있고, 이 도구 역시 서명을 검증하지 않습니다. 토큰의 진위(위변조 여부)는 서버에서 시크릿/공개 키로 서명을 검증해야만 확인됩니다. 같은 이유로 payload에 비밀번호, 주민번호 같은 민감 정보를 넣으면 절대 안 됩니다.
모든 처리는 브라우저 안에서만 일어나며 토큰이 서버로 전송되지 않습니다. alg:none 같은 위험한 헤더도 감지해 경고합니다. 함께 쓰면 좋은 도구: Base64 인코더/디코더로 개별 세그먼트를 직접 다뤄보거나, 타임스탬프 변환기로 임의의 Unix 시간을 변환해 보세요.