

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

# 了解使用者集區 JSON Web 字符 JWTs)
<a name="amazon-cognito-user-pools-using-tokens-with-identity-providers"></a>

權杖是身分驗證的成品，您的應用程式可用來證明 OIDC 身分驗證並請求存取 資源。權杖中的*宣告*是有關您的使用者的資訊。ID 權杖包含有關其身分的宣告，例如其使用者名稱、姓氏和電子郵件地址。存取權杖包含 `scope` 之類的宣告，經過驗證的使用者可用來存取第三方 API、Amazon Cognito 使用者自助服務 API 操作，以及 [userInfo 端點](userinfo-endpoint.md)。存取和 ID 權杖都包含一個 `cognito:groups` 宣告，其中包含使用者集區中的使用者群組成員資格。如欲了解使用者集區群組的詳細資訊，請參閱[新增群組至使用者集區](cognito-user-pools-user-groups.md)。

Amazon Cognito 也重新整理權杖，您可以用來取得新權杖或撤銷現有權杖。[重新整理權杖](amazon-cognito-user-pools-using-the-refresh-token.md)來擷取新的 ID 和存取權杖。[撤銷權杖](amazon-cognito-user-pools-using-the-refresh-token.md#amazon-cognito-identity-user-pools-revoking-all-tokens-for-user)以撤銷重新整理權杖允許的使用者存取權限。

Amazon Cognito 會以 [base64url](https://datatracker.ietf.org/doc/html/rfc4648#section-5) 編碼字串的形式發出權杖。您可以將任何 Amazon Cognito ID 或存取權杖從 解碼`base64url`為純文字 JSON。Amazon Cognito 重新整理權杖已加密，對使用者集區使用者和管理員不透明，並只能由使用者集區讀取。

**權杖驗證**  
使用者登入您的應用程式時，Amazon Cognito 會驗證登入資訊。如果登入成功，Amazon Cognito 就會為已驗證使用者建立工作階段，並傳回 ID 權杖、存取權杖和重新整理權杖。您可以使用這些權杖，授予使用者對下游資源和 Amazon API Gateway 等 API 的存取權。或者，您可以將其用於交換臨時 AWS 憑證，以便存取其他 AWS 服務。

![身分驗證概觀](http://docs.aws.amazon.com/zh_tw/cognito/latest/developerguide/images/scenario-authentication-cup2.png)


**存放權杖**  
您的應用程式必須能夠存放不同大小的權杖。權杖大小可能會因各種原因而變更，包括但不限於額外宣告、編碼演算法變更和加密演算法變更。當您在使用者集區中啟用權杖撤銷時，Amazon Cognito 會向 JSON Web 權杖新增額外宣告，從而增加其大小。存取權杖和 ID 權杖中會新增 `origin_jti` 和 `jti` 宣告。如需有關權杖撤銷的詳細資訊，請參閱[撤銷權杖](https://docs.aws.amazon.com/cognito/latest/developerguide/token-revocation.html)。

**重要**  
最佳實務是在應用程式環境中傳輸及儲存所有權杖時，都要確保安全無虞。權杖可以包含有關使用者的個人識別資訊，以及用於使用者集區的安全模型相關資訊。

**自訂權杖**  
您可以自訂 Amazon Cognito 傳遞給您應用程式的存取權和 ID 權杖。在[產生權杖前 Lambda 觸發程序](user-pool-lambda-pre-token-generation.md)中，您可以新增、修改和抑制權杖宣告。產生權杖前觸發程序是 Amazon Cognito 向其傳送一組預設宣告的 Lambda 函數。這些宣告包括 OAuth 2.0 範圍，使用者集區群組成員資格、使用者屬性和其他。然後，函數可以藉此機會在執行階段進行變更，並將更新的權杖宣告傳回 Amazon Cognito。

使用第 2 版事件進行存取權杖自訂需要支付額外費用。如需詳細資訊，請參閱 [Amazon Cognito 定價](https://aws.amazon.com/cognito/pricing/)。

**Topics**
+ [了解身分 (ID) 字符](amazon-cognito-user-pools-using-the-id-token.md)
+ [了解存取權杖](amazon-cognito-user-pools-using-the-access-token.md)
+ [重新整理權杖](amazon-cognito-user-pools-using-the-refresh-token.md)
+ [使用字符撤銷結束使用者工作階段](token-revocation.md)
+ [驗證 JSON Web 權杖](amazon-cognito-user-pools-using-tokens-verifying-a-jwt.md)
+ [管理使用者集區字符過期和快取](amazon-cognito-user-pools-using-tokens-caching-tokens.md)