В настоящее время я использую размещенный пользовательский интерфейс Cognito с пользовательским пулом. Используя домен, установленный в настройках пула, я могу отправлять пользователей на экран входа в систему:
https://<domain>.auth.eu-west-1.amazoncognito.com/login?response_type=code&client_id=<client_id>&redirect_uri=<redirect_uri>
После успешного ввода имени пользователя / пароля Cognito теперь перенаправляет на URL-адрес, указанный в настройках пула и в URL-адресе выше. Это указывает на / GET в API Gateway, для которого включена авторизация через AWS Cognito. Однако мне всегда отказывают в доступе:
{"message":"Unauthorized"}
Обратите внимание, что если я:
curl --header "Authorization: <the authorization token>" https://<the redirect url>
затем я авторизуюсь и получаю желаемый результат от API Gateway.
Я предполагаю, что что-то не так с передачей токена авторизации из Cognito в API Gateway. Мои настройки следующие:
Настройки шлюза API
/ GET Запрос метода
Authorization: my-cognito-user-pool
OAuth Scope: None
Request Validator: Validate query string parameters and headers
API Key Required: false
*HTTP Request Headers*
Name: Authorization, Required:N, Caching:N
/ GET запрос на интеграцию
Integration Type: Lambda Function
Use Lamba Proxy Integration: N
Lambda Region: eu-west-1
Lambda Function: my-lambda-function
Invoke with caller credentials: N (it does not allow me to check this box)
Use Default Timeout: Y
*HTTP Headers*
Name: Authorization, Mapped From: method.request.header.Authorization, Caching: N
Настройки Cognito
Спасибо!!
сааааааааааааме





Привет @AcidMicrowave. У меня такая же проблема. Вы нашли какое-нибудь решение?