如果用户没有电子邮件帐户,则恢复密码

问题描述 投票:0回答:1

好,所以我继承了一个开放源代码项目,该项目的用户登录名是简单的用户名/密码组合。不幸的是,如果有人忘记了密码,我们将没有密码恢复选项。我希望现在就解决此问题,但由于我们没有其他任何识别特征,因此不确定如何安全地解决此问题。用户帐户没有辅助邮箱,没有“秘密问题”等。

一个用户帐户仅包含1)用户名,2)加密密码,3)用户具有编辑者访问权限的文档ID列表(但这可以通过查看用户的公共页面来公开看到)

现在,我可以访问该项目,我将实施OAuth或类似的功能,但是对于已注销的忘记密码的旧帐户,有没有正确的方法来标识我的用户,以便他们可以重置密码?

security passwords change-password
1个回答
1
投票

没有很好的方法可以做到这一点。您只是没有信息而已。还不足以联系用户。在用户提供其用户名和密码之前,您无法与他们进行通信。

您需要添加一个检查,该检查将在用户每次验证时运行,以检查他们是否设置了恢复数据(电子邮件或您决定使用的任何内容)。从那里可以有多种选择,具体取决于找到恢复数据的重要性。按照严重性顺序,您可以:

  1. 在添加并验证网站之前,禁止使用该网站恢复数据。本质上,如果恢复,则完全身份验证将失败数据未设置。
  2. 提示他们添加恢复数据,但允许他们跳过它。
  3. 通知他们已添加了设置恢复数据的功能,但不采取进一步措施。

如果您要大幅度更改登录名,那么在您要放弃尚未进行切换的用户之前,还需要支持旧方法。

© www.soinside.com 2019 - 2024. All rights reserved.