Amazon Cognito에서 발행한 새로 고침 토큰을 취소하려면 어떻게 해야 하나요?

3분 분량
0

API 또는 엔드포인트를 사용하여 Amazon Cognito에서 생성한 새로 고침 토큰을 취소하고 싶습니다.

해결 방법

API 및 엔드포인트를 사용하여 Amazon Cognito에서 생성한 새로 고침 토큰을 취소할 수 있습니다.

참고: 새로 고침 토큰을 실시간으로 취소하여 이러한 새로 고침 토큰이 액세스 토큰을 생성할 수 없게 할 수 있습니다.

새로 고침 토큰 취소를 위한 필요 조건

앱 클라이언트의 토큰 취소를 켜면 해당 앱 클라이언트가 발행한 새로 고침 토큰을 취소할 수 있습니다. 새 Amazon Cognito 사용자 풀 클라이언트를 생성할 때** EnableTokenRevocation** 파라미터가 기본적으로 켜집니다. 기존 사용자 풀 클라이언트의 토큰을 취소하기 전에 UpdateUserPoolClient API 작업 내에서 토큰 취소를 켜세요. 자신의 앱 클라이언트의 현재 설정을 포함시키고 EnableTokenRevocation 파라미터를 true로 설정합니다.

토큰 취소 설정을 켜면 origin_jtijti 클레임이 액세스 및 ID 토큰에 추가됩니다.

  • jti 클레임은 JSON 웹 토큰(JWT)의 고유 식별자를 제공합니다.
  • jti 클레임은 JWT가 재생되지 않도록 하는 데 사용됩니다.
  • jti 값은 대소문자를 구분하는 문자열입니다.
  • REFRESH_TOKEN 인증 흐름을 사용하여 새 액세스 및 ID 토큰을 생성하는 경우, 새 액세스 및 ID 토큰은 동일한 origin_jti 클레임을 갖습니다. jti 클레임은 다릅니다.

자세한 내용은 토큰 취소 켜기사용자 풀에서 토큰 사용을 참조하세요.

새로 고침 토큰 취소의 예상 결과

액세스 토큰 및 JWT에 미치는 영향을 포함하여 새로 고침 토큰을 취소할 때 예상되는 사항에 대한 자세한 내용은 토큰 취소RevokeToken을 참조하세요.

참고: JWT에 대한 자세한 내용은 JSON 웹 토큰 확인을 참조하세요.

RevokeToken API 호출을 사용하여 새로 고침 토큰 취소

취소할 새로 고침 토큰, 앱 클라이언트 ID 및 클라이언트 암호는 RevokeToken API를 호출하는 데 필요한 파라미터입니다.

참고: 클라이언트 암호는 클라이언트 ID에 암호가 있는 경우에만 필요합니다.

요청 구문:

{
  "ClientId": "string",
  "ClientSecret": "string",
  "Token": "string"
}

AWS Command Line Interface(AWS CLI) 명령의 예:

참고: 토큰을 <value> 자신의 토큰 정보로 바꾸세요. 클라이언트 ID를 <value> 자신의 클라이언트 ID로 바꾸세요. 클라이언트 암호를 <value> 자신의 앱 클라이언트 암호로 바꾸세요.

aws cognito-idp revoke-token
--token <value>
--client-id <value>
--client-secret <value>

참고: AWS CLI 명령을 실행할 때 오류가 발생하면 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

컬 명령의 예:

참고: 을(를)<region> 자신의 AWS 리전으로 바꾸세요. 을(를)<refresh token> 자신의 토큰 정보로 바꾸세요. 을(를)<client-id> 자신의 클라이언트 ID로 바꾸세요.

awscurl \
-v \
-X POST \
--service cognito-idp \
--region <region> \
-H 'X-Amz-Target: AWSCognitoIdentityProviderService.RevokeToken' \
-H 'Content-Type: application/x-amz-json-1.1' \
-d '{"ClientId": "<client-id>", "Token": "<refresh-token>"}' \
https://cognito-idp.<region>.amazonaws.com

취소 엔드포인트를 사용하여 새로 고침 토큰 취소

/oauth2/revoke 엔드포인트는 자신의 사용자 풀에 도메인을 추가한 후에 사용할 수 있습니다. 엔드포인트가 토큰을 취소한 후에는 취소된 토큰을 사용하여 Amazon Cognito 토큰이 인증하는 API에 액세스할 수 없습니다. 요청 파라미터를 비롯한 /oauth2/revoke 엔드포인트에 대한 자세한 내용은 엔드포인트 취소를 참조하세요.

예 1: 앱 암호가 없는 앱 클라이언트를 사용하여 토큰을 취소합니다.

참고: 을(를)<region> 자신의 AWS 리전으로 바꾸세요. 을(를)<refresh token> 자신의 새로 고침 토큰 정보로 바꾸세요. 을(를)<client-id> 자신의 클라이언트 ID로 바꾸세요.

POST /oauth2/revoke HTTP/1.2
    Host: https://mydomain.auth.<region>.amazoncognito.com
    Accept: application/json
    Content-Type: application/x-www-form-urlencoded
    token=<refresh token>&
    client_id=<client-id>

예 2: 앱 암호가 있는 앱 클라이언트를 사용하여 토큰을 취소합니다.

POST /oauth2/revoke HTTP/1.2
    Host: https://mydomain.auth.<region>.amazoncognito.com
    Accept: application/json
    Content-Type: application/x-www-form-urlencoded
    Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
    token=<refresh token>

권한 부여 헤더 설정에 대한 자세한 내용은 내 사용자 풀에서 “클라이언트의 비밀 해시를 확인할 수 없음” 오류를 어떻게 <client-id>해결할 수 있나요?를 참조하세요.

엔드포인트 오류

엔드포인트 오류에 대한 자세한 내용은 엔드포인트 취소를 참조하고 취소 오류 응답에서 정보를 검토하세요.

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음