OpenIDConnect授权与谷歌现在他们正在弃用他们的OpenID2提供商?

OpenIDConnect授权与谷歌现在他们正在弃用他们的OpenID2提供商?,openid,google-openid,openid-connect,stackexchange,Openid,Google Openid,Openid Connect,Stackexchange,多年来,我一直使用OpenID委托登录到Stack Overflow(在其他网站中),使用我自己的URI作为OpenID,但让Google处理身份验证。我使用中描述的技术;因此,我的自定义OpenID解析为包含以下内容的HTML页面: <link href="https://www.google.com/accounts/o8/ud" rel="openid2.provider" /> <link href="https://www.google.com/profiles/sc

多年来,我一直使用OpenID委托登录到Stack Overflow(在其他网站中),使用我自己的URI作为OpenID,但让Google处理身份验证。我使用中描述的技术;因此,我的自定义OpenID解析为包含以下内容的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告诉我“重要通知:OpenID2 for Google accounts将于2015年4月20日退出……”解释说Google已经弃用OpenID2.0,开发者应该将他们的应用迁移到OpenIDConnect


我可以继续为OpenID登录使用自定义URI,但委托给Google的OpenID连接提供商进行身份验证吗?如何使用?

假设您希望使用自己的域作为用户提供的登录标识符--

  • 转到并使用Google添加登录名。这将向您的帐户添加Google OpenID连接标识符
  • 在您的域中托管OpenID Connect发现文档(有关详细信息,请参阅。)
  • 等待StackOverflow开始支持OpenID连接发现
  • 用作用户标识符
  • 此外,如果StackOverflow支持OpenID Connect迁移1.0,并假设Google在迁移响应中返回您的自定义域id,则:

  • 在您的域中托管JSON文档,如中所述
    会给你铺平道路的

    将OpenID提供商从Google切换到Yahoo!在你的网站上可能会为你工作,直到雅虎!停止其OpenID2.0功能

    但是,如果您同意Nat的第一个建议,那么在更长的时间内,这将是一种更稳定的方式。

    OpenID Connect仅支持查找,即根据您给出的提示(电子邮件、帐户、URL、域等)查找您的提供商;它不会为您提供一个持久标识符,您可以将其身份验证委托给您选择的可配置提供者

    因此,如果您只想使用自定义URI来查找您的提供者,那么可以使用Nat提供的方法(除了最后一点,Google没有也不能这样做,并假设So支持查找)

    但是如果您想要真正的委派,以便RPs可以使用OP返回的标识符,该标识符在您委派给的不同OP上是持久的,那么您就不能

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

  • 使用谷歌登录按钮,或
  • 在OpenIDURL输入框中键入自定义URI,假设您和都实现了发现

  • 但两者都是1。二,。真正产生同样的结果:他们发现谷歌是你想要验证的地方。

    我认为谷歌不支持返回自定义域
    声明的\u id
    ,因为他们没有存储,也没有传入。这意味着不支持真正的委托,但这仅限于(假设SO开始支持发现)通过自定义域名进行发现。主标识符将成为谷歌特定的id,这很可能会破坏海报的目标。是的。。。否则,您可以使用我的开源项目设置自己的IdP,如:-)谢谢!我的理解是,我需要使用HTTPS。我没问题。唯一的障碍是堆栈溢出是否以及何时支持OpenID连接发现。有人知道吗?最后,看起来我不需要迁移,因为相同的标识符(或者HTTPS版本)将继续工作。有什么评论吗?事实上,也许是@HansZ。就是说这行不通。换句话说,OpenIDConnect发现在OpenID2委托中并没有“声明的标识符”和“OP本地标识符”的类比。我可以宣称谷歌是该标识符的“发行人”,但由于谷歌不知道或不关心该标识符,它实际上不会有任何好处。是这样吗?事实上,后者是这样的:如果这样实现了发现,并且你在你的域上实现了发现(webfinger),那么你将能够使用你的URL登录,但仍然可以看到Google标识符;另一种选择是,只需点击大的“使用谷歌账户登录”按钮,就可以省去SO和您的麻烦……这可能值得提出自己的问题。我想象Robert设置委派的原因与我的大致相同:因为我希望能够交换身份验证提供程序,而不必访问所有使用自定义URI作为用户标识符的站点。Stack Overflow/Exchange是少数几个认为SO/SE用户可能有多个身份的站点之一,其他站点则没有。我不想建立新的东西,如果这一切只是把我和谷歌联系在一起。如果我切换身份验证提供者,我是否只是推迟了其他人放弃OpenID2.0时不可避免的事情?