AWS Cognito - 如何让 idToken 永远活着?
Posted
技术标签:
【中文标题】AWS Cognito - 如何让 idToken 永远活着?【英文标题】:AWS Cognito - How to keep idToken alive forever? 【发布时间】:2021-10-21 20:23:17 【问题描述】:当用户通过身份验证时,AWS Cognito 提供三个令牌 - idToken、accessToken 和 refreshToken。
AWS Cognito 配置只允许 idToken 最长 24 小时的到期时间,见下图。
现在,如果我们看看像 Facebook 这样的应用程序,它们永远不会自动使用户登录失效。但在我们的例子中,用户需要每 24 小时登录一次。
问题:我们如何才能使用 refreshToken 或其他东西使 idToken 永远活着?还请指导我,以防我需要在服务器端执行此操作,我能做的最好的事情是确保及时刷新所有 idToken。
【问题讨论】:
【参考方案1】:您不能永远保留 ID 令牌。正如您自己注意到的,ID 令牌的最长有效时间是 24 小时。您实际上无法更改此配置。
可能有解决办法,但您需要使用刷新令牌不断刷新 ID 令牌。刷新令牌可以配置为 10 年后过期。您所要做的就是在每次看到 ID 令牌过期时继续使用它。如果您使用的是 SDK,它通常会为您完成。您只需唱一次,SDK 就会不断刷新 ID 令牌。
请记住,每次使用刷新令牌时,您都会获得一个新的 ID 令牌(以及访问令牌)。它不会更新原始令牌的有效性。
【讨论】:
以上是关于AWS Cognito - 如何让 idToken 永远活着?的主要内容,如果未能解决你的问题,请参考以下文章
用户注册后如何在 aws cognito 中自动验证电子邮件。稍后状态后在 Cognito 中验证电子邮件
如何继续使用适用于 AWS Cognito 的 AD FS SAML?
AWS + Serverless - 如何获取 cognito 用户池生成的密钥