Ara*_*ddy 3 triggers amazon-web-services amazon-cognito
我最近开始使用 AWS。我已经使用 cognito 用户池集成了 AWS Amplify 进行用户管理(登录和注册),并且它非常完美(每当新用户注册时,用户池就会更新)。现在我添加了一个 Cognito Post 确认触发器来将注册的电子邮件保存到数据库中,这是我的触发器 codevar 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);
});
});
};
Run Code Online (Sandbox Code Playgroud)
每当用户注册并确认他的电子邮件时,此触发器就会调用并向我抛出此错误 “无法识别的 Lambda 输出 Cognito”。尽管它在后台向我抛出此错误,但我的数据库正在插入新注册的电子邮件,但因此我无法重定向我的页面。任何帮助将不胜感激。谢谢
阿拉文德
简短回答:替换callback(null, results);
为callback(null, event);
原因:您必须返回 Cognito 将使用它来继续身份验证工作流程的结果。在本例中,this 是event
对象。
归档时间: |
|
查看次数: |
2397 次 |
最近记录: |