了解使用者集區 JSON Web 權杖 (JWTs) - Amazon Cognito

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

了解使用者集區 JSON Web 權杖 (JWTs)

權杖會驗證使用者並授予 資源的存取權。權杖中的宣告是有關您的使用者的資訊。ID 權杖包含有關其身分的宣告,例如其使用者名稱、姓氏和電子郵件地址。存取權杖包含的宣告scope,例如已驗證的使用者可用來存取第三方 APIs、Amazon Cognito 使用者自助服務API操作,以及 userInfo 端點。存取和 ID 權杖都包含一個 cognito:groups 宣告,其中包含使用者集區中的使用者群組成員資格。如欲了解使用者集區群組的詳細資訊,請參閱新增群組至使用者集區

Amazon Cognito 也重新整理權杖,您可以用來取得新權杖或撤銷現有權杖。重新整理權杖來擷取新的 ID 和存取權杖。撤銷權杖以撤銷重新整理權杖允許的使用者存取權限。

Amazon Cognito 核發的權杖採用 Base64 編碼字串。您可以將任何 Amazon Cognito ID 或存取權杖從 base64 解碼為純文字 JSON。Amazon Cognito 重新整理權杖已加密,對使用者集區使用者和管理員不透明,並只能由使用者集區讀取。

權杖驗證

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

身分驗證概觀
存放權杖

您的應用程式必須能夠存放不同大小的權杖。權杖大小可能會因各種原因而變更,包括但不限於額外宣告、編碼演算法變更和加密演算法變更。當您在使用者集區中啟用權杖撤銷時,Amazon Cognito 會將其他宣告新增至 JSON Web 權杖,以增加其大小。存取權杖和 ID 權杖中會新增 origin_jtijti 宣告。如需有關權杖撤銷的詳細資訊,請參閱撤銷權杖

重要

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

自訂權杖

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

使用第 2 版事件進行存取權杖自訂需要支付額外費用。如需詳細資訊,請參閱 Amazon Cognito 定價