0

我使用 janRain Php 库进行 OpenId 和 yadis 发现,无论我做什么,我都会在 user.openid.org 或我自己的提供商之类的东西中工作,但如果我尝试使用 google 端点,我无法获得任何发现信息。

即使我为 janrain 库运行发现示例,我也会得到下一个结果

Identifier  http://www.google.com/accounts/o8/id
No OpenID services discovered.

如果我在 url 之前添加 https:// 也会发生同样的情况。

我的问题可能不是如何让它工作,但如果它真的可能,我还有什么其他选择(在我的网站上运行,项目中不需要时髦的身份验证)。

为什么 openId 如此 #@!#@ 复杂且无证?(注意,我给了 zend_openid 几个小时以获得相同的结果)

4

4 回答 4

3

它在这里工作。一些提示:

  • 据我了解,它http(s)://www.google.com/accounts/o8/id不是 openid 端点,而是谷歌的发现端点。您必须为其提供一个有效的 (google) OpenID 标识符,例如example.blogspot.com,它会返回声明的标识符、服务器 URL、服务类型等。
  • 我只有在修复<?and <?=in (用anddiscover.php替换它们)后才得到发现示例。或者,您可以. 它在默认情况下处于关闭状态。<?php<?php echoini_set('short_open_tag', '1')php.ini-recommended
  • 你的 PHP 安装支持 SSL 吗?请参阅README,特别是这部分:
并非所有 PHP 安装都支持 SSL。你可以看看你的
通过阅读输出的“HTTP Fetching”部分来支持 SSL
“示例/检测.php。” 如果您的安装不支持 SSL,
那么 https:// 身份 URL 和服务器 URL 将不受支持
图书馆。尝试使用此类身份 URL 将是
相当于使用无效的 OpenID。要启用 SSL 支持,
使用 OpenSSL 支持重新编译 PHP 或安装适当的 OpenSSL
适合您平台的模块。如果您使用 CURL,CURL 将需要
内置 OpenSSL 支持。
于 2009-03-16T16:27:52.820 回答
1

这是正宗的牛肉。谷歌表示他们支持 OpenID,但他们的工作不像其他任何人。MyOpenID.com、blogspot、aol、yahoo、wordpress、myspace、livejournal 和许多其他都正确支持该标准,并且可以按预期工作。与您自己的 OpenID 提供程序一样,您可以使用 CommunityID 服务器项目进行构建。

/叹

于 2010-06-02T14:31:48.877 回答
0

您需要执行定向身份请求。通常这只涉及传递 URL,就好像用户输入了它一样……过去对我来说总是有效的(只要您使用的库支持 OpenID2.0)。

于 2009-03-16T19:10:38.653 回答
0

我建议你看看这个问题:Janrain's PHP-OpenID and Google/Yahoo

于 2010-03-12T16:37:38.950 回答