Janrain php库和OpenId的google端点

时间:2009-03-14 19:41:50

标签: php zend-framework openid janrain

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

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

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

如果我在网址之前添加https://,则会发生相同的情况。

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

为什么openId如此#@!#复杂而无记录?(注意,我给了zend_openid几个小时才能得到相同的结果)

4 个答案:

答案 0 :(得分:3)

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

  • 据我了解,http(s)://www.google.com/accounts/o8/id不是openid端点,而是google discovery 端点。你必须提供一个有效的(谷歌)OpenID标识符,如example.blogspot.com,它会返回声明的标识符,服务器URL,服务类型等。
  • 我得到的发现示例仅在修复<?中的<?=discover.php之后才开始工作(将其替换为<?php<?php echo)。或者,你可以ini_set('short_open_tag', '1')。默认情况下,它在php.ini-recommended
  • 中关闭
  • 您的PHP安装是否支持SSL?见README,特别是这部分:
Not all PHP installations support SSL.  You can find out if yours
supports SSL by reading the "HTTP Fetching" section of the output of
"examples/detect.php."  If your installation does not support SSL,
then https:// identity URLs and server URLs will not be supported by
the library.  An attempt to use such an identity URL will be
equivalent to using an invalid OpenID.  To enable SSL support,
recompile PHP with OpenSSL support or install the appropriate OpenSSL
module for your platform.  If you are using CURL, CURL will need to be
built with OpenSSL support.

答案 1 :(得分:1)

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

/叹息

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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