기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
토큰 취소로 사용자 세션 종료
다음 방법을 사용하여 새로 고침 토큰과 최종 사용자 세션을 취소할 수 있습니다. 새로 고침 토큰을 취소하면 해당 새로 고침 토큰에서 이전에 발급한 모든 액세스 토큰이 무효화됩니다. 사용자에게 발급된 다른 새로 고침 토큰은 영향을 받지 않습니다.
- RevokeToken 작업
-
RevokeToken은 대화형 로그인의 초기 액세스 토큰을 포함하여 지정된 새로 고침 토큰에 대한 모든 액세스 토큰을 취소합니다. 이 작업은 사용자의 다른 새로 고침 토큰이나 이러한 다른 새로 고침 토큰의 ID 및 액세스 토큰 하위 항목에 영향을 주지 않습니다.
- 해지 엔드포인트
-
취소 엔드포인트는 지정된 새로 고침 토큰과 새로 고침 토큰이 생성한 모든 ID 및 액세스 토큰을 취소합니다. 또한이 엔드포인트는 대화형 로그인에서 초기 액세스 토큰을 취소합니다. 이 엔드포인트에 대한 요청은 사용자의 다른 새로 고침 토큰이나 이러한 다른 새로 고침 토큰의 ID 및 액세스 토큰 하위 항목에 영향을 주지 않습니다.
- GlobalSignOut
-
GlobalSignOut은 사용자가 액세스 토큰으로 권한을 부여하는 셀프 서비스 작업입니다. 이 작업은 요청하는 사용자의 새로 고침, ID 및 액세스 토큰을 모두 취소합니다.
- AdminUserGlobalSignOut
-
AdminUserGlobalSignOut은 관리자가 IAM 자격 증명으로 권한을 부여하는 서버 측 작업입니다. 이 작업은 대상 사용자의 모든 새로 고침, ID 및 액세스 토큰을 취소합니다.
참고
사용자 풀 JWTs는 토큰이 생성될 때 할당된 서명 및 만료 시간과 함께 독립적으로 포함됩니다. 취소된 토큰은 토큰이 필요한 Amazon Cognito API 호출에 사용할 수 없습니다. 그러나 취소된 토큰은 토큰의 서명 및 만료를 확인하는 JWT 라이브러리를 사용하여 확인되는 경우 여전히 유효합니다.
토큰 취소를 사용하는 사용자 풀 클라이언트의 새로 고침 토큰을 취소할 수 있습니다. 새 사용자 풀 클라이언트를 생성하면 토큰 취소가 기본적으로 사용됩니다.
토큰 취소 사용
기존 사용자 풀 클라이언트의 토큰을 취소하려면 먼저 토큰 취소를 사용하도록 설정해야 합니다. 또는 AWS API를 사용하여 기존 사용자 풀 클라이언트에 AWS CLI 대한 토큰 취소를 활성화할 수 있습니다. 이렇게 하려면 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_jti
및 jti
클레임이 액세스 토큰과 ID 토큰에 추가됩니다. 이러한 클레임은 애플리케이션 클라이언트 액세스 토큰 및 ID 토큰의 크기를 늘립니다.
토큰 취소가 활성화된 앱 클라이언트를 생성하거나 수정하려면 CreateUserPoolClient 또는 UpdateUserPoolClient API 요청에 다음 파라미터를 포함합니다.
"EnableTokenRevocation":
true
토큰 취소
RevokeToken API 요청(예: aws cognito-idp
revoke-token
CLI 명령)을 사용하여 새로 고침 토큰을 취소할 수 있습니다. 취소 엔드포인트을 사용하여 토큰을 취소할 수도 있습니다. 이 엔드포인트는 사용자 풀에 도메인을 추가한 후에 사용할 수 있습니다. 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
엔드포인트에서 추가 권한 부여가 필요하지 않습니다.