2009-11-18 148 views
5

场景: 用户使用OpenID登录到站点(如StackOverflow)。一年后,他们回到网站,但他们的OpenID提供商已经停业,不会让他们登录。如果用户无法使用其OpenID登录,该怎么办?

他们如何从这种情况中恢复过来?是否有任何OpenID功能的网站你知道已经实施了这个解决方案?

有一个excellent article here about relying party best practices,他们有一个很好的建议,但我仍然在寻找行动的这个例子:

提供丢失的标识符的功能切换到新的 标识符,而无需访问旧 一个

提供一种机制来切换 帐户使用一个新的标识符 而不访问与0123相关联的旧 标识符(S)帐户。这可以采取与传统的“忘记密码 ”类似的形式 ?电子邮件验证舞蹈, 假设您有文件的用户的 电子邮件地址。

理由:用户有时会失去 使用它们的标识符的能力, 比如当他们的供应商不再提供 服务给他们。这个 功能允许用户从这种情况下恢复 而不会丢失他们的数据 。

我对如何使用发送到用户的电子邮件地址的令牌来完成此操作有一些模糊的想法。但是,如果其他人已经想出了一个好的解决方案,我可能还没有想过,那就更好了。

+3

由于OpenID提供商往往也是电子邮件提供商,依靠电子邮件可能会失败的时间不成比例。 – 2009-11-19 19:17:18

+0

优秀点标记。从我在自己的数据库中观察到的情况来看,大约60%的使用Google作为OpenID的用户也使用gmail。但是......在MyOpenID中也有很大比例,当然这不会提供电子邮件。电子邮件验证理念并不完美,但它仍然是我能想到的最好的想法。 – 2009-11-19 19:48:08

+0

我给了你更多的想法,马克。你对OpenID提供商和电子邮件提供商的看法是一致的。但是,另一方面,电子邮件服务提供商通常不会完全停止服务,从而使其客户高度干燥。他们通常有一个很好的系统来恢复丢失的登录信息。这是我担心的小型OpenID提供商。 – 2009-11-20 19:10:58

回答

2

我实现了我正在考虑的帐户恢复功能。让这个想法酝酿了一段时间后,我想我已经为用户提供了一个非常简单的过程,它仍然是安全的。

具体的过程:

  1. 点击下的OpenID按钮 “有问题” 的链接。
  2. 输入您的电子邮件地址,然后点击“发送帐户恢复电子邮件”。
  3. 打开电子邮件并点击链接。 (该链接在查询字符串中有一次性登录令牌。)
  4. 您将自动登录到我的网站(一次性登录令牌将被销毁,因此无法再次使用)以及您被指示使用辅助OpenID登录。

我还做了一个视频展示了这一点:

http://regexhero.net/blog/2010/01/using-openid-on-regex-hero.html

7

StackOverflow允许多个OpenID与一个帐户关联,因此您可以设置一个备份提供程序。

另一种解决方案可能是收集用户的电子邮件地址,并向该电子邮件地址发送重置链接。

最终,您将在任何系统中偶尔遇到不能自动处理的用户。即使没有OpenID,用户也很容易失去对他们电子邮件的访问并忘记他们的密码,或忘记他们的用户名和密码。有时,唯一的解决方案是“您需要重新注册”或“我们的客户服务人员已授予您访问该帐户的权限”。

+0

多个OpenID是一个好主意(也包含在最佳实践文档中)。我正在收集用户的电子邮件地址,以便部分完成。我想我只是希望找到一个简单易用的例子,同时保证安全。 – 2009-11-18 19:34:24

+0

最终,“后门电子邮件地址”应该关闭。如果我找到了您的电子邮件密码,那么我今天在互联网上拥有您的身份是一件耻辱。多个OpenID是一个更好的解决方案,但它本身并不理想。我认为有空间找到更好的解决方案。但我不知道那是什么。 – 2009-11-19 05:54:37

0

有一两件事你可以做的是还建立自己的网站,不仅是一个OpenID的消费者,而是一个OpenID提供商。这样,如果出于某种原因,供应商停业,您可以让您的成员只需使用您的供应商登录,并允许他们以某种方式恢复其配置文件。就像SO允许多个ID一样,或者也许只是从一个ID到另一个ID具有迁移功能。你最大的问题是他们的原始ID不能被认证。我不确定是否允许多个ID可以缓解这种情况,但如果您的用户是积极主动的,则可能会阻止这种情况。

+0

这不是摆脱了OpenID的全部重点 - 没有让每个站点成为自己的提供者? – ceejayoz 2009-11-18 19:35:05

+0

@ceejayoz是的,但是关注源于集中(单一)登录的事实。解决这个问题的唯一方法就是再次登录。 – Joseph 2009-11-18 19:36:44

+0

@ceejayoz我说的是使用它作为备份机制,而不是主要的。它可能不会是你在你的网站上做广告的东西,只有登录时遇到问题的用户。 – Joseph 2009-11-18 19:38:15

相关问题