我可以在aws cognito验证邮件中使用电子邮件作为参数吗?
尝试了这个:
You can verify your account here: <a href="http://localhost:8080/{####}/{email}">verification Link</a>
{####}可以正常工作{email}而不是
感谢
答案 0 :(得分:2)
我知道您将“{email}”称为占位符,Cognito会识别并替换该用户的电子邮件值。所以,如果你的意思是不支持。
但是,Cognito提供了一种通过lambda来自定义验证消息的方法。以下是details
在lambda触发器中创建动态FQDN更容易 - 因此开发人员可以将电子邮件放在消息(或uri)的适当位置
以下是自定义消息lambda函数的示例
exports.handler = function(event, context) {
//
if(event.userPoolId === "theSpecialUserPool") {
// Identify why was this function invoked
if(event.triggerSource === "CustomMessage_SignUp") {
// Ensure that your message contains event.request.codeParameter. This is the placeholder for code that will be sent
event.response.smsMessage = "Welcome to the service. Your confirmation code is " + event.request.codeParameter;
event.response.emailSubject = "Welcome to the service";
event.response.emailMessage = "Thank you for signing up. " + event.request.codeParameter + " is your verification code";
}
// Create custom message for other events
}
// Customize messages for other user pools
//
// Return result to Cognito
context.done(null, event);
};
答案 1 :(得分:2)
选择将触发自定义消息的lambda函数,在我的情况下为CognitoCustomMessage
:
在这个lambda函数中,您可以从userAttributes
获取“email”,“name”等,如:
if(event.triggerSource === "CustomMessage_SignUp") {
const { codeParameter, userAttributes: { name, email } } = event.request;
event.response.emailSubject = "Welcome to ...";
event.response.emailMessage = `Welcome ${name}, this is your verification
code ${codeParameter}.`;
}
的完整列表