Настройка настраиваемого SMS-сообщения для MFA в AWS Cognito - PullRequest
0 голосов
/ 01 ноября 2018

Я использую AWS Cognito для аутентификации в веб-приложении.

Если пользователь забывает свой пароль, у меня есть лямбда-функция Trigger, которая отправляет пользовательское электронное письмо со ссылкой, в которой есть адрес электронной почты пользователя и код подтверждения, чтобы они могли щелкнуть ссылку и просто ввести свой новый пароль.

Итак, есть новое требование, которое должно позволять пользователю получать смс, но в настоящее время похоже, что если вы включите MFA для отправки SMS, вы можете настроить сообщение только в области консоли и в функции Lambda, это event.response.smsMessage, похоже, ничего не делает.

Таким образом, если у пользователя есть phone_number_verified true, он отправляет смс без запуска функции Lambda.

exports.handler = function(event, context) {

if(event.triggerSource === "CustomMessage_ForgotPassword") {
    var url = 'http://myurl.com/forgotpassword/'+ event.request.userAttributes.email+'/'+event.request.codeParameter
    event.response.smsMessage = 'Password Reset: Click the link ' + url + ' or enter Verification Code: ' + event.request.codeParameter 
    event.response.emailSubject = " Password reset";
    event.response.emailMessage = "Custom HTML goes here";

}
context.done(null, event);
};

В настоящее время это лямбда-функция, настроенная для пользовательского триггера сообщений в пуле пользователя cognito.

1 Ответ

0 голосов
/ 23 января 2019

После долгого обсуждения с поддержкой AWS они пришли к решению, что мой текст SMS был более 140 символов. Да 140, И тогда SMS не будет отправлено, а электронная почта будет. Никаких ошибок в журналах или чем-либо еще.

Таким образом, они сказали, что будут искать в журналах что-то, что, по крайней мере, говорит о том, что SMS не было отправлено, потому что превышено ограничение на количество символов.

...