Я установил шлюз 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
все еще действует иЯ все еще могу вызывать аутентифицированные запросы с этим.Мой вопрос: как правильно выйти из системы и почему это не работает?