Amazon web services AWS“;CognitoUserSession“;即使令牌已过期,也始终返回true

Amazon web services AWS“;CognitoUserSession“;即使令牌已过期,也始终返回true,amazon-web-services,aws-lambda,amazon-cognito,Amazon Web Services,Aws Lambda,Amazon Cognito,我有一个lambda函数,其中包含以下代码 import { CognitoRefreshToken, CognitoAccessToken, CognitoIdToken, CognitoUserSession } from "amazon-cognito-identity-js"; ........................ .......................... const body =

我有一个lambda函数,其中包含以下代码

    import {
      CognitoRefreshToken,
      CognitoAccessToken,
      CognitoIdToken,
      CognitoUserSession
    } from "amazon-cognito-identity-js";
........................
..........................
          const body = JSON.parse(event.body);
          const RefreshToken = new CognitoRefreshToken({
            RefreshToken: body.refreshToken
          });
          const IdToken = new CognitoIdToken({
            IdToken: body.idToken
          });
          const AccessToken = new CognitoAccessToken({
            AccessToken: body.accessToken
          });
          const sessionData = {
            IdToken: IdToken,
            AccessToken: AccessToken,
            RefreshToken: RefreshToken
          };
          const cachedSession = new CognitoUserSession(sessionData);
          if(cachedSession.isValid()) {
            //session is valid
          } else {
            //session expired(idToken and accessToken has expired)
          }
我面临的问题是检查cachedSession.isValid()始终返回true,即使idTokenaccessToken已过期。 但是从他们的官方文档来看,只有当accessTokenidToken有效时,它才应该返回true

这里出了什么问题。任何帮助都将不胜感激


为了便于参考,我遵循这个方法来实现授权流程。

我在这里找到了答案。希望它也能帮助别人我遵循同样的要点,也有同样的问题。解决方案是使用CognitoIdentityServiceProvider而不是CognitoUserSession进行会话/令牌虚拟化?