AWS Cognito 强制刷新会话

AWS Cognito force refresh session

当我尝试刷新我的会话令牌(访问、Id、刷新)时,我 运行 遇到了一些问题。我已经阅读了 并且答案帮助我了解了某些情况。但我觉得我正在尝试做的并不是 getSession 的目的。

我正在尝试实现一个会话过期消息(完成),允许用户延长他们的会话(刷新令牌)。根据我收集到的有关 getSession() 的信息,它 returns 要么是旧令牌(如果它们仍然有效),要么是新令牌(如果它们无效)。如有不妥请指正

我试图在用户每次点击延长会话时给他们 new/refreshed 令牌。出于开发目的,我有一个按钮,然后显示带有扩展会话按钮的消息。我调用 getSession() 时收到的令牌是旧的,但我希望它们是新的。

所以基本上,取消旧会话并给他们一个新会话。

我的问题是:

  1. 如前所述,我是否缺少对 getSession() 的一些理解?
  2. 我可以给用户新的会话令牌(Access、Id、Refresh)吗?
  3. 我可以在不让用户再次登录的情况下执行#2 吗?

谢谢。

编辑 1: 知道我没有使用任何联合身份可能会有所帮助。

您可以拨打cognitoUser.refreshSession。我在这里为您找到了一个合理的示例:

Sample code: how to refresh session of Cognito User Pools with Node.js and Express

寻找名为 checkTokenExpiration 的方法,它很好地解释了刷新会话所必须执行的操作。