디코드 헤더
JSONJWT를 붙여넣으면 구문 분석된 콘텐츠가 여기에 표시됩니다.
JSON 웹 토큰 헤더와 페이로드를 검사합니다. 이 도구는 서명의 유효성을 검사하지 않으며 처리는 브라우저에 유지됩니다.
아래 JWT를 붙여넣어 즉시 디코딩하고 검사하고 검증하세요.
JSON 웹 토큰 입력을 기다리는 중입니다.
JWT를 붙여넣으면 구문 분석된 콘텐츠가 여기에 표시됩니다.
JWT를 붙여넣으면 구문 분석된 콘텐츠가 여기에 표시됩니다.
디코딩 후 서명이 여기에 표시됩니다.
JWT 발급 시 사용할 비밀번호를 입력하세요. HS256 확인은 브라우저에서 기본적으로 수행됩니다.
헤더 및 페이로드 JSON을 편집하고 HS256 서명을 사용합니다.
JWT 생성을 준비합니다.
이 토큰 세트는 로컬 테스트 및 개발 디버깅에 적합합니다.
JWT는 로그인, API 확인 및 서비스 간 인증에 일반적으로 사용되는 토큰 형식입니다. 헤더, 페이로드, 서명의 세 가지 섹션으로 구성됩니다.
페이로드 콘텐츠는 디코딩되고 읽을 수 있으며 민감한 정보는 JWT 클레임에 배치되어서는 안 됩니다.
이 페이지에서는 HS256 서명 검증 및 생성을 지원하므로 테스트 환경 토큰이 동일한 비밀로 생성되었는지 쉽게 확인할 수 있습니다.
모든 JWT 디코딩, 인코딩 및 서명 확인은 기본적으로 브라우저에서 수행됩니다.
JWT SEO 지식 기반
"JWT 디코더", "JWT 디코더", "JSON 웹 토큰 구문 분석", "JWT 확인" 또는 "JWT 인코더"를 검색하는 경우 이는 일반적으로 이미 토큰이 있고 해당 헤더, 페이로드, 만료 시간, 서명 알고리즘 및 클레임을 빠르게 이해해야 함을 의미합니다. 이 페이지에는 온라인 JWT 디코딩 도구를 제공할 뿐만 아니라 개발자들이 자주 문의하는 JWT에 대한 기본 지식도 정리되어 있습니다.
JWT는 JSON Web Token의 약어입니다. JSON을 사용하여 정보를 표현한 후 이를 단순화된 문자열로 변환하는 토큰 형식입니다. 프런트엔드 및 백엔드 분리 웹사이트, App API, 회원 로그인, Single Sign-On SSO, 마이크로서비스 인증 및 서비스 간 데이터 교환에 자주 사용됩니다.
JWT 디코딩에는 헤더와 페이로드가 암호화되지 않고 Base64URL 인코딩만 되므로 비밀번호가 필요하지 않습니다. 토큰을 받은 사람은 누구나 JWT 디코더를 사용하여 페이로드 콘텐츠를 볼 수 있으므로 클레임에는 비밀번호, API 키 또는 민감한 개인 정보가 포함될 수 없습니다.
가장 일반적인 사용 사례는 승인입니다. 사용자가 성공적으로 로그인하면 권한 부여 서버가 JWT를 발행합니다. 이후에 프런트엔드 또는 앱이 API를 호출하면 토큰은 Authorization: Bearer 과 같은 HTTP Authorization 헤더에 배치됩니다.
JWT는 정보 교환에도 일반적으로 사용됩니다. 두 시스템이 검증 가능한 데이터를 교환해야 하는 경우 서명을 통해 수신측에서는 전송 중에 데이터가 변경되지 않았음을 확인할 수 있습니다. JWKS 엔드포인트는 일반적으로 대규모 시스템에서 공개 키를 노출하는 데 사용되므로 다양한 서비스에서 토큰의 소스를 확인할 수 있습니다.
표준 JWT는 일반적으로 마침표로 구분된 3개의 Base64URL 문자열(Header.Payload.Signature)로 구성됩니다. 헤더의 첫 번째 섹션은 토큰 유형 및 서명 알고리즘을 설명하고, 페이로드의 두 번째 섹션에는 클레임이 포함되며, 서명의 세 번째 섹션은 무결성을 확인하는 데 사용됩니다.
일반적으로 등록된 주장에는 iss, sub, aud, exp, nbf, iat 및 jti. 좋은 API 유효성 검사는 일반적으로 최소한 exp, iss 및 aud를 확인합니다.
일반적인 프로세스는 다음과 같습니다. 사용자가 로그인하고 서버에 계정 비밀번호 또는 제3자 로그인 결과를 확인할 수 있는 권한을 부여한 후 액세스 토큰을 발급합니다. 프런트 엔드는 액세스 토큰을 API 요청에 연결합니다. 백엔드 API는 토큰을 확인하고 보호된 데이터를 반환합니다.
JWT는 범용 세션 대체가 아닙니다. 토큰이 발행되면 일반적으로 만료되기 전에 데이터베이스를 확인하지 않고도 확인할 수 있습니다. 그러나 토큰 취소, 즉각적인 권한 변경, 로그아웃 처리 등은 여전히 설계가 필요합니다.
JWT 검증은 일반적으로 토큰이 세 개의 세그먼트를 가지고 있는지, 디코딩할 수 있는지, JSON이 합법적인지, 만료되었는지, 발급자가 올바른지, 대상이 현재 API를 준수하는지 등 예상된 규칙을 충족하는지 확인하는 것을 의미합니다.
JWT 확인은 지정된 알고리즘과 키를 사용하여 서명을 다시 계산한 다음 이를 토큰의 세 번째 서명과 비교합니다. 페이로드를 이해할 수 있다고 해서 토큰이 신뢰할 수 있다는 의미는 아닙니다. 공식 API는 인감 검증과 클레임 검증을 거쳐야 합니다.
JWT 디코드는 토큰의 첫 번째 및 두 번째 단락을 다시 JSON으로 변환하여 헤더와 페이로드를 읽을 수 있도록 합니다. JWT 인코딩은 반대 프로세스입니다. 헤더 JSON 및 페이로드 JSON을 준비하고 서명을 생성한 후 마지막으로 이를 완전한 토큰으로 결합합니다.
페이로드 콘텐츠만 보고 싶다면 비밀이 필요하지 않습니다. 토큰이 실제로 시스템에서 발행되었는지 확인하려면 올바른 비밀 또는 공개 키를 사용하여 서명을 확인해야 합니다. 현재 이 페이지는 HS256을 지원합니다.
온라인 JWT 디코딩을 사용할 때는 토큰을 발행한 사람, 토큰이 발행된 시스템, 적용 시기, 만료 시기, 권한 범위가 API 요구 사항을 충족하는지 여부도 확인해야 합니다. 다음 표에는 일반적인 JWT 클레임이 요약되어 있습니다.
| 청구 | 중국어 의미 | 디버깅할 때 확인해야 할 사항 |
|---|---|---|
iss | 발행자, 발행자 | 인증 서버인지 신뢰할 수 있는 ID 공급자인지 여부. |
서브 | 주체, 사용자 또는 주체 ID | 올바른 사용자, 회원, 서비스 계정 또는 장치에 해당하는지 여부. |
오드 | 청중, 토큰 청중 | 현재 API로 보낼지 여부; 청중 오류로 인해 401이 발생하는 경우가 많습니다. |
특급 | 만료 시간, 만료 시간 | 만료 여부; Unix 타임스탬프와 시간대 표시의 차이점을 확인하세요. |
NBF | 이전에는 유효하지 않음 | 아직 사용 가능한 시간에 도달하지 않았는지 여부 서버 시간 편차도 영향을 미칩니다. |
앗 | 발행일, 발행 시간 | 실제 로그인 시간이나 새로고침 토큰 시간과 일치합니까? |
jti | JWT ID, 토큰 고유 ID | 해지 목록, 감사 로그 또는 재생 공격 보호에 사용할 수 있는지 여부. |
범위 | 권한의 범위 | API에 필요한 읽기, 쓰기, 관리자 및 기타 권한이 존재하는지 여부. |
JWT 헤더의 alg는 검증자에게 어떤 알고리즘을 사용해야 하는지 알려줍니다. HS256은 HMAC SHA-256이며 발급과 검증 모두 동일한 비밀 세트를 사용합니다. RS256은 RSA 개인 키 서명과 공개 키 확인을 사용합니다. ES256은 타원 곡선 알고리즘을 사용합니다.
백엔드는 공격자가 헤더를 수정하여 확인 프로세스에 영향을 미치는 것을 방지하기 위해 허용된 알고리즘 목록을 명확하게 지정해야 합니다. JWT가 ID 공급자로부터 제공되는 경우 일반적으로 JWKS 또는 공개 키를 가져와 kid, iss, aud, exp를 확인하세요.
JWT 디코더를 사용할 때 발생하는 가장 일반적인 문제는 토큰이 표준 3세그먼트 형식이 아니거나, Base64URL 문자열이 불완전하게 복사되거나, 앞뒤에 공백이 있거나, 페이로드가 합법적인 JSON이 아니거나, 서명 비밀이 잘못 사용되는 것입니다. API가 401 또는 403을 반환하는 경우 먼저 JWT를 디코딩하고 exp, aud 및 범위를 확인하는 것이 좋습니다.
header.payload.signature 3세그먼트 형식인지 여부.Bearer 스키마를 사용하는지 여부입니다.exp가 만료되었는지, 서버 시간이 동기화되었는지 여부.iss 및 aud가 현재 환경과 일치하는지 여부.kid를 사용하는지 여부.세션은 일반적으로 서버나 중앙 저장소에 상태를 저장하고, 브라우저는 세션 ID만 저장합니다. JWT는 API가 서명을 사용하여 무결성을 확인할 수 있도록 상태의 일부를 토큰에 넣습니다. SAML은 XML 기반이며 일반적으로 엔터프라이즈 SSO에 사용됩니다.
| 계획 | 상황에 적합 | 주의할 점 |
|---|---|---|
| JWT | API 인증, SSO 액세스 토큰, 마이크로서비스 | 민감정보의 유효기간, 인감확인, 철회 및 유출에 대한 통제가 필요합니다. |
| 세션 | 즉각적인 로그아웃 또는 중앙 집중식 상태 제어가 필요한 기존 웹사이트 | 서버측 세션 저장소가 필요하며, 서비스 간 확장에는 추가 설계가 필요합니다. |
| SAML | 엔터프라이즈 ID 통합, 레거시 SSO 시스템 | XML 구조는 더 크고 서명과 설정은 일반적으로 더 복잡합니다. |
exp를 설정하고 액세스 토큰을 오랫동안 유효하게 만들지 마세요.alg를 맹목적으로 신뢰하지 마십시오.iss, aud, nbf, iat를 확인하세요.이 온라인 JWT 디코딩 도구는 브라우저 기본 처리를 사용합니다. 붙여넣은 토큰, 비밀, 헤더 JSON 및 페이로드 JSON은 ToolBoy 서버에 업로드되지 않습니다. 그럼에도 불구하고 실제 생산 토큰을 다룰 때는 최소한의 공개 원칙을 따라야 합니다.
JWT는 JSON, Base64URL, URL 쿼리, 타임스탬프, SHA-256, UUID, 정규식 및 기타 데이터 형식과 함께 API 디버깅 프로세스에 자주 나타납니다. ToolBoy의 JSON 형식 지정 도구, Base64 인코딩 및 디코딩, Unix 타임스탬프 변환 또는 를 사용할 수 있습니다. href="uuid-generator.html" data-i18n="auto.025">UUID 생성기.
자세한 내용은 jwt.io의 JSON 웹 토큰 소개 및 RFC 7519. 이 페이지의 내용은 실용적인 디버깅, 화이트햇 SEO 및 기본 개인 정보 보호에 중점을 두고 중국어로 재구성되고 다시 작성되었습니다.