쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

자격 증명(ID) 토큰 이해

포커스 모드
자격 증명(ID) 토큰 이해 - Amazon Cognito

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

ID 토큰은 name, email, phone_number 등 인증된 사용자의 자격 증명에 대한 클레임이 포함된 JSON 웹 토큰(JWT)입니다. 애플리케이션 내에서 이 자격 증명 정보를 사용할 수 있습니다. 리소스 서버 또는 서버 애플리케이션에 사용자를 인증하는 경우에도 ID 토큰을 사용할 수 있습니다. 애플리케이션 외부에서 웹 API 작업에 ID 토큰을 사용할 수도 있습니다. 이러한 경우 ID 토큰의 서명을 확인해야 ID 토큰 내의 모든 클레임을 신뢰할 수 있습니다. JSON 웹 토큰 확인을 참조하세요.

ID 토큰 만료는 5분에서 1일 사이로 설정할 수 있습니다. 앱 클라이언트별로 이 값을 설정할 수 있습니다.

중요

사용자가 관리형 로그인으로 로그인하면 Amazon Cognito는 1시간 동안 유효한 세션 쿠키를 설정합니다. 애플리케이션에서 인증에 관리형 로그인을 사용하고 액세스 및 ID 토큰에 최소 기간을 1시간 미만으로 지정하는 경우 쿠키가 만료될 때까지 사용자는 여전히 유효한 세션을 갖게 됩니다. 사용자에게 1시간 세션 동안 만료되는 토큰이 있는 경우 사용자는 재인증 없이 토큰을 새로 고칠 수 있습니다.

ID 토큰 헤더

헤더에는 키 ID(kid) 및 알고리즘(alg) 등 두 가지 정보가 포함되어 있습니다.

{ "kid" : "1234example=", "alg" : "RS256" }
kid

키 ID입니다. 이 값은 토큰의 JSON 웹 서명(JWS)을 보호하는 데 어떤 키가 사용되었는지 나타냅니다. jwks_uri 엔드포인트에서 사용자 풀 서명 키 ID를 볼 수 있습니다.

kid 파라미터에 대한 자세한 내용은 키 식별자(kid) 헤더 파라미터를 참조하세요.

alg

Amazon Cognito가 액세스 토큰을 보호하는 데 사용한 암호화 알고리즘입니다. 사용자 풀은 SHA-256에서의 RSA 서명인 RS256 암호화 알고리즘을 사용합니다.

alg 파라미터에 대한 자세한 내용은 알고리즘(alg) 헤더 파라미터를 참조하세요.

ID 토큰 기본 페이로드

이는 ID 토큰에서 나온 예시 페이로드입니다. 여기에는 인증된 사용자에 대한 클레임이 포함되어 있습니다. OpenID Connect(OIDC) 표준 클레임에 대한 자세한 내용은 OIDC 표준 클레임 목록을 참조하세요. 사전 토큰 생성 Lambda 트리거을 사용하여 자체 설계의 클레임을 추가할 수 있습니다.

<header>.{ "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "cognito:groups": [ "test-group-a", "test-group-b", "test-group-c" ], "email_verified": true, "cognito:preferred_role": "arn:aws:iam::111122223333:role/my-test-role", "iss": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_example", "cognito:username": "my-test-user", "middle_name": "Jane", "nonce": "abcdefg", "origin_jti": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "cognito:roles": [ "arn:aws:iam::111122223333:role/my-test-role" ], "aud": "xxxxxxxxxxxxexample", "identities": [ { "userId": "amzn1.account.EXAMPLE", "providerName": "LoginWithAmazon", "providerType": "LoginWithAmazon", "issuer": null, "primary": "true", "dateCreated": "1642699117273" } ], "event_id": "64f513be-32db-42b0-b78e-b02127b4f463", "token_use": "id", "auth_time": 1676312777, "exp": 1676316377, "iat": 1676312777, "jti": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "email": "my-test-user@example.com" } .<token signature>
sub

인증된 사용자에 대한 고유 식별자(UUID) 또는 제목입니다. 사용자 풀에서 사용자 이름이 고유하지 않을 수 있습니다. sub 클레임은 특정 사용자를 식별하는 가장 좋은 방법입니다.

cognito:groups

사용자를 멤버로 가진 사용자 풀 그룹의 이름 배열입니다. 그룹은 앱에 표시하는 식별자가 될 수도 있고 자격 증명 풀에서 선호하는 IAM 역할에 대한 요청을 생성할 수도 있습니다.

cognito:preferred_role

사용자의 우선순위가 가장 높은 사용자 풀 그룹과 연결한 IAM 역할의 ARN입니다. 사용자 풀이 이 역할 클레임을 선택하는 방법에 대한 자세한 내용은 그룹에 우선 순위 값 할당 섹션을 참조하세요.

iss

토큰을 발행한 자격 증명 공급자입니다. 클레임의 형식은 다음과 같습니다.

https://cognito-idp.<Region>.amazonaws.com/<your user pool ID>

cognito:username

사용자 풀에 있는 사용자의 사용자 이름입니다.

nonce

nonce 클레임은 OAuth 2.0 authorize 엔드포인트에 대한 요청에 추가할 수 있는 동일한 이름의 파라미터에서 비롯됩니다. 파라미터를 추가하면 nonce 클레임은 Amazon Cognito가 발행하는 ID 토큰에 포함되어 있으며, 이를 사용하여 재생 공격으로부터 보호할 수 있습니다. 요청에 nonce 값을 제공하지 않을 경우, 사용자가 서드 파티 자격 증명 공급자를 통해 인증할 때 Amazon Cognito는 자동으로 논스를 생성 및 검증한 다음 ID 토큰에 대한 nonce 클레임으로 추가합니다. Amazon Cognito에서 nonce 클레임 구현은 OIDC 표준에 기반합니다.

origin_jti

사용자의 새로 고침 토큰과 연결된 토큰 취소 식별자입니다. Amazon Cognito는 취소 엔드포인트 또는 RevokeToken API 작업을 통해 사용자의 토큰을 취소했는지 확인할 때 origin_jti 클레임을 참조합니다. 토큰을 취소하면 Amazon Cognito는 동일한 origin_jti 값을 가진 모든 액세스 및 ID 토큰을 무효화합니다.

cognito:roles

사용자 그룹과 연결된 IAM 역할의 이름 배열입니다. 모든 사용자 풀 그룹에는 하나의 IAM 역할을 연결할 수 있습니다. 이 배열은 우선 순위에 관계없이 사용자 그룹의 모든 IAM 역할을 나타냅니다. 자세한 내용은 사용자 풀에 그룹 추가 단원을 참조하십시오.

aud

사용자를 인증한 사용자 풀 앱 클라이언트입니다. Amazon Cognito는 액세스 토큰 client_id 클레임에서 동일한 값을 렌더링합니다.

identities

사용자 identities 속성의 내용입니다. 속성에는 페더레이션 로그인을 수행하거나 페더레이션 사용자를 로컬 프로필에 연결하여 사용자에게 연결한 각 서드 파티 ID 제공업체 프로필에 대한 정보가 포함됩니다. 이 정보에는 제공업체 이름, 제공업체 고유 ID 및 기타 메타데이터가 포함됩니다.

token_use

토큰의 의도된 목적입니다. ID 토큰에서 값은 id입니다.

auth_time

사용자가 인증을 완료한 인증 시간(Unix 시간 형식)입니다.

exp

사용자의 토큰이 만료되는 만료 시간(Unix 시간 형식)입니다.

iat

Amazon Cognito가 사용자의 토큰을 발급한 발급 시간(Unix 시간 형식)입니다.

jti

JWT의 고유 식별자입니다.

ID 토큰에는 OIDC 표준 클레임에 정의된 OIDC 표준 클레임이 포함될 수 있습니다. 또한 ID 토큰에는 사용자 풀에 정의된 사용자 지정 속성도 포함될 수 있습니다. Amazon Cognito는 ID 토큰에 사용자 지정 속성 값을 속성 유형에 상관없이 문자열로 씁니다.

참고

사용자 풀의 사용자 지정 속성은 항상 custom:으로 시작합니다.

ID 토큰 서명

ID 토큰의 서명은 JWT 토큰의 헤더와 페이로드에 따라 계산됩니다. 앱에서 받는 ID 토큰의 클레임을 수락하기 전에 토큰의 서명을 확인하세요. 자세한 내용은 JSON 웹 토큰 확인을 참조하세요. JSON 웹 토큰 확인.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.