당신의 데이터는 100% 비공개입니다 -- JWT는 귀하의 장치에서 직접 완전히 디코딩 및 인코딩됩니다.
당신이 JWT에 대해 걱정하는 모든 정보와 다양한 프레임워크에서 JWT를 확인하는 단계별 가이드입니다.
JWT (JSON Web Token)는 정보를 구조적이고 읽기 쉬운 형식으로 전달하는 독립적이며 상태 비유지적인 토큰입니다. 당신이 API를 보호하거나 애플리케이션에 토큰 기반 인증을 채택하든, JWT는 아래와 같은 이유로 강력한 도구입니다:
전형적인 JWT는 세 부분으로 나뉘며, 각각 Base64URL로 인코딩되고 점(.)으로 분리됩니다:
이 구조는 JWT가 당사자 간에 정보를 전달하는 간결하고 안전한 방법을 제공합니다.
이러한 주장은 페이로드의 일부이며 주요 정보를 보유합니다. 다음은 참조할 표준화된 등록 클레임입니다:
클레임 | 전체 이름 | 설명 |
---|---|---|
iss | 발행자 | JWT를 발급한 엔티티, 예: 인증 서버. |
sub | 주제 | JWT의 주제를 식별하며, 일반적으로 인증된 사용자를 나타냅니다. |
aud | 청중 | 토큰을 수신하고 처리할 수 있는 수신자를 지정합니다. 여러 청중에 대한 배열 값으로 사용될 수 있으며, 하나의 수신자에 대해 단일 값이 될 수 있습니다. |
exp | 만료 시간 | 토큰 만료 시간을 설정하여 만료 후 무효화됩니다. 이는 토큰이 유효한 시간을 제한하여 재생 공격을 방지하는 데 도움이 됩니다. |
nbf | 유효 전 | 이 타임스탬프 이후에만 토큰이 유효합니다. 시계에 접근할 수 없는 상황에서 유용합니다. |
iat | 발행 시간 | 토큰이 생성된 시간입니다. 토큰의 나이를 결정하는 데 사용될 수 있습니다. |
jti | JWT ID | 토큰에 대한 고유 식별자로, 동일한 토큰이 여러 번 사용되는 것(e.g., 재생 공격)을 방지하는 데 유용합니다. |
규격 및 인증 서버의 구성에 따라 특정 사례 지원을 위해 페이로드에 추가 주장이 포함될 수 있습니다. 또한, 특정 비즈니스 요구를 충족하기 위해 JWT에 사용자 정의 주장을 추가할 수 있습니다.
OpenID Connect에서 사용되며, 인증된 사용자에 대한 프로필 정보(예: 이름, 이메일 등)를 포함합니다.
OAuth 2.0에서 사용되며, 사용자 또는 애플리케이션을 대신하여 특정 리소스 또는 API에 대한 액세스를 부여합니다.
JWT는 아래 시나리오에서 특히 유익할 수 있습니다:
JWT의 무결성을 확인하여 헤더와 페이로드가 조작되지 않았는지 확인해야 합니다. 아래는 인기 있는 프로그래밍 환경에서 JWT를 확인하는 단계별 예제입니다:
당신이 JWT에 대해 걱정하는 모든 정보와 다양한 프레임워크에서 JWT를 확인하는 단계별 가이드입니다.