当前位置: 首页 > 知识库问答 >
问题:

AWS Cognito变更电子邮件-更新前需要验证

陆飞龙
2023-03-14

我设置了用户池,将电子邮件用作用户标识符(还配置为需要电子邮件验证)。每个主要操作/流程(登录、注册、更改密码、重置密码)似乎都工作正常,并符合预期。

有一件重要的事情并没有像人们预期的那样起作用,那就是更改电子邮件流:

当请求更改电子邮件时,Cognito会按预期向新电子邮件发送验证代码,但它也会在验证之前将电子邮件更新为新值。

当f.ex.:新电子邮件输入错误(因此验证码永远不会到达)且用户忘记密码时,这会导致问题。似乎没有办法从中恢复过来。我是否丢失、配置错误或滥用了某些东西?我做了一个最小的用户池定制(可能不区分大小写)。

AWS允许在验证电子邮件之前更改电子邮件的原因是什么(即使Cognito在注册期间、创建帐户之前确实需要验证)?

我是否缺少一些用户池配置设置(或lamba)或本地SDK设置?

顺便说一句:我正在使用iOS SDK中的AWSMobileClient作为客户端,但这可能并不重要(?)。

共有1个答案

益富
2023-03-14

这是Cognito中的一个缺陷,已经等待了三年多的时间。许多人找到的解决这个问题的方法是创建自己的验证系统。

有关更多详细信息,请参阅:https://github.com/aws-amplify/amplify-js/issues/987

 类似资料:
  • 嗨,伙计们,我正在尝试在我的应用程序中进行自动登录,但在登录完成之前,我想知道用户是否验证了他的电子邮件或否。 问题是:即使我验证了我的帐户,代码也看不到这个并说是假的。 这是我的密码。 这条线总是假的,即使我验证了我的帐户。

  • 我在我的应用程序中使用Firebase认证,用户可以使用电子邮件和密码注册,他必须验证电子邮件。 用户收到验证邮件,但当他验证邮件并返回应用程序时,isEmailVerified()始终为false。所以我的应用程序仍然不允许用户使用所有功能,尽管事实上他已经验证了他的电子邮件。 但是如果他们注销并再次登录,isEmailVerified()立即返回true。但是注销用户然后重新登录是不是很好。

  • 问题内容: 我有一台在Linux VM上运行的Jenkins服务器。我希望我的Jenkins每次开始构建时都给我发送电子邮件。我已经如下设置了电子邮件服务。由于我在Google帐户中使用2因子身份验证,因此我为Jenkins创建了一个应用密码,但仍然显示“需要身份验证”。我还安装了扩展电子邮件通知插件,并以完全相同的方式设置了相同的结果。有谁知道这里可能是什么问题? 问题答案: 我进行了测试设置,

  • 每当我在Firebase中使用电子邮件/密码身份验证提供程序时,提供程序都会在成功注册时发送一个无记名令牌,即使是。是否有一种开箱即用的方法将电子邮件/密码身份验证提供程序配置为在用户验证其电子邮件地址之前不发送无记名令牌(并返回403错误)? 请注意,我知道如何创建用户、登录用户、发送验证电子邮件等。。。使用firebase v9。x通过firebase/auth中的方法创建用户(使用Email

  • 我正在尝试更新一个用户,作为管理员。 我正在更改用户名,但上面说电子邮件必须是唯一的。 我该怎么解决这个问题。 这是请求类 我一直收到失败的电子邮件验证。电子邮件已经被拿走了。有什么想法吗