Использование aws cognito для авторизации шлюза api

В настоящее время я использую размещенный пользовательский интерфейс 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

enter image description here

enter image description here

Спасибо!!

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

Edwin Evans 10.10.2018 18:39

сааааааааааааме

Alberto Sinigaglia 20.02.2021 01:36
2
2
467
0

Другие вопросы по теме