您无法直接访问此页面 - 混合身份验证社交登录

You cannot access this page directly - HybridAuth Social Login

本文关键字:混合 身份验证 登录 访问      更新时间:2023-09-26

我在我的网站上使用HybridAuth社交插件从Facebook和其他网站登录,

一切正常,但是当我在其他计算机上检查时,出现错误:

您无法直接访问此页面

我注意到当浏览器在地址栏中使用WWW时会出现错误,浏览器在同一台计算机上,例如:opera 不使用www因此这些浏览器上没有错误。

请帮助我如何修复此错误,以便可以从任何浏览器完成登录。

原因是Facebook在不同的php会话中回调,并且无法从调用者会话访问配置信息。查看端点.php如果 ( ! $storage->配置( "配置" ) ) ...rason是因为我在我的网站上使用了127.0.0.1,但由于Facebook的限制,return_uri使用localhost。在这种情况下,PHP 会构建不同的会话。

"www."添加到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顶部添加我们自己的自定义会话处理程序(与config.phplive.php位于同一目录)来解决此问题。这会强制混合身份验证使用自定义会话处理程序。