本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解存取權杖
使用者集區存取權杖包含已驗證使用者的相關宣告、使用者的群組清單,以及範圍的清單。存取權杖的目的是授權API操作。您的使用者集區接受存取權杖以授權使用者自助服務操作。例如,您可使用存取權杖,授予能新增、變更或刪除使用者屬性的使用者存取權限。
存取字符中的 OAuth 2.0 範圍
使用者的存取權杖是可向 userInfo 端點 要求更多使用者屬性相關資訊的許可。使用者的存取權杖也是讀取和寫入使用者屬性的許可。存取權杖授予屬性的存取層級,取決於您指派給應用程式用戶端的許可,以及您在權杖中授予的範圍。
存取權杖是 JSON Web 權杖 (JWT)kid
) 宣告的值不會符合來自同一使用者工作階段之 ID 權杖中 kid
宣告的值。在您的應用程式程式碼中,獨立驗證 ID 權杖和存取權杖。在驗證簽章之前,請勿信任存取權杖中的宣告。如需詳細資訊,請參閱驗證 JSON Web 權杖。您可以將存取權限有效期限設為 5 分鐘到 1 天之間的任何值。此值可根據應用程式用戶端設定。
重要
對於存取和 ID 權杖,如果您使用託管 UI,最低不得指定少於一小時。Amazon Cognito 託管 UI 會使用有效期為一小時的 Cookie。如果您輸入不到一小時的最小值,將無法取得更少過期時間。
存取權杖標頭
標頭包含兩項資訊:金鑰 ID (kid
) 和演算法 (alg
)。
{ "kid" : "1234example=" "alg" : "RS256", }
kid
-
金鑰 ID。其值表示用來保護權杖 JSON Web Signature (JWS) 的金鑰。您可以在IDs
jwks_uri
端點檢視使用者集區簽署金鑰。如需
kid
參數的詳細資訊,請參閱金鑰識別符 (kid) 標頭參數。 alg
-
Amazon Cognito 用來保護存取權杖安全的加密演算法。使用者集區使用RS256密碼編譯演算法,這是 SHA-256 的RSA簽章。
如需
alg
參數的詳細資訊,請參閱演算法 (alg) 標頭參數。
存取權杖預設承載
這是一個存取權杖酬載範例。如需詳細資訊,請參閱JWT宣告
<header>
. { "sub":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "device_key": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "cognito:groups":[ "testgroup" ], "iss":"https://cognito-idp.us-west-2.amazonaws.com/us-west-2_example", "version":2, "client_id":"xxxxxxxxxxxxexample", "origin_jti":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "event_id":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "token_use":"access", "scope":"phone openid profile resourceserver.1/appclient2 email", "auth_time":1676313851, "exp":1676317451, "iat":1676313851, "jti":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "username":"my-test-user" } .<token signature>
sub
-
已驗證使用者的唯一識別碼 (UUID) 或主旨。使用者名稱在您的使用者集區中可能不是唯一的。
sub
宣告是識別特定使用者的最佳方法。 cognito:groups
-
以您的使用者為成員的使用者集區群組名稱陣列。
iss
-
發行權杖的身分提供者。宣告的格式如下。
https://cognito-idp.
<Region>
.amazonaws.com/<your user pool ID>
client_id
-
對您的使用者進行身分驗證的使用者集區應用程式用戶端。Amazon Cognito 會在 ID 權杖
aud
宣告中呈現相同的值。 origin_jti
-
與使用者的重新整理權杖相關的權杖撤銷識別符。Amazon Cognito 會在檢查您是否使用 撤銷端點或 RevokeTokenAPI操作撤銷使用者的權杖時參考
origin_jti
宣告。在撤銷權杖時,Amazon Cognito 會使所有具相同origin_jti
值的存取權和 ID 權杖無效。 token_use
-
權杖的用途。在存取權杖中,其值為
access
。 scope
-
2.0 OAuth 範圍的清單,定義權杖提供的存取權。來自 權杖端點 的權杖可以包含您的應用程式用戶端支援的任何範圍。來自 Amazon Cognito API登入的權杖僅包含範圍
aws.cognito.signin.user.admin
。 auth_time
-
您的使用者完成身分驗證的身分驗證時間 (以 Unix 時間格式表示)。
exp
-
使用者權杖到期的到期時間 (以 Unix 時間格式表示)。
iat
-
Amazon Cognito 發行您使用者權杖的時間 (採用 Unix 時間格式)。
jti
-
的唯一識別符JWT。
username
-
您的使用者在您的使用者集區中的使用者名稱。
存取權杖簽章
存取權杖的簽章是根據JWT權杖的標頭和承載來計算。當您在 Web 的應用程式之外使用 時APIs,您必須先驗證此簽章,才能接受權杖。如需詳細資訊,請參閱驗證 JSON Web 權杖。