Идентификационный токен, который API-шлюз использует для аутентификации вызовов API, остается действительным некоторое время.
Я бы проверил токен доступа. Срок его действия истекает сразу после того, как вы вызвали глобальный выход.
Ключевое слово должно выше. Пожалуйста, смотрите этот выпуск . Это постоянная борьба за то, чтобы заставить AWS осуществить немедленный отзыв. Вот соответствующая цитата:
Я работал с командой AWS Cognito, чтобы позаботиться об этом, и получил исправление через CLI следующим образом.
aws cognito-identity update-identity-pool --identity-pool-id --identity-pool-name --allow-unauthenticated-identities --cognito-identity-providers ProviderName=,ClientId=,ServerSideTokenCheck=<true|false>
Установив для параметра ServerSideTokenCheck значение true для идентификатора Cognito
Пул, который Identity Pool проверит с Cognito User Pools, чтобы сделать
убедитесь, что пользователь не был глобально выписан или удален ранее
Identity Pool предоставляет токен OIDC или учетные данные AWS для
пользователь. Теперь мы сталкиваемся с другой проблемой кэширования этого токена.
в API Gateway в течение 10 минут, который позволил бы этому токену OID все еще быть
активен в течение 10 минут, даже если пользователь вышел из системы.
Вот что я имею в виду под тестом для accessToken (у меня был успех с методом # 2):
1.) Вы можете разработать собственный авторизатор для API Gateway ;
2.) Вы можете выполнить проверку в начале ваших лямбда-функций или на ваших серверах, используя:
const AWS = require('aws-sdk');
const awsConfig = require('./awsConfig');
const cognito = new AWS.CognitoIdentityServiceProvider(awsConfig);
// accessToken provided from API Gateway
new Promise((resolve, reject) => {
cognito.getUser({ accessToken }, (errorCallback, response) => {
if (errorCallback) {
reject(errorCallback);
} else {
resolve(response);
}
});
});
Ошибка обратного вызова и ответ не имеют значения. Если вы получили ошибку, токен недействителен. Если нет, то это действительно.