本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
撤銷權杖
您可以使用撤銷使用者的重新整理權杖 AWS API。撤銷重新整理權杖時,先前該重新整理權杖發行的所有存取權杖都會無效。發行給使用者的其他重新整理權杖不受影響。
注意
JWT令牌是獨立的,其中包含創建令牌時分配的簽名和到期時間。撤銷的權杖不能與任何需要權杖的 Amazon Cognito API 呼叫搭配使用。但是,如果使用任何驗證令牌簽名和過期的JWT庫進行驗證,則撤銷的令牌仍然有效。
您可以在啟用撤銷權杖功能的情況下,撤銷使用者集區用戶端的重新整理權杖。建立新使用者集區用戶端時,撤銷權杖功能會預設為啟用。
啟用撤銷權杖功能
您必須先啟用撤銷權杖功能,才能為現有使用者集區用戶端撤銷權杖。您可以使用 AWS CLI
或啟用現有使用者集區用戶端的權杖撤銷。 AWS API為此,請調用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 API,預設為啟用。 AWS CLI
啟用權杖撤銷後,系統會在 Amazon Cognito JSON 網路權杖中新增新宣告。存取權杖和 ID 權杖中會新增 origin_jti
和 jti
宣告。這些宣告會增加應用程式用戶端存取和 ID 權杖的大小。
要創建或修改啟用令牌撤銷的應用程序客戶端,請在您的CreateUserPoolClient或UpdateUserPoolClientAPI請求中包含以下參數。
"EnableTokenRevocation":
true
撤銷權杖
您可以使用RevokeTokenAPI要求 (例如使用aws cognito-idp
revoke-token
CLI命令) 撤銷重新整理權杖。您也可以使用 撤銷端點 撤銷權杖。此端點在您將網域新增至使用者集區之後才能使用。您可以在 Amazon Cognito 託管網域或您自己的自訂網域上,使用撤銷端點功能。
注意
撤銷重新整理權杖的請求中必須包含用來取得該權杖的用戶端 ID。
以下是示例RevokeToken
API請求的主體。
{ "ClientId": "
1example23456789
", "ClientSecret": "abcdef123456789ghijklexample
", "Token": "eyJjdHkiOiJKV1QiEXAMPLE
" }
以下是對具有自訂網域之使用者集區/oauth2/revoke
端點的 c URL 要求範例。
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
端點都不需要額外授權,除非您的應用程式用戶端有用戶端密碼。