Пользовательский пул Cognito не отображается API-шлюз после настройки авторизатора - PullRequest
0 голосов
/ 26 июня 2019

Я создал авторизатор пула пользователя Cognito для службы API Gateway, которая вызывает лямбда-функцию.Авторизатор полностью игнорируется, и я могу вызвать службу без какого-либо токена.Я развернул службу несколько раз.Я создал несколько API-интерфейсов шлюзов и все еще вижу ту же проблему.

При сравнении со старым API, где у меня работает Authorizer, единственное отличие, которое я вижу, состоит в том, что когда я проверяю вкладку Resource в API.Старый сервисный метод (POST) показывает авторизацию: COGNITO_USER_POOL, а все новые API показывают авторизацию: нет.Что-то не так с API-шлюзом или я пропустил шаг.

1 Ответ

1 голос
/ 26 июня 2019

Чтобы исправить это, вы должны сделать следующие шаги:

  1. Перейдите к Консоли шлюза API AWS.
  2. Выберите REST API, о котором идет речь.
  3. Нажмите на вкладку « Метод запроса ».
  4. Выберите раскрывающееся меню рядом с вкладкой «АВТОРИЗАЦИЯ».
  5. Выберите ваш Cognito User Pool Authorizer, который вы определили с уникальным именем. Если вы не помните имя Cognito User Pool Authorizer, вы можете найти его в разделе «API Gateway Authorizers».
  6. Выберите Авторизатор, сохраните изменения и повторно разверните API.
  7. Тестирование API REST из POSTMAN (или любого клиента REST) ​​или из браузера.
  8. Если вы не предоставите токен JWT от Cognito, вы получите сообщение об ошибке HTTP 401.

И да, вы действительно правы. Вы столкнулись с проблемой неработоспособности Авторизатора, поскольку Авторизатор не связан с API REST. Чтобы связать его, вам нужно будет сделать это вручную на вкладке Запрос метода. Еще один момент, на который следует обратить внимание, заключается в том, что Авторизаторы можно повторно использовать между несколькими API REST в API Gateway.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...