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

RTS*_*lio 32 openid google-openid stackexchange openid-connect

多年来,我一直使用OpenID委托登录Stack Overflow(以及其他网站),使用我自己的URI作为OpenID,但让Google处理身份验证.我使用Stack Overflow问题中描述的技术; 所以,我的自定义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" />  
Run Code Online (Sandbox Code Playgroud)

然而,现在,我已登录Stack Overflow并让谷歌告诉我" 重要通知: 2015年4月20日,Google帐户的OpenID2将消失.了解详情." 此页面解释了Google已弃用OpenID 2.0,开发人员应将其应用迁移到OpenID Connect.

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

Han*_* Z. 9

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

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

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

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

  1. 使用Google登录按钮,或
  2. 假设您已经实现了Discovery,请在OpenID URL输入框中键入您的自定义URI

但是1.和2.确实产生了相同的结果:他们发现 Google是您想要进行身份验证的地方.

  • 这可能值得一提.我想象Robert设置代理的原因与我的原因大致相同:因为我希望能够交换身份验证提供程序,而无需转到使用自定义URI作为用户标识符的所有单个站点.Stack Overflow/Exchange是少数几个认为SO/SE用户可能拥有多个身份的网站之一,而其他人则根本没有.如果所有这一切都让我再次与谷歌联系,我不想设置新的东西.如果我切换身份验证提供程序,如果其他人丢弃OpenID 2.0,我只是推迟不可避免的吗? (2认同)

Nat*_*ura 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作为用户标识符

此外,如果StackOverflow支持OpenID Connect Migration 1.0,并假设Google在迁移响应中返回您的自定义域claim_id,则:

  1. 如您域中的http://openid.net/specs/openid-connect-migration-1_0.html#VerifyOPAuthority所述,托管JSON文档.

会顺利进行.