토큰 철회 - Amazon Cognito

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

토큰 철회

API를 사용하여 사용자의 새로 고침 토큰을 취소할 수 있습니다. AWS 새로 고침 토큰을 취소하면 해당 새로 고침 토큰에서 이전에 발급한 모든 액세스 토큰이 무효화됩니다. 사용자에게 발급된 다른 새로 고침 토큰은 영향을 받지 않습니다.

참고

JWT 토큰은 토큰이 생성될 때 서명 및 만료 시간이 할당되는 독립형 토큰입니다. 취소된 토큰은 토큰이 필요한 Amazon Cognito API 호출에 사용할 수 없습니다. 그러나 취소된 토큰은 토큰의 서명 및 만료를 확인하는 JWT 라이브러리를 사용하여 확인되는 경우 여전히 유효합니다.

토큰 취소를 사용하는 사용자 풀 클라이언트의 새로 고침 토큰을 취소할 수 있습니다. 새 사용자 풀 클라이언트를 생성하면 토큰 취소가 기본적으로 사용됩니다.

토큰 취소 사용

기존 사용자 풀 클라이언트의 토큰을 취소하려면 먼저 토큰 취소를 사용하도록 설정해야 합니다. 또는 API를 사용하여 기존 사용자 풀 클라이언트에 대한 토큰 취소를 활성화할 수 있습니다. AWS CLI AWS 이렇게 하려면 aws cognito-idp describe-user-pool-client CLI 명령 또는 DescribeUserPoolClient API 작업을 호출하여 앱 클라이언트에서 현재 설정을 검색합니다. 그런 다음 aws cognito-idp update-user-pool-client CLI 명령 또는 UpdateUserPoolClient API 작업을 호출합니다. 앱 클라이언트의 현재 설정을 포함하고 EnableTokenRevocation 파라미터를 true로 설정합니다.

AWS Management Console AWS CLI, 또는 AWS API를 사용하여 새 사용자 풀 클라이언트를 생성하면 토큰 취소가 기본적으로 활성화됩니다.

토큰 취소를 활성화하면 Amazon Cognito JSON 웹 토큰에 새 클레임이 추가됩니다. origin_jtijti 클레임이 액세스 토큰과 ID 토큰에 추가됩니다. 이러한 클레임은 애플리케이션 클라이언트 액세스 토큰 및 ID 토큰의 크기를 늘립니다.

토큰 취소가 활성화된 상태로 앱 클라이언트를 만들거나 수정하려면 또는 API 요청에 다음 매개변수를 포함하십시오 CreateUserPoolClient. UpdateUserPoolClient

"EnableTokenRevocation": true

토큰 취소

RevokeTokenAPI 요청 (예: CLI aws cognito-idp revoke-token 명령) 을 사용하여 새로 고침 토큰을 취소할 수 있습니다. 취소 엔드포인트을 사용하여 토큰을 취소할 수도 있습니다. 이 엔드포인트는 사용자 풀에 도메인을 추가한 후에 사용할 수 있습니다. Amazon Cognito 호스트된 도메인 또는 자체 사용자 지정 도메인의 취소 엔드포인트를 사용할 수 있습니다.

참고

새로 고침 토큰을 취소하는 요청에는 토큰을 얻는 데 사용한 것과 동일한 클라이언트 ID가 포함되어야 합니다.

다음은 RevokeToken API 요청 예시의 본문입니다.

{ "ClientId": "1example23456789", "ClientSecret": "abcdef123456789ghijklexample", "Token": "eyJjdHkiOiJKV1QiEXAMPLE" }

다음은 사용자 지정 도메인이 있는 사용자 풀의 /oauth2/revoke 엔드포인트에 대한 cURL 요청의 예입니다.

curl --location 'auth.mydomain.com/oauth2/revoke' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic Base64Encode(client_id:client_secret)' \ --data-urlencode 'token=abcdef123456789ghijklexample' \ --data-urlencode 'client_id=1example23456789'

앱 클라이언트에 클라이언트 비밀이 없는 한, RevokeToken 작업 및 /oauth2/revoke 엔드포인트에서 추가 권한 부여가 필요하지 않습니다.