사용자 풀에 토큰 사용 - Amazon Cognito

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

사용자 풀에 토큰 사용

사용자를 인증하고 토큰으로 리소스에 대한 액세스 권한을 부여합니다. 토큰의 클레임은 사용자에 대한 정보입니다. ID 토큰에는 사용자 이름, 성, 이메일 주소와 같은 사용자의 신원에 대한 클레임이 포함되어 있습니다. 액세스 토큰에는 인증된 사용자가 서드 파티 API, Amazon Cognito 사용자 셀프 서비스 API 작업, UserInfo 엔드포인트에 액세스하는 데 사용할 수 있는 scope과 같은 클레임이 포함되어 있습니다. 액세스 토큰과 ID 토큰에는 모두 사용자 풀의 사용자 그룹 멤버십이 포함된 cognito:groups 클레임이 포함되어 있습니다. 사용자 풀 그룹에 대한 자세한 내용은 사용자 풀에 그룹 추가 섹션을 참조하세요.

Amazon Cognito에는 새 토큰을 얻거나 기존 토큰을 취소하는 데 사용할 수 있는 새로 고침 토큰도 있습니다. 토큰을 새로 고쳐 새 ID와 액세스 토큰을 가져옵니다. 토큰을 취소하여 새로 고침 토큰을 통해 부여되는 사용자 액세스 권한을 취소할 수 있습니다.

Amazon Cognito는 Base64로 인코딩된 문자열으로 토큰을 발급합니다. 모든 Amazon Cognito ID 또는 액세스 토큰을 base64에서 일반 텍스트 JSON으로 디코딩할 수 있습니다. Amazon Cognito 새로 고침 토큰은 암호화되므로 사용자 풀 사용자 및 관리자가 읽을 수 없으며 사용자 풀만 읽을 수 있습니다.

토큰으로 인증

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

인증 개요
토큰 저장

앱이 다양한 크기의 토큰을 저장할 수 있어야 합니다. 토큰 크기는 추가 클레임, 인코딩 알고리즘의 변경 및 암호화 알고리즘의 변경을 포함하되 이에 국한되지 않는 이유로 변경될 수 있습니다. 사용자 풀에서 토큰 취소를 활성화하면 Amazon Cognito가 JSON 웹 토큰에 추가 클레임을 추가하여 크기를 늘립니다. 새 클레임 origin_jtijti가 액세스 토큰과 ID 토큰에 추가됩니다. 토큰 취소에 대한 자세한 내용은 토큰 철회를 참조하세요.

중요

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

토큰 사용자 지정

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

버전 2 이벤트를 사용한 토큰 사용자 지정에 액세스하는 경우 추가 비용이 적용됩니다. 자세한 내용은 Amazon Cognito 요금을 참조하세요.