AWS Cognito 强制刷新会话

6
我在尝试刷新我的会话令牌(Access、Id、Refresh)时遇到了一些问题。我已经阅读了这个问题,答案帮助我有所了解。但是我感觉我尝试做的事情与getSession的用途不太相同。
我正在尝试实现一个会话过期消息(已完成),允许用户延长他们的会话(刷新令牌)。从我对getSession()的理解来看,如果仍然有效,它会返回旧令牌,否则会返回新令牌。如果我理解有误,请纠正我。
我正在尝试每次单击“延长会话”按钮时为用户提供新的/刷新的令牌。出于开发目的,我有一个按钮,然后显示具有延长会话按钮的消息。当我调用getSession()时收到的令牌是旧的,但我想要新的令牌。
因此,基本上是作废旧会话并给他们一个新会话。
我的问题是:
  1. 我是否对getSession()有所理解?
  2. 我能否向用户提供新的会话令牌(Access、Id、Refresh)?
  3. 我是否可以在不让用户重新登录的情况下完成问题#2?
谢谢。
编辑1: 可能有所帮助的是,我没有使用任何联合身份。
1个回答

9

2
我简直不敢相信我没看到refreshSession方法。我会在接下来的几天里研究一下它。谢谢。 - Hypnic Jerk
终于有时间来检查了。这是正确的答案。 - Hypnic Jerk
@HypnicJerk,在aws-amplify中是否有可能实现? - user9361329
2
在 aws-amplify 中,您可以执行以下操作:const currentUser = await Auth.currentAuthenticatedUser(); const currentSession = await Auth.currentSession(); currentUser.refreshSession(currentSession.refreshToken, (err, session) => { }); - sihaya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接