JWT 디코더
JSON Web Token을 해석해 헤더, 페이로드, 클레임을 읽기 쉬운 형식으로 보여주고 만료 여부를 즉시 확인합니다. 해석은 로컬에서 이루어지며
JSON Web Token을 붙여 넣으면 세 부분을 읽기 쉬운 형태로 확인할 수 있습니다. 서명 알고리즘이 담긴 헤더, 클레임이 담긴 페이로드, 그리고 발급 시각, 유효 시작 시각, 만료 시각을 사람이 읽을 수 있는 시간으로 보여 줍니다. 토큰이 이미 만료되었는지, 언제 만료되는지도 곧바로 알려 줍니다.
API가 401을 돌려줄 때 문제가 서명인지, 대상(audience)인지, 아니면 단순히 만료된 토큰인지 확인해야 하는 일상적인 디버깅 단계입니다. 모든 해석이 브라우저 안에서 이루어지므로 운영 환경의 토큰이 어디에도 전송되지 않습니다.
JSON Web Token을 해석하는 방법
토큰을 붙여 넣습니다
헤더와 페이로드, 만료 시각을 확인합니다
필요하면 페이로드 JSON을 복사합니다
자주 묻는 질문
서명도 검증하나요?
아니요. 그리고 이것은 중요한 점입니다. 해석은 각 부분을 base64url로 디코딩할 뿐이므로 내용을 읽을 수는 있어도 진본임이 증명되지는 않습니다. 서버가 서명을 검증하기 전까지는 해석한 토큰을 신뢰된 것으로 다루지 마세요.
토큰이 만료되었는지 어떻게 아나요?
exp 클레임은 초 단위 Unix 타임스탬프이며, 도구가 현재 시각과 비교해 해당 날짜와 아직 유효한지를 보여 줍니다.
exp, iat, nbf는 각각 무엇인가요?
iat는 토큰이 발급된 시각, nbf는 토큰을 쓸 수 있는 가장 이른 시각, exp는 효력이 끝나는 시각입니다. 토큰은 nbf와 exp 사이에서만 받아들여집니다.
실제 토큰을 여기에 붙여 넣어도 안전한가요?
해석은 전부 브라우저 안에서 이루어지므로 토큰이 전송되지 않습니다. 그래도 토큰은 언제나 자격 증명으로 다루세요. 신뢰하지 않는 사이트에는 붙여 넣지 말고, 유출되었을 가능성이 있으면 교체하세요.
제 토큰에 오류가 표시되는 이유는 무엇인가요?
JWT는 점으로 구분된 정확히 세 부분으로 이루어집니다. 부분이 빠졌거나, 중간에 줄바꿈이 있거나, 실제로는 불투명한 세션 ID인 경우 모두 JWT가 아니라고 보고됩니다.
제 토큰이 업로드되나요?
아니요. 해석은 기기 안에서 이루어집니다.
한눈에 보기
| 입력 | 텍스트 |
|---|---|
| 여러 파일 | 아니요 |
| 실행 위치 | 브라우저에서 실행 - 파일은 업로드되지 않습니다 |
| 오프라인에서도 작동 | 예 — 페이지를 불러온 후 |
| 가격 | 무료, 가입 필요 없음, 워터마크 없음 |
비밀 정보를 안전하게 다루기
개발자 도구는 사람들이 생각하는 것보다 자주 인증 정보를 처리하며, 위험은 알고리즘이 아니라 데이터가 어디로 가는지에 있습니다. 해싱은 단방향이고 암호화가 아닙니다. MD5와 SHA-1은 보안과 관련된 용도에는 이미 깨졌고, 비밀번호 저장에는 SHA-256조차 잘못된 도구입니다. bcrypt, scrypt, Argon2는 바로 느리도록 존재합니다. Base64는 인코딩이지 보호가 아닙니다. 누구나 해독할 수 있으므로 난독화로 여겨서는 안 됩니다. JWT는 그것을 가진 사람이면 누구나 읽을 수 있으므로 페이로드에 비밀 정보를 넣어서는 안 되며, 토큰을 해독해도 서명이 검증되지는 않습니다. 검증에는 키가 필요합니다. 이 사이트의 모든 것은 브라우저에서 로컬로 실행되며, 그래서 토큰과 비밀번호를 안전하게 다룰 수 있습니다.
변환이 조용히 깨지는 곳
변환 버그는 대부분 문법이 아니라 의미의 문제입니다. 우편번호 CSV 열은 스프레드시트가 숫자라고 추측하는 순간 앞의 0을 잃습니다. 긴 ID는 부동소수점 정밀도를 넘어섭니다. 날짜는 일이 먼저인지 월이 먼저인지에 따라 의미가 달라집니다. JSON 키에는 순서가 없지만 배열에는 있습니다. 키를 정렬하는 도구는 아무것도 바꾸지 않지만 배열을 정렬하는 도구는 데이터를 바꿉니다. Unicode도 함정입니다. 텍스트는 UTF-8이나 UTF-16으로, 또는 BOM과 함께 도착할 수 있고, 잘못 추측한 디코더는 강세 문자가 있는 글자를 깨진 문자로 만듭니다. 어떤 변환이든 믿기 전에 첫 행과 마지막 행, 앞에 0이 붙은 필드, 따옴표나 쉼표, 줄바꿈이 들어 있는 필드를 표본 검사하십시오.