【问题标题】:AWS Unrecognizable Lambda Output Cognito errorAWS 无法识别的 Lambda 输出 Cognito 错误
【发布时间】:2020-04-26 07:00:31
【问题描述】:

我最近开始使用 AWS。我已经使用 cognito 用户池集成了 AWS Amplify 用于我的用户管理(登录和注册),并且它非常完美(每当新用户注册时,用户池都会更新)。现在我添加了一个 Cognito Post 确认触发器来将注册的电子邮件保存到数据库中,这是我的触发器代码 mysql = require('mysql');

var config = require('./config.json');

var pool = mysql.createPool({

host : config.dbhost,

user : config.dbuser,

password : config.dbpassword,

database : config.dbname

});

exports.handler = (event, context, callback) => {

let inserts = [event.request.userAttributes.email];

context.callbackWaitsForEmptyEventLoop = false; //prevents duplicate entry

pool.getConnection(function(error, connection) {

connection.query({

sql: 'INSERT INTO users (Email) VALUES (?);',

timeout: 40000, // 40s

values: inserts

}, function (error, results, fields) {

// And done with the connection.

connection.release();

// Handle error after the release.

if (error) callback(error);

else callback(null, results);

});

});

};

每当用户注册并确认他的电子邮件时,此触发器都会调用并向我抛出此错误 “无法识别的 Lambda 输出认知”。尽管它在后台向我抛出了这个错误,但我的数据库正在插入新注册的电子邮件,但由于这个原因,我无法重定向我的页面。任何帮助将不胜感激。谢谢

阿拉文

【问题讨论】:

    标签: amazon-web-services triggers amazon-cognito


    【解决方案1】:

    简答:callback(null, results);替换为callback(null, event);

    原因:您必须返回结果,Cognito 将使用它来继续身份验证工作流程。在这种情况下,这是event 对象。

    【讨论】:

      猜你喜欢
      • 2020-11-06
      • 2017-07-31
      • 2015-06-08
      • 2017-10-27
      • 2019-03-15
      • 2018-03-23
      • 2021-08-05
      • 2022-01-15
      • 1970-01-01
      相关资源
      最近更新 更多