将OpenID委托给Google(不是Google Apps)

Rio*_*Rio 85 openid delegation google-oauth

是否可以使用我的个人网站/博客登录使用openid的网站,并委托我的Google帐户?


好的,我在SO上搜索了这个问题,但没有好的答案.花了一些时间后,我想出了如何做到这一点.我将自己回答这个问题,作为分享它的一种方式.

Rio*_*Rio 98

现在可以将OpenID委托给您的Google帐户(而非Google Apps).

不,这不是 使用App Engine 的演示OpenID提供程序.这是您的真实Google帐户!

首先,您需要启用Google个人资料.尝试查看您的个人资料并进行编辑,应该有一个选项来设置您的个人资料网址.您有两种选择:使用您的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]" /> 
Run Code Online (Sandbox Code Playgroud)

它已经完成了.现在尝试使用您的自定义URL登录SO!

  • 目前使用G +,您需要输入:`<link rel ="openid2.provider"href ="https://www.google.com/accounts/o8/ud"/> <link rel ="openid2.local_id"href ="https://plus.google.com/GPLUSID"/>` (8认同)
  • 由于google现已全部加分,因此当您转到"我的个人资料"时,profiles.google.com网址不再是您所获得的,但是,如果您的个人资料为https://plus.google.com/107217643432815688625/posts,则https: //profiles.google.com/107217643432815688625似乎仍然可以作为您的openid2.local_id工作 (4认同)
  • @Sebi,我尝试了你的`link`元素,但它使用了我的Google身份作为我声称的身份,而不是我的委托URL*.此外,它问我当前两个登录帐户中我想使用哪个帐户,所以显然`plus.google.com`不是正确的主机名.我使用`profiles.google.com`代替我的gmail名称,它按预期工作.我还没有检查如何使用带有Plus标识的profiles.google.com.*SuperUser要求为`myname @ gmail.com`创建一个新帐户,而不是根据我提供的OpenID URL登录现有帐户. (2认同)

Law*_*Dol 8

尽管接受的答案说什么,你也不需要加入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">
Run Code Online (Sandbox Code Playgroud)

我刚刚这样做了,并且在没有加入Google+的情况下验证了它的效果.

  • 谢谢,确认这是有效的 (2认同)

kub*_*oon 5

适用于Google帐户的OpenID 2.0已经消失了 https://support.google.com/accounts/answer/6206245