本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用字符撤銷結束使用者工作階段
您可以使用使用者集區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 CLI或 建立新的使用者集區用戶端時 AWS API,權杖撤銷預設為啟用。
啟用權杖撤銷後,新的宣告會新增至 Amazon Cognito JSON Web 權杖。存取權杖和 ID 權杖中會新增 origin_jti
和 jti
宣告。這些宣告會增加應用程式用戶端存取和 ID 權杖的大小。
若要在啟用字符撤銷的情況下建立或修改應用程式用戶端,請在 CreateUserPoolClient或 UpdateUserPoolClientAPI請求中包含下列參數。
"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
端點都不需要額外授權,除非您的應用程式用戶端有用戶端密碼。