用于注册和忘记密码的不同电子邮件验证邮件

时间:2018-05-29 19:55:51

标签: amazon-web-services aws-cognito

使用AWS的Cognito可以获得很多,因为AWS已经实现了大多数功能(如果不是全部)。但是我遇到了一种我不确定如何使用Cognito实施的情况。请考虑以下两种情况:

  • 注册:

    1. 用户通过提供电子邮件和密码进行注册
    2. 使用确认码
    3. 向用户发送电子邮件
    4. 用户发送用户名和确认码以完成流程
  • 忘记密码:

    1. 用户通过发送他/她的用户名
    2. 来请求代码
    3. 使用上一步中生成的代码向用户发送电子邮件
    4. 用户通过提供用户名,新密码和代码
    5. 来重置密码

以上陈述是根据AWS Cognito的实施方式量身定制的。正如您所看到的,最后两个步骤在每个场景中都需要不同的输入。现在,我的问题是为什么AWS Cognito对它们使用相同的电子邮件模板(在第二步中)?

AFAIK,Cognito中只有一个模板("邮件自定义"部分),无论发送哪个电子邮件来确认用户的电子邮件所有权或用户已请求,都会使用它用于密码重置代码。

这对我来说是个问题,因为我希望这两封电子邮件的内容不同。首先,它们应包含不同的链接。

有没有办法在Cognito中发送两封不同的确认码和忘记密码的电子邮件?

1 个答案:

答案 0 :(得分:6)

事实证明,答案是使用触发器中的自定义消息。 Cognito允许您为用户池中生成的不同事件指定lambda函数。其中一个是自定义消息。每次将电子邮件发送到客户端时,都会调用此lambda函数。使用给予lambda函数的输入数据,可以实现它的场景并为该电子邮件撰写正确的内容。

以下是文档的链接:

https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-custom-message.html