不带Google的Google OpenID委托提供程序+

不带Google的Google OpenID委托提供程序+,openid,google-plus,openid-provider,stackexchange,Openid,Google Plus,Openid Provider,Stackexchange,多年来,我一直使用我自己的域作为我的OpenID。但是,我的网站通过在index.html的html头中使用以下内容委托给谷歌的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/marcelst

多年来,我一直使用我自己的域作为我的OpenID。但是,我的网站通过在index.html的html头中使用以下内容委托给谷歌的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+页面的开关,无法从中逃脱


除了寻找新的OpenID提供商或单击StackExchange上的Google登录选项外,还有什么其他解决方法?

有点像是瞎猜,但在本地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

我可以稍微修改一下,但我刚刚创建并删除了一个Google Plus配置文件,所以我不确定它是否会在几天后停止工作

去。它应该将您重定向到一个配置文件页面,URL中列出了您的用户号:

https://profiles.google.com/NNNNNNNNNNN/about
或者,它可能会要求你注册谷歌+。如果有,您可以启用它,然后删除Google Plus配置文件。标识符应该保持不变,从现在起,上面的技巧应该起作用。可悲的是,我不知道如何解决这个问题

将编号nnnnnnn从该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=配置文件。以前它对我有用,但现在结果是500

从我的尝试来看,openid2.local\u id几乎可以接受任何值。它只负责将您的Google标识符映射到您的域。任何其他Google标识符将按原样使用,无需映射

即:

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

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


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

与此同时,我放弃了Google,并使用Google成为了我自己的OpenID提供商。工作很有魅力,渴望了解长期的经验是什么。我很惊讶它确实有效,没想到根据我看过的文档。因为我对依赖谷歌的OpenID感到有点恶心,所以我可能会坚持使用SimpleID。这是我唯一看到正确记录的地方。这让我可以从我的普通谷歌帐户切换到我的谷歌应用程序OpenID帐户。谢谢它可以工作,但这不允许任何人从您的页面登录,因为它没有与用户的特定链接?@lapo:No。local_id字段提供从提供者标识符到域的映射。在这种形式中,它意味着具有提供者标识符的用户https://www.google.com/accounts/o8/id 拥有域,由于没有用户具有此id,因此没有人拥有域。你可以说,这个代码段基本上是一个指向谷歌登录的简单重定向。对于那些使用从自定义URI到谷歌的授权进行身份验证的人来说,如果他们想知道这是否能绕过谷歌对OpenID2.0的反对,那么它就不会了。当您登录时,它允许您通过Google的身份验证过程并授权SE,但当您实际登录SE时,它将被视为一个新登录,即您使用您的Google ID登录,而不是您在第一步提供的自定义OpenID URI。