AWS Cognito - 带有 Lambda 触发器的自定义电子邮件被覆盖

coo*_*s22 6 amazon-web-services amazon-cognito aws-lambda

我正在使用 lambda 函数通过 AWS Cognito 自定义确认电子邮件。我的 lambda 函数似乎工作正常,如下所示:

exports.handler = async (event, context, callback) => {
  const sampleTemplate = `<html>
    <body>
      <div>${event.request.codeParameter}</div>
      <div>${event.userName}</div>
    </body>
  </html>`


  if (event.triggerSource === "CustomMessage_AdminCreateUser") {
    event.response.emailSubject = 'Lets hope this works'
    event.response.emailMessage = sampleTemplate

    console.log(event.response) // Logs look as expected
  }

  callback(null, event);
};
Run Code Online (Sandbox Code Playgroud)

问题在于,当电子邮件到达时,消息正文会被“用户池”>“消息自定义”选项卡中的内容覆盖。主题行工作正常,但电子邮件正文被覆盖。例如,认知设置如下所示: 在此输入图像描述

电子邮件如下所示: 在此输入图像描述

如您所见,lambda 函数用于设置电子邮件的主题行,但不适用于实际内容。我找不到任何设置来关闭该内容,并且不能留空...非常感谢任何帮助。

coo*_*s22 8

对于发现此问题的任何人,我都能找到答案。使用该事件时,如果您在模板中CustomMessage_AdminCreateUser使用,cognito 会默默地抛出错误。event.userName相反使用event.request.usernameParameter它会起作用

  • 这个无声的错误让我浪费了两天的工作。感谢您的大力帮助 (2认同)

Moh*_*shi 5

如果完成所有操作后,您的自定义电子邮件模板未显示,请检查以下内容: