使用电子邮件地址作为用户ID的优缺点是什么?

vam*_*min 67 email authentication registration

我正在创建一个需要注册/身份验证的Web应用程序,我正在考虑使用电子邮件地址作为唯一的用户ID.以下是我所看到的利弊(更新后的回复):

PROS

  1. 注册期间填写的字段少一个(它只是电子邮件地址,密码和验证密码).我是极简主义注册的忠实粉丝.

  2. 电子邮件地址更容易记住.(谢谢米奇,杰里米)

  3. 您不必担心自己喜欢的用户名已被占用 - 您是唯一使用您的电子邮件地址的用户.(感谢TStamper)

缺点

  1. 用户每次登录时都需要输入更多内容.

  2. 如果用户想要多个帐户怎么办?他们需要另一个电子邮件地址.(我甚至希望用户能够创建多个帐户吗?)

  3. 潜在的攻击者很容易猜到(如果他们知道目标的电子邮件地址,他们就知道登录ID).(感谢Vasil)

  4. 用户可能会想要使用他们用于电子邮件帐户的相同密码,这是不好的安全措施.(谢谢托马斯)

  5. 如果您经常更改电子邮件地址,可能很难记住在长时间间隔后您用于注册网站的地址.(感谢软件猴子)

  6. 黑客可以通过垃圾邮件发送注册表单并使用"已发送的电子邮件"响应来生成有效电子邮件列表.(感谢大卫)

  7. 不是每个人都有电子邮件地址.(谢谢尼古拉斯)

如果我使用电子邮件作为id,我会提供一种机制,允许在用户更改地址时更改它.在这种情况下,用户不会将内容发布到公共站点,因此不需要单独的用户名来保护电子邮件地址(但这是其他站点需要考虑的事项).

另一个选择是实现OpenID(这是另一个辩论).

这似乎适用于谷歌,但他们的服务紧密集成.在我的分析中我错过了什么?你有什么建议?有没有人有经验可以分享?

最终编辑

谢谢大家的回复.我已决定使用电子邮件作为ID,但在注册后允许创建用于登录的用户名.这允许一点灵活性,同时保持尽可能短的注册.它还可以防止用户更改电子邮件地址时出现问题(他们只需使用用户名登录并进行更新).我还将实施防止电子邮件地址暴露在注册和登录系统之外的方法(主要是在重复尝试后的冷却期).

Jer*_*emy 31

就个人而言,我更喜欢使用我的电子邮件地址作为用户名.记住这个问题要少一些,我也不必担心我的名字已被采用了.

只需2美分!


Mit*_*eat 25

我想你错过了PRO:

用户可能会记住他们的电子邮件地址; 由于电子邮件地址是唯一的,因此他们永远不必担心他们的首选用户名已被占用.


Tho*_*mas 12

缺点

  1. 当相同的密码用于电子邮件帐户时,自动妥协该密码意味着妥协另一个.

  • 使用这种方法就不会出现这个问题。这对用户来说是个问题。所以我不认为这是一个骗局。 (2认同)
  • 每当电子邮件与帐户关联时,这通常都是正确的,而不仅仅是在将电子邮件用作登录时.如果您控制帐​​户注册的电子邮件,大多数服务都提供了重置密码的方法. (2认同)

BC.*_*BC. 11

作为网站的用户,我可以告诉你,我讨厌记住不必要的用户名.我没有使用独特的手柄或任何东西,所以我永远不会记得我用过的名字的哪个变种尚未被采用.我更愿意输入我的电子邮件地址.

另外,我喜欢OpenID.

  • 您是网站的用户?;) (12认同)

Nic*_*cki 11

CON:不是每个人都有一个电子邮件地址.考虑您的数据库是否曾被内部应用程序访问过.如果您经营商店,人们打电话并通过电话下订单并拒绝提供电子邮件地址.因此,虽然将电子邮件地址作为默认用户ID很酷,但请确保允许替代方案进入系统.(当然,这取决于具体情况.)

很难理解这一点.

  • 我们经营着一个电子商务网站,我们用"电话号码"@ << ourdomain >>通过电话注册人.99.9%的人都有电子邮件,所以这不是我们要做的很多事情,但它确实有效. (2认同)

Zor*_*che 4

我倾向于不喜欢列出赞成/反对清单,而是尝试考虑好处和挑战。

挑战:

有些用户可能会想使用 ISP 提供的电子邮件地址。对于在更换 ISP 之前忘记更新其注册的所有网站中的电子邮件的用户来说,单独链接到电子邮件可能会很困难。

反而:

您应该考虑允许用户提供多个地址以及用户选择的 ID,然后让用户决定他们想要做什么。也许还可以考虑允许用户提供 OpenID 帐户。