多年来我一直使用我自己的域名为我的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登录选项)?
一种在黑暗中拍摄,但会使用标识符选择URL在您的local_id工作?
<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)
我能够破解这一点,但我只是创建了&我删除了Google +的个人资料,所以我不确定几天后它是否会停止工作。
去http://profiles.google.com。它会将您重定向到一个个人资料页面,URL中列出了您的用户号码:
https://profiles.google.com/NNNNNNNNNNN/about
或者,它可能只是要求你注册Google Plus。如果有,你可以启用它,然后删除Google Plus配置文件。标识符应该持续存在,上面的技巧应该从现在开始起作用。遗憾的是,我不知道如何解决这个问题。
将数字 nnnnnnnnnnnn 从URL复制到下面的代码片段,它应该可以工作了:
代码片段如下:
<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测试,似乎openid2.local_id
可以采取几乎任何值。它只负责将您的Google标识符映射到您的域名。任何其他Google标识符将按原样使用,不需要映射。
:
如果您登录的Google账号为
local_id
,您将登录为http://yourdomain.com
如果您使用其他Google帐号登录,您将以
https://www.google.com/accounts/o8/id?...
登录。
如果local_id
有一个无效的值,即不匹配任何帐户标识符,所有用户将登录与他们的"长"谷歌id和片段将基本上是一个普通的重定向到谷歌登录。