AWS Cognito: Тестовые триггеры с использованием postman

#amazon-web-services #authentication #triggers #amazon-cognito #password-less

Вопрос:

Я очень новичок в AWS и пытаюсь внедрить аутентификацию без пароля. Я создал пул пользователей и реализовал триггеры для аутентификации по телефону и OTP в AWS Cognito, следуя этому руководству: https://youtu.be/m8DE5ZV4FG4

Я создал пользователя, используя размещенный пользовательский интерфейс в настройках клиента приложения в AWS Cognito. Но, к сожалению, я не получил никакого OTP по номеру, который использовался для регистрации. Это правильный способ проверить это? Есть ли способ протестировать триггеры без использования AWS Amplify, например, с помощью другого программного обеспечения, такого как Postman?

Комментарии:

1. Я не собираюсь смотреть 15-минутный учебник, чтобы выяснить это, но вы либо извлекли свою учетную запись из песочниц SES/SNS, чтобы отправлять электронные письма или текстовые сообщения? Или вы уже подтвердили номер телефона/адрес электронной почты, с помощью которого проводите тестирование?

2. @stijndepestel, Да, мой номер телефона подтвержден. Для отправки OTP я использовал службу SNS внутри триггеров. Нужно ли мне настраивать его отдельно?

3. Если у вас включена функция Cloudwatch, то для вашей учетной записи ( настройте регион/идентификатор учетной записи ) вы должны увидеть группу журналов, в которой вы можете указать, были ли какие-либо проблемы с отправкой SMS: sns/<регион>/<регион><Идентификатор учетной записи>/DirectPublishToPhoneNumber-это имя группы журналов.

Ответ №1:

Простой вызов этих лямбд не приведет к созданию пользователя или подтверждению. Создание пользователя происходит, если пользователь вызывает API регистрации Cognito и:

  1. имя пользователя не используется
  2. триггер предварительной регистрации завершается успешно ( или у вас его нет), они определяют «успешно», говоря, что событие, которое они передали в лямбду, было возвращено им только с измененным объектом «ответ».

Все, что вы могли сделать с postman, — это выставить свой лямбда-триггер(ы) через что-то вроде шлюза API и передать различные полезные нагрузки, чтобы проверить, правильно ли он реагирует. это один из способов сделать это..

Лично я для проверки триггеров пишу модульные тесты, которые запускаются при развертывании триггера, который проверяет различные полезные нагрузки на триггеры в соответствии с ожидаемым ответом.

Я не уверен, на каком языке вы пишете лямбду, но у любого был бы SDK, доступный для прямого вызова Cognito для регистрации пользователя. Это, в свою очередь, вызовет ваш триггер. await Cognito.signUp({ ... }) для меня в узле.