session.isvalid() 始终是有效的亚马逊认知

session.isvalid() is always valid amazon cognito

问题是,即使在 ID 令牌和访问令牌的 5 分钟过期时间之后,由于某种我无法理解的原因,会话仍然有效。有人可以帮我做什么吗?

let cognitoUser = userPool.getCurrentUser();
if (cognitoUser != null) {
  await cognitoUser.getSession((err, session) => {
   if (err) {
    console.error(err.message);
    return;
  }
  console.log('session validity: ' + session.isValid());

我尝试等待 5 分钟或更长时间来检查令牌是否已过期,但它仍然说它是有效的,而我期待它会去刷新令牌功能。

好的,所以我找到了 getSession 的作用。它从您的本地存储、对象存储或刷新令牌中获取令牌。假设当您调用 getCurrenUser() 时它没有找到 currentUserSession。在这种情况下,它将使用刷新令牌来获取会话。它只是意味着已经可用的会话数据被取消并替换为您刚刚获得的新数据。只要使用刷新令牌获取会话数据,会话将始终保持有效。