我在我的网站中使用HybridAuth社交插件从 facebook 和其他网站登录,
一切正常,但是当我在其他计算机上检查时,出现错误:
您无法直接访问此页面
我注意到当浏览器WWW
在地址栏中使用时出现错误,同一台计算机上的浏览器例如:opera not using thewww
所以这些浏览器没有错误。
请帮助我如何解决此错误,以便可以从任何浏览器进行登录。
我在我的网站中使用HybridAuth社交插件从 facebook 和其他网站登录,
一切正常,但是当我在其他计算机上检查时,出现错误:
您无法直接访问此页面
我注意到当浏览器WWW
在地址栏中使用时出现错误,同一台计算机上的浏览器例如:opera not using thewww
所以这些浏览器没有错误。
请帮助我如何解决此错误,以便可以从任何浏览器进行登录。
原因是因为 Facebook 在不同的 php-session 中回调并且无法从调用者会话中访问配置信息。查看 Endpoint.php if ( ! $storage->config( "CONFIG" ) ) ... 原因是因为我在我的站点中使用 127.0.0.1 但 return_uri 由于 Facebook 限制而使用 localhost。在这种情况下,PHP 会构建不同的会话。
添加“万维网” 到 URL 可以解决问题。
在我的控制器上添加它后,它开始工作
if (session_status() == PHP_SESSION_NONE) {
@session_id($_COOKIE['CAKEPHP']);
@session_start();
@session_name('CAKEPHP');
}
在这里阅读 https://github.com/hybridauth/CakePHP-HybridAuth/pull/1
那些面临错误消息“您无法直接访问此页面”的人。
@session_start();
在文件顶部添加语句后尝试。
这可以通过使用由 设置的自定义会话处理程序来关联session_set_save_handler()
。我通过在顶部添加我们自己的自定义会话处理程序解决了这个问题(与和hybridauth/index.php
位于相同的目录中)。这会强制 Hybrid Auth 使用您的自定义会话处理程序。config.php
live.php