

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

# 사용자 풀 JSON 웹 토큰(JWT) 이해
<a name="amazon-cognito-user-pools-using-tokens-with-identity-providers"></a>

토큰은 애플리케이션이 OIDC 인증 증명으로 사용하고 리소스에 대한 액세스를 요청하는 데 사용할 수 있는 인증 아티팩트입니다. 토큰의 클레임은 사용자에 대한 정보입니다.** ID 토큰에는 사용자 이름, 성, 이메일 주소와 같은 사용자의 신원에 대한 클레임이 포함되어 있습니다. 액세스 토큰에는 인증된 사용자가 서드 파티 API, Amazon Cognito 사용자 셀프 서비스 API 작업, [userInfo 엔드포인트](userinfo-endpoint.md)에 액세스하는 데 사용할 수 있는 `scope`과 같은 클레임이 포함되어 있습니다. 액세스 토큰과 ID 토큰에는 모두 사용자 풀의 사용자 그룹 멤버십이 포함된 `cognito:groups` 클레임이 포함되어 있습니다. 사용자 풀 그룹에 대한 자세한 내용은 [사용자 풀에 그룹 추가](cognito-user-pools-user-groups.md) 섹션을 참조하세요.

Amazon Cognito에는 새 토큰을 얻거나 기존 토큰을 취소하는 데 사용할 수 있는 새로 고침 토큰도 있습니다. [토큰을 새로 고쳐](amazon-cognito-user-pools-using-the-refresh-token.md) 새 ID와 액세스 토큰을 가져옵니다. [토큰을 취소](amazon-cognito-user-pools-using-the-refresh-token.md#amazon-cognito-identity-user-pools-revoking-all-tokens-for-user)하여 새로 고침 토큰을 통해 부여되는 사용자 액세스 권한을 취소할 수 있습니다.

Amazon Cognito는 [base64url](https://datatracker.ietf.org/doc/html/rfc4648#section-5)로 인코딩된 문자열으로 토큰을 발급합니다. 모든 Amazon Cognito ID 또는 액세스 토큰을 `base64url`에서 일반 텍스트 JSON으로 디코딩할 수 있습니다. Amazon Cognito 새로 고침 토큰은 암호화되므로 사용자 풀 사용자 및 관리자가 읽을 수 없으며 사용자 풀만 읽을 수 있습니다.

**토큰으로 인증**  
사용자가 앱에 로그인하면 Amazon Cognito가 로그인 정보를 확인합니다. 성공적으로 로그인하면 Amazon Cognito가 세션을 생성하고 인증된 사용자를 위한 ID 토큰, 액세스 토큰 및 새로 고침 토큰을 반환합니다. 이 토큰을 사용하여 Amazon API Gateway와 같은 API 및 다운스트림 리소스에 대한 액세스 권한을 사용자에게 부여할 수 있습니다. 또는 임시 AWS 보안 인증 정보로 다른 AWS 서비스에 액세스할 수 있도록 이 토큰을 교환할 수 있습니다.

![인증 개요](http://docs.aws.amazon.com/ko_kr/cognito/latest/developerguide/images/scenario-authentication-cup2.png)


**토큰 저장**  
앱이 다양한 크기의 토큰을 저장할 수 있어야 합니다. 토큰 크기는 추가 클레임, 인코딩 알고리즘의 변경 및 암호화 알고리즘의 변경을 포함하되 이에 국한되지 않는 이유로 변경될 수 있습니다. 사용자 풀에서 토큰 취소를 활성화하면 Amazon Cognito가 JSON 웹 토큰에 추가 클레임을 추가하여 크기를 늘립니다. 새 클레임 `origin_jti` 및 `jti`가 액세스 토큰과 ID 토큰에 추가됩니다. 토큰 취소에 대한 자세한 내용은 [토큰 철회](https://docs.aws.amazon.com/cognito/latest/developerguide/token-revocation.html)를 참조하세요.

**중요**  
모범 사례는 전송 중인 토큰 및 애플리케이션 컨텍스트의 스토리지에 있는 모든 토큰을 보호하는 것입니다. 토큰에는 사용자에 대한 개인 식별 정보와 사용자 풀에 사용하는 보안 모델에 대한 정보가 포함될 수 있습니다.

**토큰 사용자 지정**  
Amazon Cognito가 앱에 전달하도록 액세스 및 ID 토큰을 사용자 지정할 수 있습니다. [사전 토큰 생성 Lambda 트리거](user-pool-lambda-pre-token-generation.md)에서는 토큰 클레임을 추가, 수정 및 차단할 수 있습니다. 사전 토큰 생성 트리거는 Amazon Cognito가 기본 클레임 세트를 보내는 Lambda 함수입니다. 클레임에는 OAuth 2.0 범위, 사용자 풀 그룹 멤버십, 사용자 속성 등이 포함됩니다. 그러면 함수를 런타임에서 변경하고 업데이트된 토큰 클레임을 Amazon Cognito에 반환할 수 있습니다.

버전 2 이벤트를 사용한 토큰 사용자 지정에 액세스하는 경우 추가 비용이 적용됩니다. 자세한 내용은 [Amazon Cognito 요금](https://aws.amazon.com/cognito/pricing/)을 참조하세요.

**Topics**
+ [자격 증명(ID) 토큰 이해](amazon-cognito-user-pools-using-the-id-token.md)
+ [액세스 토큰 이해](amazon-cognito-user-pools-using-the-access-token.md)
+ [새로 고침 토큰](amazon-cognito-user-pools-using-the-refresh-token.md)
+ [토큰 취소로 사용자 세션 종료](token-revocation.md)
+ [JSON 웹 토큰 확인](amazon-cognito-user-pools-using-tokens-verifying-a-jwt.md)
+ [사용자 풀 토큰 만료 및 캐싱 관리](amazon-cognito-user-pools-using-tokens-caching-tokens.md)