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