使用字符撤銷結束使用者工作階段 - Amazon Cognito

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

使用字符撤銷結束使用者工作階段

您可以使用使用者集區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 CLI或 建立新的使用者集區用戶端時 AWS API,權杖撤銷預設為啟用。

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

若要在啟用字符撤銷的情況下建立或修改應用程式用戶端,請在 CreateUserPoolClientUpdateUserPoolClientAPI請求中包含下列參數。

"EnableTokenRevocation": true

撤銷權杖

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

注意

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

以下是範例RevokeTokenAPI請求的內文。

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