将OpenID委托给Google(而不是Google应用程序)

85

我能否使用我的个人网站/博客登录使用OpenID的站点,并代表我的Google账户进行委派?


好的,我在SO上搜索了这个问题但没有得到好的答案。花了一些时间后,我找到了解决方法。我将自己的答案分享出来。


3
将自己的问题添加回答并标记为正确答案,这样每个人都可以更加持久地看到答案。 - Oskar Kjellin
谢谢Oskar的建议!不过我现在无法将答案标记为正确。它说我必须等到明天才能操作。 - Rio
我已经将答案从问题中移出并放入了你的回答中,希望你不介意,因为这是 SO 通常的用法。 - Tom Robinson
1
我希望问题没有被修改,因为现在我不理解答案。 - Eric Falsken
3个回答

98
现在可以将OpenID委托给您的Google帐户(而不是Google应用程序)。
不,这不是使用App Engine使用演示OpenID提供程序。 这是您真正的Google帐户!
首先,您需要启用Google个人资料。 尝试查看和编辑您的个人资料,应该有一个选项来设置您的个人资料URL。 您有两个选择:使用您的Gmail帐户名称(不包括@gmail.com部分)作为您的个人资料ID,或者分配给您的随机数字。 由您决定使用哪个。 无论哪种方式,该ID都是以下的个人资料ID。
现在将以下HTML代码添加到您的委派页面中:
<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud?source=profiles" /> 
<link rel="openid2.local_id" href="https://profiles.google.com/[YOUR PROFILE ID]" /> 

完成了。现在尝试使用您的自定义URL登录SO!


4
由于Google现在全面整合了Google+,当你点击“我的个人资料”时,链接不再是profiles.google.com。但是,如果你的个人资料链接是https://plus.google.com/107217643432815688625/posts,那么https://profiles.google.com/107217643432815688625仍然可以作为你的OpenID2的本地ID。 - Lawrence D'Anna
8
目前使用G+,您需要输入以下内容:<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud" /><link rel="openid2.local_id" href="https://plus.google.com/GPLUSID" /> - Sebi
1
@Ilari 是完全正确的;事实上,委托的声明目的就是为了隔离用户与底层提供者的更改,以使切换提供者对于认证您的站点来说完全透明。 - Lawrence Dol
1
我已经尝试了上述方法,在匿名浏览器中使用Stack Overflow进行测试;但是一旦我在Google上登录,我就会被重定向回SO,看到消息“确认您的新帐户...您即将使用来自Google(*****@gmail.com)的登录在Stack Overflow上创建一个新帐户。那不可能是正确的。 - J-P
2
@Sebi,我尝试了你的“link”元素,但它使用我的Google身份作为我的声明身份,而不是我的委托URL。此外,它要求我选择我当前已登录的两个帐户中要使用的帐户,因此显然plus.google.com不是要使用的正确主机名。我改用我的gmail名称的profiles.google.com,并且它按预期工作。我还没有检查如何使用profiles.google.com与Plus身份。*SuperUser要求为myname@gmail.com创建一个新帐户,而不是基于我提供的OpenID URL登录到我的现有帐户。 - clacke
显示剩余9条评论

8
尽管接受的答案说你需要加入Google+才能使用Google作为委派人,但实际上你不需要加入,因为你已经有一个本地ID,即在“@”之前的电子邮件部分。

假设你有一个现有的Google账户:some-name@gmail.com,你只需要在委派页面的head部分添加以下两个链接:

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

我刚刚这样做了,并验证了它的可行性,而不需要加入Google+。


5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接