为什么要使用用户名而不仅仅是电子邮件地址来识别用户?- 当安全专家(我不是)应该建议插入另一层用户名(例如,当创建本机/Web 应用程序时)时,主要关注点或主要情况是什么?
为什么要使用用户名而不仅仅是电子邮件地址来识别用户?
您的问题缺少很多上下文,但是您所说的听起来像是在寻求解决争论。所以我的回答将从“这取决于...”开始
拥有不是电子邮件地址的唯一用户名的一个原因是在其他用户可以看到用户名时保护隐私。例如,GitHub 配置文件在配置文件 URL 中指示用户名,并作为提交、问题、评论等的作者指示符。
提供用户名作为用户的公众面孔而不是他们的电子邮件地址,可以让他们获得一层隐私。
在极少数情况下,服务可能会选择根本不收集电子邮件地址……因为电子邮件地址可以被视为敏感和个人身份信息。根本不收集电子邮件地址的缺点是,如果没有经过验证的用于恢复的渠道,对于忘记密码或帐户遭到破坏的人来说,帐户恢复将更加困难。
或者对于混合方法,人们可能会收集电子邮件地址,但将其存储在高度加密后的数据库中。强加密通常很难搜索,因此使用不那么敏感的标识符可以以明文形式存储会很方便。
电子邮件实际上用于许多网站上的用户身份。
这有优点也有缺点。不完整的列表:
好处
- 唯一性问题已经解决了
- 无需想出或发明用户名
- 您不需要另外询问电子邮件地址
缺点
- 人们有时会更改他们的电子邮件地址
- 它经常公开电子邮件地址(垃圾邮件、骚扰等问题)
- 根据上下文,人们可能想要一个用户名,而不是一个地址
一个常见且安全的解决方案是同时使用显示的用户名和使用电子邮件地址登录。
这取决于应用程序的类型。如果是论坛,添加另一层用户名是有意义的,原因如下:
屏蔽公开的电子邮件地址(您需要有一个显示名称,许多人可能不希望他们的电子邮件地址公开)。不过,另一种选择是让人们使用他们的电子邮件地址登录,并为他们提供选择显示名称的选项。
易于登录(当然,浏览器会记住您的登录 ID,这变得不那么相关了)。
如果是会员不与公众互动的某些应用程序,则使用电子邮件地址登录可能是有意义的。
尚未提及的一个原因是允许用户创建多个帐户的能力。并非每个站点都需要将帐户限制为每人一个。
允许多个帐户/身份是安全/隐私问题。虽然它可以被滥用,但它也为人们提供了更多的隐私,因为他们可以将工作与私人事务等分开。
Stack Exchange 确实允许人们持有多个帐户。但是,由于电子邮件用作 id,因此每个帐户都需要不同的电子邮件地址。
如果电子邮件不用作 id,则可以使用相同的电子邮件地址创建多个帐户。这可以为用户简化事情,甚至允许为多个身份提供适当的支持系统。
不允许每个人使用多个帐户的原因之一是资源分配。(例如,您可能有 10 GB 的可用空间)但是,如果人们出于隐私原因创建多个帐户,他们实际上并不关心可用空间。
通过允许多个帐户使用相同的电子邮件地址,人们可以获得他们的多个身份,但电子邮件地址可用于跟踪有限的资源。
这并不能防止滥用,但有助于识别诚实的人。
当然还有其他方法可以实现这一点。