AWS "CognitoUserSession" всегда возвращает true, даже если срок действия токенов истек - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть лямбда-функция, которая содержит следующий код:

    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, даже если idToken и accessToken истек.Но из их официальной документации он должен возвращать true только тогда, когда действительны accessToken и idToken .

Что здесь не так.Любая помощь будет очень признательна.

Для справки я следовал этому https://gist.github.com/kndt84/5be8e86a15468ed1c8fc3699429003ad для реализации потока авторизации.

...