【发布时间】:2022-11-07 17:54:15
【问题描述】:
我有一个由 cognito 的 customMessage 触发的 lambda 脚本。它应该自定义我的身份验证电子邮件模板。它适用于除AdminCreateUser 之外的所有事件。
所以这是一个简短的问题,为什么它不起作用?
const sign_up_message = async(event) => {
let template = templateGenerator(templates.MAIN, templates.CONFIRM_SIGN_UP);
let code = event.request.codeParameter;
event.response = {
emailSubject: "Jouw verificatiecode voor de app",
emailMessage: mustache.render(template, {
title: "Bevestig je account",
preHeader: "Bevestig je account met de verificatiecode",
s3Bucket: process.env.S3_BUCKET,
activationCode: code
})
}
return event
}
const admin_create_user_message = async(event) => {
let template = templateGenerator(templates.MAIN, templates.ADMIN_CREATE_USER);
let email = event.request.usernameParameter;
let code = event.request.codeParameter;
event.response = {
emailSubject: "Je account bij financiallease.nl is hersteld",
emailMessage: mustache.render(template, {
title: "Je account bij financiallease.nl is hersteld",
preHeader: "Wachtwoord resetten is verplicht",
s3Bucket: process.env.S3_BUCKET,
username: email,
})
}
return event
}
const resend_code_message = async(event) => {
let template = templateGenerator(templates.MAIN, templates.RESEND_CODE_MESSAGE);
let code = event.request.codeParameter;
event.response = {
emailSubject: "Jouw verificatiecode voor de app",
emailMessage: mustache.render(template, {
title: "Bevestig je account",
preHeader: "Bevestig je account met de verificatiecode",
s3Bucket: process.env.S3_BUCKET,
activationCode: code
})
}
return event
}
exports.handler = async(event) => {
switch (event.triggerSource) {
case "CustomMessage_SignUp": //Sign-up trigger whenever a new user signs him/herself up.
return sign_up_message(event)
case "CustomMessage_AdminCreateUser": //When the user is created with adminCreateUser() API
return admin_create_user_message(event)
case "CustomMessage_ResendCode": //When user requests the code again.
return resend_code_message(event)
case "CustomMessage_ForgotPassword": //Forgot password request initiated by user
return forgot_password(event)
case "CustomMessage_UpdateUserAttribute": //Whenever the user attributes are updated
return update_user_attribute_message(event)
case "CustomMessage_VerifyUserAttribute": //Verify mobile number/email
return verify_user_attribute(event)
case "CustomMessage_Authentication": //MFA authenitcation code.
return authenitcation_message(event)
default:
return event
}
};
当我在本地测试它时,我得到了正确的模板。一旦它在云中。我将获得默认的 cognito 模板:
如您所见,主题已更改,但正文仍然是 AWS 的默认设置。这有什么问题?有什么帮助吗?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-cognito amazon-ses