У меня есть лямбда-функция, которая содержит следующий код:
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 для реализации потока авторизации.