用于注册和忘记密码的不同电子邮件验证消息
Different email verification messages for sign-up and forgot-password
使用 AWS 的 Cognito 可以获得很多,因为大多数功能(如果不是全部)已经由 AWS 实现。但是我遇到了一种情况,我不确定如何使用 Cognito 来实现。考虑以下两种情况:
报名:
- 用户通过提供电子邮件和密码进行注册
- 向用户发送一封带有确认码的电子邮件
- 用户发送用户名和确认码以完成该过程
忘记密码:
- 用户通过发送他/她的用户名请求代码
- 一封包含上一步生成的代码的电子邮件已发送给用户
- 用户通过提供用户名、新密码和代码重置密码
以上陈述是根据 AWS Cognito 的实施方式定制的。正如您所见,最后两个步骤在每个场景中都需要不同的输入。现在,我的问题是为什么 AWS Cognito 对它们都使用相同的电子邮件模板(在第二步中)?
据我所知,Cognito("Message customizations" 部分)中只有一个模板,无论发送电子邮件确认用户的电子邮件所有权还是用户请求密码重置代码,都会使用它。
这对我来说是个问题,因为我希望两封电子邮件的内容不同。对于初学者,它们应该包含不同的链接。
有没有办法在 Cognito 中发送两封不同的电子邮件来获取确认码和忘记密码?
事实证明,答案是使用来自 Triggers 的 Custom message。 Cognito 允许您为用户池中生成的不同事件指定 lambda 函数。其中之一是 自定义消息 。每次要向客户端发送电子邮件时都会调用此 lambda 函数。使用提供给 lambda 函数的输入数据,可以了解它是哪种情况,并为该电子邮件编写正确的内容。
这是文档的 link:
https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-custom-message.html
使用 AWS 的 Cognito 可以获得很多,因为大多数功能(如果不是全部)已经由 AWS 实现。但是我遇到了一种情况,我不确定如何使用 Cognito 来实现。考虑以下两种情况:
报名:
- 用户通过提供电子邮件和密码进行注册
- 向用户发送一封带有确认码的电子邮件
- 用户发送用户名和确认码以完成该过程
忘记密码:
- 用户通过发送他/她的用户名请求代码
- 一封包含上一步生成的代码的电子邮件已发送给用户
- 用户通过提供用户名、新密码和代码重置密码
以上陈述是根据 AWS Cognito 的实施方式定制的。正如您所见,最后两个步骤在每个场景中都需要不同的输入。现在,我的问题是为什么 AWS Cognito 对它们都使用相同的电子邮件模板(在第二步中)?
据我所知,Cognito("Message customizations" 部分)中只有一个模板,无论发送电子邮件确认用户的电子邮件所有权还是用户请求密码重置代码,都会使用它。
这对我来说是个问题,因为我希望两封电子邮件的内容不同。对于初学者,它们应该包含不同的链接。
有没有办法在 Cognito 中发送两封不同的电子邮件来获取确认码和忘记密码?
事实证明,答案是使用来自 Triggers 的 Custom message。 Cognito 允许您为用户池中生成的不同事件指定 lambda 函数。其中之一是 自定义消息 。每次要向客户端发送电子邮件时都会调用此 lambda 函数。使用提供给 lambda 函数的输入数据,可以了解它是哪种情况,并为该电子邮件编写正确的内容。
这是文档的 link:
https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-custom-message.html