3

多年来,我一直使用自己的域frightanic.com作为我的 OpenID。index.html但是,我的网站通过在HTML 头中使用以下内容委托给 Google 的 OpenID 提供程序:

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

Google 通过推出 Google+ 打破了这一局面。现在,每次登录尝试时,他们都会显示一个“切换到 Google+”页面,从中无法逃脱。

解决方法是什么(除了寻找新的 OpenID 提供商或单击 StackExchange 上的 Google 登录选项)?

4

2 回答 2

3

有点像在黑暗中拍摄,但会在您的 local_id 工作中使用标识符选择 URL?

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

(注意第二个 URL 是 /id 而不是 /ud)

于 2013-01-06T00:15:27.383 回答
3

我能够解决这个问题,但我刚刚创建并删除了一个 Google Plus 个人资料,所以我不确定它是否会在几天后停止工作。

转到http://profiles.google.com。它应该将您重定向到一个配置文件页面,其中您的用户编号列在 URL 中,如下所示:

https://profiles.google.com/NNNNNNNNNNN/about

或者,它可能只要求您注册 Google Plus。如果是,您可以启用它,然后删除 Google Plus 个人资料。标识符应该保持不变,并且上述技巧应该从现在开始起作用。可悲的是,我不知道解决这个问题的方法。

将该 URL 中的数字NNNNNNNNNNN复制到以下代码段,它应该可以工作:

该片段看起来像:

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

请注意,没有?source=profiles了。它以前对我有用,但现在结果为 500。

从我对OpenID-LDAP test 的尝试来看,它似乎openid2.local_id几乎可以取任何值。它只负责将您的 Google 标识符映射到您的域。任何其他 Google 标识符都将按原样使用,无需映射。

那是:

  1. 如果您使用列出的 Google 帐户local_id登录,您将登录为http://yourdomain.com

  2. 如果您使用任何其他 Google 帐户登录,您将以https://www.google.com/accounts/o8/id?....

如果local_id有一个无效值,即不匹配任何帐户标识符,所有用户都将使用他们的“长”Google id 登录,并且该片段基本上将是一个简单的重定向到 Google 登录。

于 2013-04-28T08:37:31.250 回答