0

Я пытаюсь определить ресурсы шлюза API с помощью CloudFormation. В частности, я пытаюсь создать шаблон для метода ресурсов шлюза API, который проверяет подлинность с помощью Cognito. Я создал Авторизатор, и с помощью консоли я могу выполнить эту конфигурацию без проблем (см. Прикрепленное изображение). Я просто не могу найти способ указать авторизацию запроса метода API, используя пул пользователей Cognito. Это сводит меня с ума. Насколько я вижу, ни одна документация не охватывает это.CloudFormation для настройки API-шлюза Метод использования Cognito Authorizer

Кто-нибудь знает, возможно ли это, и если да, то как это сделать? Я понимаю, что могу добиться этого, используя Swagger, но я не ожидаю повторного определения всех моих ресурсов API-шлюза в Swagger и CloudFormation.

Заранее благодарен!

Method Authorization Configuration in Console

ответ

0

Я не пример кода под рукой, но вот то, что вам нужно будет сделать:

1) Добавить Authorizer ресурс в шаблон с «COGNITO_USER_POOLS» типа,

2) Установите authorizerId на ресурс API method в ссылку идентификатора от авторизатора. Установите authorizationType в методе «COGNITO_USER_POOLS»

Что касается самих пулов пользователей, вам понадобятся пользовательские ресурсы, по крайней мере, до тех пор, пока не будет выпущена официальная поддержка. Существует несколько версий с открытым исходным кодом, которые вы можете использовать (вот один пример: https://github.com/awslabs/aws-api-gateway-developer-portal/tree/master/lambdas/cognito-cloudformation-custom-resource)

+0

Спасибо за тонну за помощь. Я уверен, что это именно то, что мне нужно. Просто сделайте некоторое тестирование, прежде чем я это сделаю правильно. – theoneandonly2