Мои пользователи входят в мое приложение через микросервис, который подключается к cognito (запрос передается через шлюз API)
Они получают токен сеанса.
После входа в систему им необходимо положить некоторые файлы на S3.
Я хочу дать им временные учетные данные с помощью STS, но для вызова sts.AssumeRoleWithWebIdentity
мне нужен токен веб-идентификации.
Как получить токен веб-идентификации с маркер сеанса в качестве входных данных?
Я написал временную лямбду (узел), которая возвращает учетные данные STS при входе в систему с именем пользователя и паролем:
const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
const cognitoidentity = new AWS.CognitoIdentity();
cognitoidentityserviceprovider.initiateAuth(...) //AuthFlow: 'USER_PASSWORD_AUTH'
cognitoidentity.getId(...)
cognitoidentity.getCredentialsForIdentity(...)
Может пройти некоторое время между входом в систему и загрузка файла, и я не хочу, чтобы пользователь каждый раз вводил имя пользователя / пароль. AuthFlow также не принимает токен сеанса.
Я предполагаю, что шлюз API мог вернуть что-то полезное, но я не нашел ничего в документации: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context -variable-reference