使用 AWS 的 Cognito 可以获得很多好处,因为大多数功能(如果不是全部)已经由 AWS 实现。但我遇到了一种情况,我不确定如何使用 Cognito 来实现。考虑以下两种情况:
-
Sign up:
- 用户通过提供电子邮件和密码进行注册
- 将向用户发送一封包含确认码的电子邮件
- 用户发送用户名和确认码以完成该过程
-
忘记密码:
- 用户通过发送他/她的用户名来请求代码
- 将向用户发送一封电子邮件,其中包含上一步中生成的代码
- 用户通过提供用户名、新密码和代码来重置密码
上述陈述是根据 AWS Cognito 的实施方式定制的。正如您所看到的,最后两个步骤在每个场景中都需要不同的输入。现在,我的问题是为什么 AWS Cognito 对它们使用相同的电子邮件模板(在第二步中)?
AFAIK,Cognito 中只有一个模板(“消息自定义”部分),无论发送电子邮件以确认用户的电子邮件所有权还是用户请求密码重置代码,都会使用该模板。
这对我来说是一个问题,因为我希望两封电子邮件的内容不同。对于初学者来说,它们应该包含不同的链接。
有没有办法在 Cognito 中发送两封不同的电子邮件以获取确认码并忘记密码?
事实证明答案是使用自定义消息 from Triggers。 Cognito 允许您为用户池中生成的不同事件指定 lambda 函数。其中之一是自定义消息。每次要向客户端发送电子邮件时都会调用此 lambda 函数。使用提供给 lambda 函数的输入数据,人们可以了解具体情况,并为该电子邮件编写正确的内容。
这是文档的链接:
https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-custom-message.html https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-custom-message.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)