JWT를 디코딩하여 헤더/페이로드를 확인하거나, 인코딩하여 새로운 JWT를 생성할 수 있습니다.
JWT(Json Web Token)는 두 시스템 간에 정보를 안전하게 전송하기 위해 사용되는 개방형 표준(RFC 7519)입니다. 주로 인증 및 권한 부여에 활용되며, 세 부분(헤더, 페이로드, 서명)으로 구성되어 있습니다. JWT는 자체적으로 정보를 포함하고 있어 별도의 세션 저장소 없이 인증 상태를 유지할 수 있습니다. 하지만 민감한 정보는 반드시 암호화하거나 서명하여 안전하게 관리해야 합니다.
JWT는 세 부분(헤더, 페이로드, 서명)으로 구성됩니다. 헤더에는 토큰의 타입과 서명 알고리즘 정보가, 페이로드에는 실제 데이터(클레임)가, 서명에는 토큰의 무결성을 검증하기 위한 값이 들어갑니다. 이 세 부분은 각각 base64url로 인코딩되어 마침표로 구분됩니다.
JWT는 다양한 암호화 알고리즘을 지원합니다. 각 알고리즘은 보안 수준과 성능 특성이 다르므로 용도에 맞게 선택해야 합니다.
JWT Debugger는 다음과 같은 상황에서 유용하게 사용할 수 있습니다:
JWT(JSON Web Token)는 당사자 간에 정보를 안전하게 전송하기 위한 개방형 표준입니다. 웹 애플리케이션의 인증 및 권한 부여에 일반적으로 사용되며, 상태가 없고 토큰 자체에 모든 필요한 정보를 포함하고 있습니다.
대칭 알고리즘(HS256, HS384, HS512)은 서명과 검증에 같은 비밀 키를 사용합니다. 비대칭 알고리즘(RS256, ES256 등)은 서명에는 개인 키를, 검증에는 공개 키를 사용하여 분산 시스템에서 더 나은 보안성을 제공합니다.
모든 JWT 처리는 브라우저에서 로컬로 수행됩니다. 토큰이나 키가 외부 서버로 전송되지 않습니다. 그러나 테스트 목적으로 실제 프로덕션 비밀 키를 사용하는 것은 피하세요.
디코더 탭에 JWT를 붙여넣고 올바른 비밀 키 또는 공개 키를 입력하세요. 도구가 자동으로 서명을 검증하고 유효한지 또는 유효하지 않은지 표시합니다.
이 도구로 유효한 JWT를 생성할 수 있지만, 비밀 키의 보안을 위해 프로덕션 토큰 생성은 애플리케이션의 백엔드에서 수행하는 것을 권장합니다.