将令牌与用户池结合使用
通过令牌验证用户的身份并授予对资源的访问权限。令牌中的声明是有关您的用户的信息。ID 令牌包含有关其身份的声明,例如他们的用户名、姓氏和电子邮件地址。访问令牌包含类似于 scope
的声明,经过身份验证的用户可以使用它们访问第三方 API、Amazon Cognito 用户自助 API 操作和 UserInfo 终端节点。访问令牌和 ID 令牌均包含 cognito:groups
声明,其中包含用户在用户群体中的组成员资格。
Amazon Cognito 还有令牌,您可以使用它来获取新的令牌或撤销现有令牌。刷新令牌来检索新的 ID 令牌和访问令牌。撤消令牌来撤消刷新令牌允许的用户访问权限。
Amazon Cognito 以 Base64 编码字符串的形式发布令牌。您可以将任何 Amazon Cognito ID 或访问令牌从 Base64 解码为纯文本 JSON。Amazon Cognito 刷新令牌已加密,Amazon Cognito 管理员或用户无法读取。
使用令牌进行身份验证
当用户登录您的应用程序时,Amazon Cognito 会验证登录信息。如果登录成功,Amazon Cognito 会创建会话并返回经过身份验证的用户的 ID 令牌、访问令牌和刷新令牌。您可以使用这些令牌向您的用户授予对您的服务器端资源或 Amazon API Gateway 的访问权限。或者,您可以用它们交换用于访问其他Amazon服务的临时Amazon凭证。

存储令牌
您的应用程序必须能够存储不同大小的令牌。令牌大小变化的原因可能包括但不限于其它声明、编码算法的更改以及加密算法的更改等。当您在用户池中启用令牌撤消时,Amazon Cognito 会向 JSON Web 令牌添加其它声明,从而增加令牌大小。新 origin_jti
和 jti
声明已添加到访问和 ID 令牌中。有关令牌撤消的更多信息,请参阅撤消令牌。
最佳实践是在应用程序环境中保护传输和存储中的所有令牌。令牌可以包含有关用户的个人识别信息,以及有关用于用户池的安全模型的信息。