Luk*_*asz 2 amazon-cognito aws-userpools
我已将用户池设置为使用电子邮件作为用户标识符(也配置为需要电子邮件验证)。每个主要操作/流程(登录、注册、更改密码、重置密码)似乎都按预期正常工作。
一件重要的事情并不像人们想象的那样有效,那就是改变电子邮件流:
当请求更改电子邮件时,Cognito 按预期将验证码发送到新电子邮件,但它还会在验证之前将电子邮件更新为新值。
当例如:新电子邮件输入错误(因此验证码永远不会到达)并且用户忘记其密码时,这会导致问题。似乎没有办法从中恢复。我是否遗漏、配置错误或滥用了某些内容?我做了一个最小的用户池自定义(可能不区分大小写除外)。
AWS 允许在验证之前更改电子邮件的原因是什么(即使 Cognito 实际上需要在注册期间、创建帐户之前进行验证)?
是否缺少一些用户池配置设置(或amba)或本地 SDK 设置?
顺便说一句:我使用AWSMobileClient
iOS SDK 作为客户端,但这可能并不重要(?)。
Cognito 团队终于解决了这个问题,但您需要选择正确的行为。
来自开发者指南:
Amazon Cognito 还可以要求您的用户在 Amazon Cognito 更新属性之前验证新值。当您要求用户首先验证新值时,他们可以使用原始值登录并接收消息,直到验证新值。
要选择加入此行为,请按照该页面上的步骤操作:
登录Amazon Cognito 控制台。如果出现提示,请输入您的 AWS 凭证。
在导航窗格中,选择用户池,然后选择要编辑的用户池。
在“注册体验”选项卡中,选择“属性验证和用户帐户确认”下的“编辑”。
选择更新挂起时保持原始属性值处于活动状态。
在更新挂起时的活动属性值下,选择您希望要求用户在 Amazon Cognito 更新值之前验证的属性。
选择保存更改。
这将启用用户池的默认行为:该属性将保留其旧值,直到用户实际验证新值,此时 Cognito 将该值更新为新值。
归档时间: |
|
查看次数: |
5009 次 |
最近记录: |