使用AWS的Cognito可以获得很多,因为AWS已经实现了大多数功能(如果不是全部)。但是我遇到了一种我不确定如何使用Cognito实施的情况。请考虑以下两种情况:
注册:
忘记密码:
以上陈述是根据AWS Cognito的实施方式量身定制的。正如您所看到的,最后两个步骤在每个场景中都需要不同的输入。现在,我的问题是为什么AWS Cognito对它们使用相同的电子邮件模板(在第二步中)?
AFAIK,Cognito中只有一个模板("邮件自定义"部分),无论发送哪个电子邮件来确认用户的电子邮件所有权或用户已请求,都会使用它用于密码重置代码。
这对我来说是个问题,因为我希望这两封电子邮件的内容不同。首先,它们应包含不同的链接。
有没有办法在Cognito中发送两封不同的确认码和忘记密码的电子邮件?
答案 0 :(得分:6)
事实证明,答案是使用触发器中的自定义消息。 Cognito允许您为用户池中生成的不同事件指定lambda函数。其中一个是自定义消息。每次将电子邮件发送到客户端时,都会调用此lambda函数。使用给予lambda函数的输入数据,可以实现它的场景并为该电子邮件撰写正确的内容。
以下是文档的链接:
https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-custom-message.html