AWS Cognito с Lambda для пользовательской проверки

Используя AWS Lambda с Cognito, мы можем автоматически проверять электронную почту, используя приведенный ниже код.

event.response.autoConfirmUser = true;
event.response.autoVerifyEmail = true;

Как я могу выполнить проверку пользовательского запроса здесь?

Например, если я хочу отправить ПРОМО-КОД во время регистрации в cognito, могу ли я получить код для проверки этого промо-кода и отклонения запроса на регистрацию, если он недействителен.


person Shashwat Tripathi    schedule 18.08.2017    source источник


Ответы (2)


Заработало :-)

exports.handler = (event, context, callback) => {
    //Auto confirming user and verifying emaail
    event.response.autoConfirmUser = true;
    event.response.autoVerifyEmail = true;
    //Extract Registration code from user attributes 
    var rCode = event.request.userAttributes["custom:rCode"];
    var validRCode = "abcdef";
    if (rCode && rCode.toLowerCase() != validRCode) {
         //If registration code is available and it is not equal to validRCode then throw error message
         var error = new Error(': Invalid registration code used.');
         context.done(error, event);
    } else {
      context.done(null, event);
    }
};
person Shashwat Tripathi    schedule 18.08.2017
comment
К сожалению, это больше не работает. Я протестировал все соответствующие триггеры, чтобы попытаться запретить пользователю регистрацию, и почти нет простого способа заблокировать пользователя от регистрации, особенно если у вас есть федеративный пул и вы используете Amplify. Крючки триггеров Cognito очень просты, поэтому единственный способ — отправить свой собственный API с Lambda и Cognito через SDK. - person AnBisw; 25.08.2019

Вы можете настроить триггеры для настройки рабочего процесса UserPool: http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers..html

В вашем случае подойдет настройка триггера Предварительная регистрация.

person Tom Melo    schedule 18.08.2017
comment
Я чувствую, что из предпосылки вопроса Шашват Трипати прочитал так далеко в документах. - person Theo Kouzelis; 26.06.2018