AWS Cognito - 如何让 idToken 永远存在?
AWS Cognito - How to keep idToken alive forever?
当用户通过身份验证时,AWS Cognito 提供三个令牌 - idToken、accessToken 和 refreshToken。
AWS Cognito 配置仅允许 idToken 最长 24 小时到期时间,请参见下图。
现在,如果我们看看像 Facebook 这样的应用程序,它们永远不会自动使用户登录过期。但在我们的例子中,用户需要每 24 小时登录一次。
问题:我们如何使用 refreshToken 或其他方式让 idToken 永远保持活动状态?还请指导我,以防我需要在服务器端执行此操作,我能做些什么来确保及时刷新所有 idTokens。
您不能永远保留 ID 令牌。正如您自己注意到的,ID 令牌的最长有效期为 24 小时。您几乎无法更改此配置。
可能有解决方法,但您需要使用刷新令牌不断刷新 ID 令牌。刷新令牌可以配置为在 10 年后过期。您所要做的就是在每次看到 ID 令牌过期时继续使用它。如果您使用的是 SDK,它通常会为您完成。你只要唱一次,SDK就会不断刷新ID token。
请记住,每次使用刷新令牌时,您都会获得一个新的 ID 令牌(以及访问令牌)。它不会更新原始令牌的有效性。
当用户通过身份验证时,AWS Cognito 提供三个令牌 - idToken、accessToken 和 refreshToken。
AWS Cognito 配置仅允许 idToken 最长 24 小时到期时间,请参见下图。
现在,如果我们看看像 Facebook 这样的应用程序,它们永远不会自动使用户登录过期。但在我们的例子中,用户需要每 24 小时登录一次。
问题:我们如何使用 refreshToken 或其他方式让 idToken 永远保持活动状态?还请指导我,以防我需要在服务器端执行此操作,我能做些什么来确保及时刷新所有 idTokens。
您不能永远保留 ID 令牌。正如您自己注意到的,ID 令牌的最长有效期为 24 小时。您几乎无法更改此配置。
可能有解决方法,但您需要使用刷新令牌不断刷新 ID 令牌。刷新令牌可以配置为在 10 年后过期。您所要做的就是在每次看到 ID 令牌过期时继续使用它。如果您使用的是 SDK,它通常会为您完成。你只要唱一次,SDK就会不断刷新ID token。
请记住,每次使用刷新令牌时,您都会获得一个新的 ID 令牌(以及访问令牌)。它不会更新原始令牌的有效性。