개발자 도구
JSON 웹 토큰 온라인 디버거

온라인 JWT 디코딩

JSON 웹 토큰 헤더와 페이로드를 검사합니다. 이 도구는 서명의 유효성을 검사하지 않으며 처리는 브라우저에 유지됩니다.

JWT 토큰 입력

아래 JWT를 붙여넣어 즉시 디코딩하고 검사하고 검증하세요.

JSON 웹 토큰 입력을 기다리는 중입니다.

디코드 헤더

JSON
JWT를 붙여넣으면 구문 분석된 콘텐츠가 여기에 표시됩니다.

페이로드 디코딩

청구
JWT를 붙여넣으면 구문 분석된 콘텐츠가 여기에 표시됩니다.

JWT 서명 확인

선택
디코딩 후 서명이 여기에 표시됩니다.

JWT 발급 시 사용할 비밀번호를 입력하세요. HS256 확인은 브라우저에서 기본적으로 수행됩니다.

JWT

온라인 JWT 디코딩을 사용하는 방법은 무엇입니까?

  1. 전체 JWT 토큰을 붙여넣습니다.
  2. 헤더, 페이로드 및 서명을 구문 분석하려면 "JWT 디코딩"을 누르세요.
  3. 서명 확인이 필요한 경우 비밀번호를 입력한 후 "서명 확인"을 이용하세요.
JSON

JSON 웹 토큰이란 무엇입니까?

JWT는 로그인, API 확인 및 서비스 간 인증에 일반적으로 사용되는 토큰 형식입니다. 헤더, 페이로드, 서명의 세 가지 섹션으로 구성됩니다.

페이로드 콘텐츠는 디코딩되고 읽을 수 있으며 민감한 정보는 JWT 클레임에 배치되어서는 안 됩니다.

고등학교

JWT 확인 및 보안

이 페이지에서는 HS256 서명 검증 및 생성을 지원하므로 테스트 환경 토큰이 동일한 비밀로 생성되었는지 쉽게 확인할 수 있습니다.

모든 JWT 디코딩, 인코딩 및 서명 확인은 기본적으로 브라우저에서 수행됩니다.

JWT SEO 지식 기반

온라인 JWT 디코딩에 대한 전체 가이드: JSON 웹 토큰이란 무엇이며, 이를 확인하는 방법 및 안전하게 사용하는 방법

"JWT 디코더", "JWT 디코더", "JSON 웹 토큰 구문 분석", "JWT 확인" 또는 "JWT 인코더"를 검색하는 경우 이는 일반적으로 이미 토큰이 있고 해당 헤더, 페이로드, 만료 시간, 서명 알고리즘 및 클레임을 빠르게 이해해야 함을 의미합니다. 이 페이지에는 온라인 JWT 디코딩 도구를 제공할 뿐만 아니라 개발자들이 자주 문의하는 JWT에 대한 기본 지식도 정리되어 있습니다.

JWT란 무엇입니까?

JWT는 JSON Web Token의 약어입니다. JSON을 사용하여 정보를 표현한 후 이를 단순화된 문자열로 변환하는 토큰 형식입니다. 프런트엔드 및 백엔드 분리 웹사이트, App API, 회원 로그인, Single Sign-On SSO, 마이크로서비스 인증 및 서비스 간 데이터 교환에 자주 사용됩니다.

JWT 디코딩에는 헤더와 페이로드가 암호화되지 않고 Base64URL 인코딩만 되므로 비밀번호가 필요하지 않습니다. 토큰을 받은 사람은 누구나 JWT 디코더를 사용하여 페이로드 콘텐츠를 볼 수 있으므로 클레임에는 비밀번호, API 키 또는 민감한 개인 정보가 포함될 수 없습니다.

JWT는 언제 사용하나요?

가장 일반적인 사용 사례는 승인입니다. 사용자가 성공적으로 로그인하면 권한 부여 서버가 JWT를 발행합니다. 이후에 프런트엔드 또는 앱이 API를 호출하면 토큰은 Authorization: Bearer 과 같은 HTTP Authorization 헤더에 배치됩니다.

JWT는 정보 교환에도 일반적으로 사용됩니다. 두 시스템이 검증 가능한 데이터를 교환해야 하는 경우 서명을 통해 수신측에서는 전송 중에 데이터가 변경되지 않았음을 확인할 수 있습니다. JWKS 엔드포인트는 일반적으로 대규모 시스템에서 공개 키를 노출하는 데 사용되므로 다양한 서비스에서 토큰의 소스를 확인할 수 있습니다.

JWT 3개 섹션 구조: 헤더, 페이로드, 서명

표준 JWT는 일반적으로 마침표로 구분된 3개의 Base64URL 문자열(Header.Payload.Signature)로 구성됩니다. 헤더의 첫 번째 섹션은 토큰 유형 및 서명 알고리즘을 설명하고, 페이로드의 두 번째 섹션에는 클레임이 포함되며, 서명의 세 번째 섹션은 무결성을 확인하는 데 사용됩니다.

일반적으로 등록된 주장에는 iss, sub, aud, exp, nbf, iatjti. 좋은 API 유효성 검사는 일반적으로 최소한 exp, issaud를 확인합니다.

JWT는 로그인 및 API에서 어떻게 작동하나요?

일반적인 프로세스는 다음과 같습니다. 사용자가 로그인하고 서버에 계정 비밀번호 또는 제3자 로그인 결과를 확인할 수 있는 권한을 부여한 후 액세스 토큰을 발급합니다. 프런트 엔드는 액세스 토큰을 API 요청에 연결합니다. 백엔드 API는 토큰을 확인하고 보호된 데이터를 반환합니다.

JWT는 범용 세션 대체가 아닙니다. 토큰이 발행되면 일반적으로 만료되기 전에 데이터베이스를 확인하지 않고도 확인할 수 있습니다. 그러나 토큰 취소, 즉각적인 권한 변경, 로그아웃 처리 등은 여전히 ​​설계가 필요합니다.

JWT 검증과 JWT 검증의 차이점은 무엇입니까?

JWT 검증은 일반적으로 토큰이 세 개의 세그먼트를 가지고 있는지, 디코딩할 수 있는지, JSON이 합법적인지, 만료되었는지, 발급자가 올바른지, 대상이 현재 API를 준수하는지 등 예상된 규칙을 충족하는지 확인하는 것을 의미합니다.

JWT 확인은 지정된 알고리즘과 키를 사용하여 서명을 다시 계산한 다음 이를 토큰의 세 번째 서명과 비교합니다. 페이로드를 이해할 수 있다고 해서 토큰이 신뢰할 수 있다는 의미는 아닙니다. 공식 API는 인감 검증과 클레임 검증을 거쳐야 합니다.

JWT 디코드와 JWT 인코딩의 차이점은 무엇입니까?

JWT 디코드는 토큰의 첫 번째 및 두 번째 단락을 다시 JSON으로 변환하여 헤더와 페이로드를 읽을 수 있도록 합니다. JWT 인코딩은 반대 프로세스입니다. 헤더 JSON 및 페이로드 JSON을 준비하고 서명을 생성한 후 마지막으로 이를 완전한 토큰으로 결합합니다.

페이로드 콘텐츠만 보고 싶다면 비밀이 필요하지 않습니다. 토큰이 실제로 시스템에서 발행되었는지 확인하려면 올바른 비밀 또는 공개 키를 사용하여 서명을 확인해야 합니다. 현재 이 페이지는 HS256을 지원합니다.

JWT 클레임 비교: 디코딩 후 어떤 필드를 확인해야 합니까?

온라인 JWT 디코딩을 사용할 때는 토큰을 발행한 사람, 토큰이 발행된 시스템, 적용 시기, 만료 시기, 권한 범위가 API 요구 사항을 충족하는지 여부도 확인해야 합니다. 다음 표에는 일반적인 JWT 클레임이 요약되어 있습니다.

청구중국어 의미디버깅할 때 확인해야 할 사항
iss발행자, 발행자인증 서버인지 신뢰할 수 있는 ID 공급자인지 여부.
서브주체, 사용자 또는 주체 ID올바른 사용자, 회원, 서비스 계정 또는 장치에 해당하는지 여부.
오드청중, 토큰 청중현재 API로 보낼지 여부; 청중 오류로 인해 401이 발생하는 경우가 많습니다.
특급만료 시간, 만료 시간만료 여부; Unix 타임스탬프와 시간대 표시의 차이점을 확인하세요.
NBF이전에는 유효하지 않음아직 사용 가능한 시간에 도달하지 않았는지 여부 서버 시간 편차도 영향을 미칩니다.
발행일, 발행 시간실제 로그인 시간이나 새로고침 토큰 시간과 일치합니까?
jtiJWT ID, 토큰 고유 ID해지 목록, 감사 로그 또는 재생 공격 보호에 사용할 수 있는지 여부.
범위권한의 범위API에 필요한 읽기, 쓰기, 관리자 및 기타 권한이 존재하는지 여부.

HS256, RS256 및 ES256 중에서 선택하는 방법은 무엇입니까?

JWT 헤더의 alg는 검증자에게 어떤 알고리즘을 사용해야 하는지 알려줍니다. HS256은 HMAC SHA-256이며 발급과 검증 모두 동일한 비밀 세트를 사용합니다. RS256은 RSA 개인 키 서명과 공개 키 확인을 사용합니다. ES256은 타원 곡선 알고리즘을 사용합니다.

백엔드는 공격자가 헤더를 수정하여 확인 프로세스에 영향을 미치는 것을 방지하기 위해 허용된 알고리즘 목록을 명확하게 지정해야 합니다. JWT가 ID 공급자로부터 제공되는 경우 일반적으로 JWKS 또는 공개 키를 가져와 kid, iss, aud, exp를 확인하세요.

일반적인 JWT 오류 및 문제 해결 방법

JWT 디코더를 사용할 때 발생하는 가장 일반적인 문제는 토큰이 표준 3세그먼트 형식이 아니거나, Base64URL 문자열이 불완전하게 복사되거나, 앞뒤에 공백이 있거나, 페이로드가 합법적인 JSON이 아니거나, 서명 비밀이 잘못 사용되는 것입니다. API가 401 또는 403을 반환하는 경우 먼저 JWT를 디코딩하고 exp, aud범위를 확인하는 것이 좋습니다.

JWT 디버깅 체크리스트
  • 토큰이 header.payload.signature 3세그먼트 형식인지 여부.
  • Authorization 헤더가 Bearer 스키마를 사용하는지 여부입니다.
  • exp가 만료되었는지, 서버 시간이 동기화되었는지 여부.
  • issaud가 현재 환경과 일치하는지 여부.
  • HS256 비밀번호가 발급 목적과 완전히 일치하는지 여부.
  • RS256/ES256이 올바른 공개 키와 kid를 사용하는지 여부.
  • 권한 클레임에 API에 필요한 범위 또는 역할이 포함되어 있는지 여부입니다.

JWT, 세션 및 SAML의 차이점은 무엇입니까?

세션은 일반적으로 서버나 중앙 저장소에 상태를 저장하고, 브라우저는 세션 ID만 저장합니다. JWT는 API가 서명을 사용하여 무결성을 확인할 수 있도록 상태의 일부를 토큰에 넣습니다. SAML은 XML 기반이며 일반적으로 엔터프라이즈 SSO에 사용됩니다.

계획상황에 적합주의할 점
JWTAPI 인증, SSO 액세스 토큰, 마이크로서비스민감정보의 유효기간, 인감확인, 철회 및 유출에 대한 통제가 필요합니다.
세션즉각적인 로그아웃 또는 중앙 집중식 상태 제어가 필요한 기존 웹사이트서버측 세션 저장소가 필요하며, 서비스 간 확장에는 추가 설계가 필요합니다.
SAML엔터프라이즈 ID 통합, 레거시 SSO 시스템XML 구조는 더 크고 서명과 설정은 일반적으로 더 복잡합니다.

JWT 보안 조언: 화이트햇 SEO도 위험을 명확하게 기록해야 합니다.

  • JWT 헤더 또는 페이로드에 비밀번호, 개인 키, API 키, 결제 정보 또는 민감한 개인 정보를 넣지 마세요.
  • 합리적인 exp를 설정하고 액세스 토큰을 오랫동안 유효하게 만들지 마세요.
  • 허용되는 알고리즘은 백엔드 검증 중에 수정되어야 하며 헤더의 alg를 맹목적으로 신뢰하지 마십시오.
  • 충분히 길고 임의의 HS256 비밀을 사용하십시오. 프로덕션 환경에서는 예시 비밀을 사용하지 마세요.
  • 필요한 권한 요청이 있는 iss, aud, nbf, iat를 확인하세요.
  • 헤더가 너무 커지거나 데이터 유출이 발생하는 것을 방지하려면 지나치게 큰 권한 목록을 JWT에 채우지 마세요.
  • 프런트엔드 저장소 토큰은 XSS, CSRF, 쿠키 속성 및 브라우저 저장소 위험을 평가해야 합니다.

이 온라인 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 및 기본 개인 정보 보호에 중점을 두고 중국어로 재구성되고 다시 작성되었습니다.

온라인 JWT 디코딩 FAQ

온라인 JWT 디코딩이 서명을 확인합니까?
헤더와 페이로드를 디코딩하는 것은 서명을 확인하는 것과 동일하지 않습니다. 토큰 변조 여부를 확인하려면 동일한 비밀번호를 입력하고 확인을 실행하세요.
JWT 페이로드에 비밀번호나 키가 포함될 수 있나요?
권장되지 않습니다. 일반적으로 JWT는 Base64URL로만 인코딩되며 토큰을 얻은 사람은 누구나 페이로드를 읽을 수 있습니다.
JWT 인코더는 공식적으로 토큰을 발행하는 데 적합합니까?
이 도구는 개발, 테스트 및 디버깅에 적합합니다. 공식 환경에는 백엔드 서비스 발급 토큰이 있어야 하며 비밀 또는 개인 키를 적절하게 관리해야 합니다.