Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在设计一个多因素登录。如果用户在我的网站上输入他们的登录名并提交它,我会用临时代码给他们发短信。一旦他们提交了这个,我们将创建一个会话 ID 并完成登录过程。是否需要在此过程中让用户输入密码?这是最佳实践吗?
是的,需要密码。如前所述,用户无需输入密码。这实际上只是单因素身份验证。MFA 通常是你知道的东西(密码)加上你拥有的东西(电话、指纹、手的几何形状等)。在您的设计中,假设他们知道目标的用户名,某人可能会窃取用户的电话,然后他们可以通过登录。
还有一个烦人的副作用,如果我知道某人的登录信息,我可以用你的短信向他们发送垃圾邮件。
最好的做法是让用户使用用户名+密码登录,一旦他们过去了,你问他们是否要发送短信。
如果您不需要密码,那么您将临时代码作为唯一因素。
这意味着有人可以窃取我的电话(或只是窃取电话号码),并且他们甚至可以在没有我的密码的情况下访问此帐户!
不,这不是一个好习惯。