对用户在 Cognito 用户池中验证其电子邮件做出反应

问题描述 投票:0回答:1

这么简单的问题,是否有一种直接的编程方式可以在用户验证其新电子邮件地址时触发某些代码?我知道自定义电子邮件发件人 lambda 有一个初始部分的触发源 (

UpdateUserAttributes
),但我也想连接到验证部分。根据我的研究,唯一的方法是在 CloudTrail 跟踪中启用管理事件,然后添加带有 lambda 目标的 EventBridge 规则,这似乎有点矫枉过正,因为无法过滤特定事件,而且我觉得总而言之成本最终会不成比例。

对于更多上下文,我试图在用户的身份提供商发生变化时更新用户的数据库电子邮件,这似乎是一个非常正常的用例,这就是为什么没有明显的解决方案似乎令人惊讶.

amazon-cognito aws-event-bridge amazon-cloudtrail
1个回答
0
投票

如果您想在身份验证时验证用户是否具有经过验证的电子邮件,您还将获得预令牌生成 Lambda 的帮助。每次生成令牌时都会调用此触发器,您可以使用它来检查电子邮件验证是否成功,并且它进入用户上次登录后已验证的标志。

在 Lambda 函数中:

  1. 验证 email_verified 密钥是否正确

2, 获取此状态并将其与您存储在自己数据库中的最后状态进行比较。

如果是新验证的电子邮件,请更新数据库中的用户电子邮件。

© www.soinside.com 2019 - 2024. All rights reserved.