Login 如果用户可以';你不能用他们的OpenID登录吗?

Login 如果用户可以';你不能用他们的OpenID登录吗?,login,openid,Login,Openid,场景: 用户使用OpenID登录站点(如StackOverflow)。一年后,他们返回该网站,但他们的OpenID提供商已经停业,不允许他们登录 他们应该如何最好地从这种情况中恢复过来?你知道有没有启用OpenID的站点已经实现了这方面的解决方案 他们有一个很好的建议,但我仍在寻找一个实际的例子: 提供丢失标识符功能以切换到新的 无法访问旧数据库的标识符 一个 提供一种机制来切换 要使用新标识符的帐户 无法接触到老年人 与服务器关联的标识符 账户这可以采取类似的形式 传统的“忘记你的 密码?“电

场景: 用户使用OpenID登录站点(如StackOverflow)。一年后,他们返回该网站,但他们的OpenID提供商已经停业,不允许他们登录

他们应该如何最好地从这种情况中恢复过来?你知道有没有启用OpenID的站点已经实现了这方面的解决方案

他们有一个很好的建议,但我仍在寻找一个实际的例子:

提供丢失标识符功能以切换到新的 无法访问旧数据库的标识符 一个

提供一种机制来切换 要使用新标识符的帐户 无法接触到老年人 与服务器关联的标识符 账户这可以采取类似的形式 传统的“忘记你的 密码?“电子邮件验证舞蹈, 假设您拥有用户的 文件中的电子邮件地址

理由:用户有时会失败 使用其标识符的能力, 例如,当他们的提供者停止 为他们提供服务。这 功能允许用户进行恢复 在这种情况下不输 他们的数据


我对如何通过发送到用户电子邮件地址的某种令牌来实现这一点有些模糊的想法。但是,如果其他人已经想出了一个很好的解决方案,其中的细节我可能还没有想到,那就更好了。

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

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


最终,在任何无法自动处理的系统中,都会有临时用户。即使没有OpenID,用户也很容易失去对电子邮件的访问,忘记密码,或者忘记用户名和密码。有时,唯一的解决方案是“您需要再次注册”或“我们的客户服务人员已授予您访问该帐户的权限”。

您可以做的一件事是,将您的网站建设成不仅是openID消费者,而且是openID提供商。这样,如果某个提供商因某种原因停业,您可以让您的成员使用您的提供商登录,并允许他们以某种方式恢复其个人资料。就像这样,它允许多个ID,或者可能只是具有从一个ID到另一个ID的迁移功能。你最大的问题是他们的原始身份无法被认证。我不确定允许使用多个ID是否会缓解这种情况,但如果您的用户是主动的,它可能会防止出现这种情况。

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

过程如下:

  • 单击OpenID按钮下的“遇到问题”链接
  • 键入您的电子邮件地址,然后单击“发送帐户恢复电子邮件”
  • 打开电子邮件并单击链接。(该链接在querystring中有一个一次性登录令牌。)
  • 您将自动登录到我的站点(一次性登录令牌将被销毁,因此无法再次使用),并指示您使用辅助OpenID登录
  • 我还制作了一个视频来演示这一点:


    多OpenID是一个好主意(也包含在最佳实践文档中)。我正在收集用户的电子邮件地址,以便完成这部分工作。我想我只是希望找到一个既方便用户又安全的例子。最终“电子邮件地址后门”应该关闭。如果我发现了你的电子邮件密码,我在互联网上拥有了你的身份,这真是太遗憾了。多个OpenID是一个更好的解决方案,尽管它本身也不理想。我认为还有空间找到更好的解决办法。但我不知道那是什么。这难道不能摆脱OpenID的全部意义吗?不是每个站点都有自己的提供商吗?@ceejayoz是的,但问题是集中(单一)登录的事实。解决这个问题的唯一方法是再登录一次。@ceejayoz我说的是将它用作备份机制,而不是主登录。这甚至可能不是你在网站上宣传的东西,只针对登录有问题的用户。@Joseph,我同意——我自己成为一个OpenID提供商并不是一个糟糕的主意,也不会那么难。但这并不能解决我的特殊问题。正如您所说,真正的诀窍是首先证明他们拥有自己的旧帐户,而他们无法再进行身份验证。然后允许他们使用另一个OpenID登录。最后一点——以一种不会把他们的废话弄糊涂的方式呈现给用户。@Steve没错,但问题是,多ID解决方案只适用于主动的用户,并且在其中一个帐户出现故障之前链接多个帐户。你的普通案例用户可能不会这么做,所以你又回到了原点。所以,你真正的问题是,“当验证者无法对用户进行身份验证时,你如何对其进行身份验证?”对此,我并不认为有什么好的答案。由于OpenID提供商通常也是电子邮件提供商,所以依赖电子邮件可能会在相当长的时间内失败。非常好的分数。根据我在自己数据库中观察到的情况,大约60%使用谷歌作为OpenID的用户也使用gmail。但是MyOpenID也有很大比例,当然它不提供电子邮件。电子邮件验证的想法并不完美,但它仍然是我能想到的最好的主意。马克,我对你的观点多考虑了一点。关于OpenID提供商和电子邮件提供商通常是相同的,你说得很对。然而,另一方面,emai