如何使用AWS Amplify中的验证码来验证未经身份验证的用户的电子邮件?

时间:2020-03-26 08:21:49

标签: angular amazon-web-services asp.net-core amazon-cognito aws-amplify

我将AWS Cognito用作IDP,并将AWS Amplify库与Angular应用程序一起使用。我也有一个.net核心应用程序,该应用程序使用AWS Cognito sdk执行管理操作(例如用户任务)。现在,当管理员更新任何用户的电子邮件时,我将email_verified更改为false,以便用户必须首先验证其电子邮件。我有一个lambda触发器,该触发器会生成一个链接,并在URL中附加验证码,例如http://example.com/username/code。我还在Angular应用程序中创建了一个组件,以从url中提取代码并验证用户的电子邮件,并将其重定向到登录页面。

现在的问题是,我在AWS Amplify中找不到可以验证未经身份验证的用户电子邮件的任何此类方法。几乎没有什么方法可以期望currentUser(经过身份验证的用户),但是在我的情况下,由于Admin已更新了电子邮件,因此该用户将无法登录,而且我正在使用电子邮件进行登录而不是用户名。因此,只有在电子邮件经过验证后,我才能让用户登录。

我还尝试在AWS Amplify中使用confirmSignUp()方法,但是它会引发“无效代码”异常,这是因为已经确认了用户的帐户状态,只有email_verified字段为false;

如何使用验证码验证用户的电子邮件?

0 个答案:

没有答案