login - 如果用户无法使用他们的 OpenID 登录怎么办?

标签 login openid

场景:
用户使用 OpenID 登录站点(如 StackOverflow)。一年后,他们再次访问该站点,但他们的 OpenID 提供商已经倒闭,不允许他们登录。

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

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

Provide Lost Identifier functionality to switch to a new identifier without access to the old one

Provide a mechanism to switch an account to use a new identifier without access to the old identifier(s) associated with the account. This can take a similar form to the traditional "Forgot your password?" email verification dance, assuming that you have the user's email address on file.

Rationale: Users will sometimes lose the ability to use their identifiers, such as when their provider ceases to offer service to them. This functionality allows users to recover from this situation without losing their data.



我对如何使用发送到用户电子邮件地址的各种 token 来完成此操作有一些模糊的想法。但同样,如果其他人已经找到了一个很好的解决方案,其中包含我可能还没有想到的细节,那会更好。

最佳答案

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

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

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

关于login - 如果用户无法使用他们的 OpenID 登录怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1758399/

相关文章:

openid - 是否有支持 Facebook、Twitter 和 2010 年代顶级网站的 openid 选择器?

ruby - 如何在 Ruby 中获取 Google OpenID 身份 URL

asp.net-mvc - 更改域错误 - OpenId 身份验证请求包含未注册的域

shell - bash 命令名称以 '-'(减号)开头

ruby-on-rails - 密码更改后设计身份验证登录

login - 我应该使用什么方法进行登录(身份验证)请求?

php - 在ajax()方法jQuery中未收到错误消息

php - 如何确定登录表单(Symfony 4)拒绝访问的原因?

c# - 如何使用 Facebook(或其他 ID)登录我的 asp.net 应用程序?

azure - AdalJS/openid/oauth2 是否支持电子邮件、地址和电话范围类型?