撤銷權杖 - Amazon Cognito

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

撤銷權杖

您可以使用撤銷使用者的重新整理權杖 AWS API。撤銷重新整理權杖時,先前該重新整理權杖發行的所有存取權杖都會無效。發行給使用者的其他重新整理權杖不受影響。

注意

JWT令是獨立的,其中包含創建令牌時分配的簽名和到期時間。撤銷的權杖不能與任何需要權杖的 Amazon Cognito API 呼叫搭配使用。但是,如果使用任何驗證令牌簽名和過期的JWT庫進行驗證,則撤銷的令牌仍然有效。

您可以在啟用撤銷權杖功能的情況下,撤銷使用者集區用戶端的重新整理權杖。建立新使用者集區用戶端時,撤銷權杖功能會預設為啟用。

啟用撤銷權杖功能

您必須先啟用撤銷權杖功能,才能為現有使用者集區用戶端撤銷權杖。您可以使用 AWS CLI 或啟用現有使用者集區用戶端的權杖撤銷。 AWS API為此,請調用aws cognito-idp describe-user-pool-clientCLI命令或DescribeUserPoolClientAPI操作以從應用程序客戶端檢索當前設置。然後呼叫aws cognito-idp update-user-pool-clientCLI指令或UpdateUserPoolClientAPI作業。包含來自您應用程式用戶端中的當前設定,並將 EnableTokenRevocation 參數設為 true

當您使用 AWS Management Console、或、權杖撤銷建立新的使用者集區用戶端時 AWS API,預設為啟用。 AWS CLI

啟用權杖撤銷後,系統會在 Amazon Cognito JSON 網路權杖中新增新宣告。存取權杖和 ID 權杖中會新增 origin_jtijti 宣告。這些宣告會增加應用程式用戶端存取和 ID 權杖的大小。

要創建或修改啟用令牌撤銷的應用程序客戶端,請在您的CreateUserPoolClientUpdateUserPoolClientAPI請求中包含以下參數。

"EnableTokenRevocation": true

撤銷權杖

您可以使用RevokeTokenAPI要求 (例如使用aws cognito-idp revoke-tokenCLI命令) 撤銷重新整理權杖。您也可以使用 撤銷端點 撤銷權杖。此端點在您將網域新增至使用者集區之後才能使用。您可以在 Amazon Cognito 託管網域或您自己的自訂網域上,使用撤銷端點功能。

注意

撤銷重新整理權杖的請求中必須包含用來取得該權杖的用戶端 ID。

以下是示例RevokeTokenAPI請求的主體。

{ "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 端點都不需要額外授權,除非您的應用程式用戶端有用戶端密碼。