如何将个性化参数嵌入到 Amazon Cognito 验证电子邮件中

How to embed a personalized parameter into Amazon Cognito verification email

Amazon Cognito 会针对忘记密码请求发送一封验证邮件。 如何使用个性化参数更新此验证电子邮件,使其包含以下参数:(用户名/电子邮件)。

您可以为自定义消息使用类似于下面的 lambda 函数。可以在 lambda 控制台中输入 lambda 函数的代码,并通过用户池中的触发器面板进行配置。

您需要检查 event.triggerSource 以确保它是忘记密码事件,并且您可以访问电子邮件和用户名 event.request.userAttributes.email 和 event.userName

exports.handler = function(event, context) {
    // 
    if(event.userPoolId === "theSpecialUserPool") {
        // Identify why was this function invoked
        if(event.triggerSource === "CustomMessage_ForgotPassword") {
            // Ensure that your message contains event.request.codeParameter. This is the placeholder for code that will be sent
            event.response.smsMessage = "You requested to reset your password " + event.request.codeParameter;
            event.response.emailSubject = "You requested to reset your password " + event.request.userAttributes.email + " " + event.request.userName;
            event.response.emailMessage = "Thank you for signing up. " + event.request.codeParameter + " is your verification code " + event.request.userAttributes.email + " " + event.request.userName;
        }
        // Create custom message for other events
    }
    // Customize messages for other user pools

   //

   // Return result to Cognito
   context.done(null, event);
};