Dan*_* G. 10 php openid yahoo janrain
我正在使用Janrain的PHP-OpenID 2.1.3,并且我已经设法让它与我尝试过的所有提供商合作,除了Google和Yahoo.这里的主要区别似乎是谷歌和雅虎,与大多数其他供应商,不使用用户特定的URL,而是让用户发现框架都在他们的终端-它抛出的默认Janrain框架为一个循环,然后它尝试开始auth请求.
从我所看到的情况看起来可能是YADIS发现错误,因为发现是在谷歌或雅虎的结尾,所以应该可以绕过它,但我不确定.对我来说这对我来说都是非常非正式的学习经历,而且我没有找到可以帮助我解决这个问题的文档.任何提示将非常感谢.
编辑:我遇到的具体问题是,当为Google或Yahoo URL调用begin()函数时,我得到一个null返回.此功能可在Auth/OpenID/Consumer.php中找到,以供参考.
我在Windows XP上遇到了同样的问题.通过激活卷曲扩展来修复.要在php.ini中取消注释该行
extension=php_curl.dll
Run Code Online (Sandbox Code Playgroud)
通过删除; 在它面前,如果有的话.重启apache.
此外,在Windows上正常工作,您需要将Auth_OpenID_RAND_SOURCE定义为null,因为在Windows中您没有随机源.您可以通过添加行来完成此操作
define('Auth_OpenID_RAND_SOURCE', null);
Run Code Online (Sandbox Code Playgroud)
在第一个代码行之前的CryptUtil.php中
if(!defined('Auth_OpenID_RAND_SOURCE')){
Run Code Online (Sandbox Code Playgroud)
即使未启用curl,API也应该通过使用Auth_Yadis_PlainHTTPFetcher来通过HTTP进行通信.对于谷歌和雅虎,你需要https,所以它只有在启用open_ssl时才有效(Auth_Yadis_PlainHTTPFetcher :: supportsSSL必须返回true).
| 归档时间: |
|
| 查看次数: |
8578 次 |
| 最近记录: |