Невозможно выйти из AWS Cognito - PullRequest
0 голосов
/ 21 ноября 2018

Я установил шлюз API, аутентифицированный с помощью AWS Cognito.Как только пользователь войдет в систему, я использую следующий скрипт для проверки его учетных данных:

const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
const params = {
    AuthFlow: 'ADMIN_NO_SRP_AUTH',
    ClientId: APP_CLIENT_ID,
    UserPoolId: USER_POOL_ID,
    AuthParameters: {
        'USERNAME': username,
        'PASSWORD': password,
    },
};
return cognitoidentityserviceprovider.adminInitiateAuth(params)
    .promise();

И это вернет JSON, например, так:

{
    "ChallengeParameters": {},
    "AuthenticationResult": {
        "AccessToken": "....",
        "ExpiresIn": 3600,
        "TokenType": "Bearer",
        "RefreshToken": "....",
        "IdToken": "...."
    }
}

На стороне клиента я будуобратите внимание на IdToken и включите его в качестве заголовка с именем, упомянутым в Авторизаторе шлюза API.

Теперь я пытаюсь создать лямбда-функцию для выхода пользователя из системы.Пока что у меня есть это:

const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();

const params = {
    UserPoolId: USER_POOL_ID,
    Username: username,
};
return cognitoidentityserviceprovider.adminUserGlobalSignOut(params)
    .promise();

Когда я отправляю запрос на вызов этого кода, хотя все работает просто отлично (ошибки не выдается), но IdToken все еще действует иЯ все еще могу вызывать аутентифицированные запросы с этим.Мой вопрос: как правильно выйти из системы и почему это не работает?

1 Ответ

0 голосов
/ 22 ноября 2018

Вы правы.Это текущее поведение Amazon Cognito Tokens.Если вы выполните глобальный выход из системы, срок действия ваших accessToken и RefreshToken истечет.

Но ваш IdToken будет действовать до 1 часа.

Если вы позвонитеГлобальный выход снова, чем вы увидите сообщение о том, что токен доступа истек

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...