Тестирование аутентификации пула пользователей Cognito с помощью API-шлюза - PullRequest
1 голос
/ 23 марта 2020

Я бы хотел, чтобы мое клиентское приложение вставляло записи в мой экземпляр DynamoDb, используя шлюз API, защищенный с помощью пулов пользователей Cognito.

Я создал свой пул пользователей и добавил его в качестве авторизатора в мой вызов метода шлюза API. Используя AWS Cli, я запустил следующую команду, которая дала мне мой токен доступа:

aws cognito-idp initiate-auth ...

Моя инфраструктура, кажется, работает, теперь, в каком направлении мне нужно go, чтобы прагматично добиться входа в систему в качестве моего пользователя в пуле пользователей, получения токена и вызова метода API?

1 Ответ

1 голос
/ 23 марта 2020

Ну, это не сложно. Вам необходимо выполнить определенные шаги.

  1. Создать пользователя в пуле пользователей Cognito. Подтвердите это с помощью выбранного вами сообщения активации. Это может быть смс или электронная почта согласно настройкам пула пользователей.
  2. После подтверждения пользователя необходимо вызвать API входа из Cognito SDK. Поскольку я чувствую себя комфортно в NodeJS, позвольте мне взять название метода - https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html. Установите AuthFLow в ADMIN_NO_SRP_AUTH. Ответ от этого APi будет иметь один idToken, один accessToken и один refreshToken. Поскольку вам нужны эти учетные данные на вашем клиенте, напишите API на предпочитаемом вами языке, предоставьте его вашему клиенту и верните токены.
  3. Используйте idToken для выполнения вызовов API к вашему API Gateway Authorizer. Вот как вы передаете токен с помощью Почтальона -

enter image description here

Вы можете повторить то же самое с помощью любого клиента. Если вы столкнулись с какой-либо ошибкой, было бы лучше, если бы вы показали мне свою конфигурацию авторизатора APIG.

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