当前ASP.NET身份验证密码重置(通过电子邮件验证)需要用户输入电子邮件和新密码进行重置。然而,在大多数密码重置的情况下,只需要一个新密码。如何做到这一点?
我发现可以通过电子邮件找到用户ID,例如:
var user = await UserManager.FindByNameAsync(model.Email);
能否直接从密码重置的回调URL中获取用户ID呢?因为它包含了用户ID。或者是否有更好的替代方法?
当前ASP.NET身份验证密码重置(通过电子邮件验证)需要用户输入电子邮件和新密码进行重置。然而,在大多数密码重置的情况下,只需要一个新密码。如何做到这一点?
我发现可以通过电子邮件找到用户ID,例如:
var user = await UserManager.FindByNameAsync(model.Email);
能否直接从密码重置的回调URL中获取用户ID呢?因为它包含了用户ID。或者是否有更好的替代方法?
你将如何验证尝试重置密码的人是密码重置所针对的账户的所有者?需要用户名或电子邮件来确定您正在为谁重置密码,并且发送到电子邮件的密码重置链接是一项安全要求,而不仅仅是“功能”。
强烈推荐阅读有关此主题的文章(不长,但非常有用)Troy Hunt:关于构建安全密码重置功能的所有内容