我已将用户池设置为使用电子邮件作为用户标识符(也配置为需要电子邮件验证)。每个主要操作/流程(登录、注册、更改密码、重置密码)似乎都按预期正常工作。
最重要的一件事情是更改电子邮件流程:
当请求更改电子邮件时,Cognito 会按预期将验证码发送到新电子邮件,但它也会在验证之前将电子邮件更新为新值。
这会在以下情况下导致问题:新电子邮件输入错误(因此验证码永远不会到达)并且用户忘记了密码。似乎没有办法从中恢复。 我是否遗漏、错误配置或滥用了某些东西?我做了最小的用户池自定义(可能不区分大小写除外)。
AWS 允许在验证之前更改电子邮件的原因是什么(即使 Cognito 在注册过程中实际上需要在创建帐户之前进行验证)?
是否缺少一些用户池配置设置(或 Lamba)或本地 SDK 设置?
顺便说一句:我使用 iOS SDK 中的 AWSMobileClient
作为客户端,但这可能无关紧要(?)。
答案 0 :(得分:1)
这是 Cognito 中的一个错误,仍在等待解决超过 3 年。许多人找到的解决此问题的方法是创建自己的验证系统。
有关更多详细信息,请参阅:https://github.com/aws-amplify/amplify-js/issues/987