我有不止一个 OpenID,因为我已经尝试了很多。随着人们使用 OpenID,不同的供应商将会出现,我可能想更换供应商。由于所有 ID 都是我,并且所有 ID 都是针对同一个电子邮件地址进行身份验证的,我不应该能够使用其中任何一个登录到堆栈溢出并能够访问同一个帐户吗?
6 回答
我认为每个实现 OpenID 的站点都必须构建他们的软件以允许您的 OpenID 凭据的多个条目。然而,仅仅因为一个站点不允许您创建多个条目并不意味着您不能交换 OpenID 供应商。
如何将您的博客变成 OpenID
第 1 步:获取 OpenID。您可以使用许多服务器和服务。我使用http://www.myopenid.com
第 2 步:将这两行添加到您博客的主模板中,位于<HEAD></HEAD>
模板顶部的标签之间。大多数博客引擎都支持编辑您的模板,因此这应该是一件容易且非常可能的事情。
例子:
<link rel="openid.server" href="http://www.myopenid.com/server" /> <link rel="openid.delegate" href=http://YOURUSERNAME.myopenid.com/ />
这将允许您使用您的域/博客作为您的 OpenID。
感谢Scott Hanselman和Simon Willison的这些简单说明。
更换您的供应商
现在您的 OpenID 指向您的博客,您可以更新链接 rel href 以指向新的供应商,并且您绑定博客 OpenID 的所有地方都将使用新的供应商。
除了 Otto 的元标记示例之外,您还应该知道您的提供程序是否支持 OpenID 2.0(有许多改进)。如果它确实使用元标记,如下所示:
<link rel="openid2.provider" href="http://www.loginbuzz.com/provider.axd" />
<link rel="openid2.local_id" href="http://example.loginbuzz.com/" />
<link rel="openid.server" href="http://www.loginbuzz.com/provider.axd" />
<link rel="openid.delegate" href="http://example.loginbuzz.com/" />
使用安全链接也是一个好主意,但这可能会限制一些依赖方登录。但是,这可以通过提供XRDS 文档来解决。
XRDS 的真正妙处在于您可以在本文档中指定多个提供程序。假设您有一堆不同的帐户,它们都有不同的提供商支持不同的扩展。然后,依赖方能够自行选择最佳匹配。在 XRDS 文档中,您还可以为每个服务指定多个 URL,以便在适当的时候使用 https。
我还建议购买i-name,因为它在设计上更安全(即使 i-name 过期,与 i-name 相关联的规范 ID - i-number 也属于您)。
@prakesh
只要您将所有这些都关联到同一个电子邮件地址,我认为它会引导您访问同一个帐户。
但你的经验是什么?
当我尝试它时,我得到了一个全新的帐户,0 代表,没有 steenkin 徽章。所以目前 SO 不允许多个 OpenID 与一个帐户相关联
使用多个开放 ID 提供者不会破坏开放 ID 的意义吗?
没有。假设您使用的是 Yahoo OpenID,但您决定改用 Google。每个帐户的多个 OpenID 允许您将您的帐户与 Google OpenID 关联,然后取消对 Yahoo OpenID 的授权。
使用多个开放 ID 提供者不会破坏开放 ID 的意义吗?
这里的关键是永远不要改变身份。更改提供者,但不更改身份。(这就像现实生活一样)
所以 OpenID 的新用户应该首先考虑他们的身份可能是什么。
已经拥有某种网站的用户应选择此 URL,而没有网站的用户有以下选项:
- 获取类似博客的内容以获取 URL
- 购买 i-name(或域名)
- 或使用身份提供商提供的 URL
在身份提供者提供 URL 的情况下,用户需要注意,如果将来他们选择以某种方式委派或更改身份,那么它本质上是一个新身份,并且对 RP(和 OP)的多重身份支持是有限的(通常需要将 RP 站点上的本地帐户重新关联到不同的 OpenID 身份)。