Prompt Detail:
예시로 OIDC에서 사용하는 ID Token과 Access Token의 디코딩된 페이로드 부분을 예로 들어주겠습니다.
ID Token Payload:
json{
"iss": "https://example.com", // 발급자(Issuer)
"sub": "1234567890", // 서브젝트(Subject)
"aud": "client_id", // 수신자(Audience)
"exp": 1491908400, // 만료 시간(Expiration Time)
"iat": 1491904400, // 발급 시간(Issued At)
"nonce": "nonce-value" // Nonce값
}
Access Token Payload:
json{
"iss": "https://example.com", // 발급자(Issuer)
"sub": "1234567890", // 서브젝트(Subject)
"aud": ["https://api.example.com", "https://auth.example.com"], // 수신자(Audience)
"exp": 1491908400, // 만료 시간(Expiration Time)
"iat": 1491904400, // 발급 시간(Issued At)
"scope": "read write", // 허용 범위(Scope)
"jti": "jwt-id" // JWT 식별자(JWT ID)
}
각 항목에 대한 주석은 다음과 같습니다:
iss
(Issuer): 토큰 발급자의 식별자입니다. 이 값은 토큰의 유효성 검증에 사용됩니다.sub
(Subject): 토큰이 대상으로 하는 서브젝트를 식별하는 값입니다. 이 값은 보통 사용자의 고유한 식별자를 나타냅니다.aud
(Audience): 토큰 수신자의 식별자입니다. 이 값은 보통 API나 애플리케이션의 클라이언트 ID를 나타냅니다. 여러 수신자를 지정할 경우 배열로 나타낼 수 있습니다.exp
(Expiration Time): 토큰의 만료 시간을 나타냅니다. 이 시간 이후에는 토큰이 더 이상 유효하지 않습니다.iat
(Issued At): 토큰이 발급된 시간을 나타냅니다.nonce
(Nonce): 인증 요청에 대한 응답으로 받은 Nonce 값입니다. 이 값은 CSRF 공격을 막기 위해 사용됩니다.scope
(Scope): 토큰이 접근 가능한 리소스의 범위를 나타냅니다. 보통은 API 엔드포인트나 데이터베이스에 대한 접근 권한을 나타내는 문자열로 구성됩니다.jti
(JWT ID): JWT의 고유한 식별자입니다. 이 값을 사용하여 중복된 JWT를 방지할 수 있습니다.
Add a comment