我有一个Azure AD B2C设置,无论我在忘记密码电子邮件的字段中插入哪一封电子邮件,都会将验证码电子邮件发送到该电子邮件。
即使“用户”列表中不存在该电子邮件。
这是默认行为吗?
This is the link I have for recover password
URL中是否有任何缺少的属性可以强制检查用户列表中是否存在电子邮件?
答案 0 :(得分:0)
这是设计使然。并且它将尝试发送验证码而不验证电子邮件是否存在。
通过考虑安全措施,这就是它应该如何工作的。
答案 1 :(得分:0)
我可以确认这种行为,但是找不到有关为什么它可以正常工作的参考。像许多安全方面的事情一样,我很确定这是设计上的折衷。
某些服务(例如Evernote)也是如此,即无论地址是否已注册,它们都会发送密码重置电子邮件。
其他服务(例如Dropbox)采用另一种方法,仅将电子邮件发送到使用其服务注册的地址。
像您一样,我认为后一种方法更好,因为我在前一种方法中看到的唯一好处是向未注册您服务的用户发出了“早期警告”。另外,了解预警需要一些用户的技巧。但是显然,微软则采取了另一种方式。
“用户”刀片中有一个“密码重置”项,但唯一的选项是“无”和“全部”。有趣的是,此选项的工具提示中提到了一个不存在的“选定”选项,因此将来可能会在此处显示一些更细粒度的设置。
答案 2 :(得分:0)
如果用户在发送消息之前就已经存在,那么如果您想存在,则必须编辑SendCode Action。因此,只有当用户存在于B2C端时,它才会发送验证码。
下面是一个很好的链接,可以帮助您。 https://github.com/azure-ad-b2c/samples/tree/master/policies/pwd-reset-email-exists