【问题标题】:cannot change amplify cognito email template for event AdminCreateUser无法更改事件 AdminCreateUser 的放大认知电子邮件模板
【发布时间】: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


    【解决方案1】:

    问题是因为模板需要 {{ code }} 变量来向用户发送临时密码。我刚刚将此变量作为隐藏标签添加到我的自定义模板中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      • 2019-12-03
      相关资源
      最近更新 更多