带有Lambda的AWS Cognito,用于自定义验证

Sha*_*thi 2 aws-lambda aws-cognito

通过将AWS Lambda与Cognito结合使用,我们可以使用以下代码自动验证电子邮件。

event.response.autoConfirmUser = true;
event.response.autoVerifyEmail = true;
Run Code Online (Sandbox Code Playgroud)

如何在此处进行自定义请求验证?

就像我要在认知注册时发送PROMO CODE一样,那么我可以有一个代码来验证此Promo Code,并在无效Promocode时拒绝注册请求。

Sha*_*thi 5

正常工作:-)

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);
    }
};
Run Code Online (Sandbox Code Playgroud)