Ada*_*lla 16 amazon-web-services aws-cognito
因此,我试图了解AWS Cognito,但我遇到了一些问题.
所以,现在我可以注册一个帐户,并验证并登录.简单就够了.边缘的情况是我的墙壁.
这是我到目前为止的信息:
username一旦创建,就不能改变username价值观email被标记为别名,在Cognito术语中表示我可以使用它来进行登录username.如果email选择作为别名,则根据文档,相同的值不能用作用户名(http://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user -pool-settings-aliases):
如果选择电子邮件作为别名,则用户名与有效的电子邮件格式不匹配.同样,如果选择电话号码作为别名,则该用户池的服务将不接受与有效电话号码模式匹配的用户名.
只有在帐户经过验证后,该email地址才能用于登录(http://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-别名)
在验证电话号码和电子邮件地址后,电话号码和电子邮件地址仅成为用户的活动别名.因此,如果您选择将它们用作别名,我们建议您选择自动验证电子邮件地址和电话号码.
这就是我的优势所在.
如果一个用户注册,但不立即确认:
在他们看来,他们已注册但未验证他们的帐户.在这一点上,它实际上没有办法验证他们认为他们注册的帐户.我猜它可以通过消息解决:
"在您验证电子邮件地址之前,警告您的帐户不会被创建." 或类似的规定.无论如何...
username.username甚至可以是什么,因为他们只输入了他们的电子邮件地址."堆积"可能是一个过于强烈的短语,这可能是一个非常边缘的情况.
现在好的方面是,因为他们没有"验证"他们,email他们可以使用相同的email地址再次注册,因为email它没有得到唯一约束,直到它verified.如果有人试图验证已经验证的地址,他们会得到一个AliasExistsException.这实际上提出了一个我刚刚测试过的有趣点.
我可以使用电子邮件地址注册,然后验证该电子邮件地址,以便确认该帐户.然后,我可以右转并使用相同的电子邮件地址注册,在尝试使用重复的电子邮件地址验证该帐户之前,我没有收到正式的AWS错误.以前没有办法表明这个错误?我想期望开发人员在预注册触发器中编写验证服务:
当用户提交其信息以进行注册时,将调用此触发器,允许您执行自定义验证以接受或拒绝注册请求.
总结一下,并重申一下这个问题:
实际上,似乎需要在使用带有Cognito的电子邮件地址时需要预先注册Lambda,以确保不存在具有电子邮件的帐户,因为在验证尝试之前不会处理AWS异常制作.
我的假设在这里是否正确?根据这里的要求,我认为让用户知道电子邮件地址不能尽快提供是非常合理的.例如:
John Doe : jdoe@gmail.com
Jane Doe : jdoe@gmail.com
Run Code Online (Sandbox Code Playgroud)
你是对的。另一个解决方案是创建一个 lambda(不是由 preSignUp 触发),并在用户完成在电子邮件字段中的输入时调用。并在发送注册事件之前收到“此电子邮件已被使用”或“此电子邮件可用”的响应。
参考你问题的第一部分。如果用户没有立即验证他们的电子邮件。您可能指的是通过代码确认。我更喜欢通过发送到电子邮件的链接进行确认,这样可以避免此问题。
| 归档时间: |
|
| 查看次数: |
4495 次 |
| 最近记录: |