现在OpenID Connect与Google的授权他们正在弃用他们的OpenID2提供商?

时间:2015-01-14 14:15:53

标签: openid google-openid openid-connect stackexchange

多年来,我一直使用OpenID委派来使用我自己的URI作为OpenID登录Stack Overflow(以及其他网站),但让Google处理身份验证。我使用this Stack Overflow question中描述的技术;所以,我的自定义OpenID http://tupelo-schneck.org/robert解析为包含以下内容的HTML页面:

<link href="https://www.google.com/accounts/o8/ud" rel="openid2.provider" />
<link href="https://www.google.com/profiles/schneck" rel="openid2.local_id" />  

然而,现在,我已登录Stack Overflow并让Google告诉我&#34; 重要通知: Google帐户的OpenID2将于2015年4月20日消失。Learn more &#34; This page解释说Google已弃用OpenID 2.0,开发人员应将其应用迁移到OpenID Connect。

我可以继续使用自定义URI进行OpenID登录,但是委托给Google的OpenID Connect提供商进行身份验证吗?怎么样?

3 个答案:

答案 0 :(得分:9)

OpenID Connect 支持基于您提供的某些提示查找您的提供商的发现(电子邮件,帐户,URL,域等);它不会为您提供持久标识符,您可以委派身份验证到您选择的可配置提供程序。

因此,如果您只想使用自定义URI来查找您的提供商,您可以使用Nat提供的方法(除了谷歌没有和不能做的最后一点,并假设SO支持发现)。

但是如果你想要真正的委托,那么RP可以使用OP返回的标识符,该标识符对你委派的不同OP持久存在,那么你就不能。

对于StackOverflow,您可能不需要其中任何一个:SO使用自己的主要标识符/帐户,您可以将多个帐户链接到该帐户,包括Google。只有当SO将您的自定义URI用作其主要标识符时,您才会遇到问题。在这种情况下,没有问题,您可以:

  1. 使用Google登录按钮或
  2. 在OpenID URL输入框中键入您的自定义URI,假设您已经实现了Discovery
  3. 但是1.和2.确实产生了相同的结果:他们发现认为Google是您要进行身份验证的地方。

答案 1 :(得分:7)

假设您要将自己的域用作用户提供的登录标识符 -

  1. 转到https://stackoverflow.com/users/login-add?returnUrl=%2Fusers%2Fcurrent并使用Google添加登录信息。这会将Google OpenID Connect标识符添加到您的帐户。
  2. 您所在域的主机OpenID Connect发现文档(有关详细信息,请参阅http://openid.net/specs/openid-connect-discovery-1_0.html#URLSyntax。)
  3. 等到StackOverflow开始支持OpenID Connect发现
  4. 使用http://tupelo-schneck.org/robert作为用户标识符
  5. 此外,如果StackOverflow支持OpenID Connect Migration 1.0,并假设Google在迁移响应中返回您的自定义域claim_id,则:

    1. 按照您域中的http://openid.net/specs/openid-connect-migration-1_0.html#VerifyOPAuthority所述托管JSON文档。
    2. 会顺利进行。

答案 2 :(得分:-4)

将您的OpenID提供商从Google切换到Yahoo!在您的网站上可能适合您,直到雅虎!停止其OpenID 2.0功能。

但是,如果你对Nat的第一个建议没问题,那么在较长时间内会更稳定。