5

当我尝试刷新会话令牌(Access、Id、Refresh)时遇到了一些问题。我已经阅读了这个问题,答案帮助我理解了发生了什么。但我觉得我想做的并不完全getSession是为了什么。

我正在尝试实现允许用户扩展会话(刷新令牌)的会话到期消息(完成)。根据我收集的信息getSession(),它返回旧令牌(如果它们仍然有效)或新令牌(如果它们无效)。如果我在那里错了,请纠正我。

每次单击扩展会话时,我都试图为用户提供新的/刷新的令牌。出于开发目的,我有一个按钮,然后使用扩展会话按钮显示消息。我打电话时收到的令牌getSession()是旧的,但我希望它们是新的。

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

我的问题是:

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

谢谢你。

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

4

1 回答 1

9

您可以调用 cognitoUser.refreshSession。我在这里为你找到了一个合理的例子:

示例代码:如何使用 Node.js 和 Express 刷新 Cognito 用户池的会话

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

于 2017-02-14T16:46:58.317 回答