多年来,我一直使用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提供商进行身份验证吗?怎么样?
答案 0 :(得分:9)
OpenID Connect 仅支持基于您提供的某些提示查找您的提供商的发现(电子邮件,帐户,URL,域等);它不会为您提供持久标识符,您可以委派身份验证到您选择的可配置提供程序。
因此,如果您只想使用自定义URI来查找您的提供商,您可以使用Nat提供的方法(除了谷歌没有和不能做的最后一点,并假设SO支持发现)。
但是如果你想要真正的委托,那么RP可以使用OP返回的标识符,该标识符对你委派的不同OP持久存在,那么你就不能。
对于StackOverflow,您可能不需要其中任何一个:SO使用自己的主要标识符/帐户,您可以将多个帐户链接到该帐户,包括Google。只有当SO将您的自定义URI用作其主要标识符时,您才会遇到问题。在这种情况下,没有问题,您可以:
但是1.和2.确实产生了相同的结果:他们发现认为Google是您要进行身份验证的地方。
答案 1 :(得分:7)
假设您要将自己的域用作用户提供的登录标识符 -
此外,如果StackOverflow支持OpenID Connect Migration 1.0,并假设Google在迁移响应中返回您的自定义域claim_id,则:
会顺利进行。
答案 2 :(得分:-4)
将您的OpenID提供商从Google切换到Yahoo!在您的网站上可能适合您,直到雅虎!停止其OpenID 2.0功能。
但是,如果你对Nat的第一个建议没问题,那么在较长时间内会更稳定。