您无法直接访问此页面 - 混合身份验证社交登录
You cannot access this page directly - HybridAuth Social Login
我在我的网站上使用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.php
和live.php
位于同一目录)来解决此问题。这会强制混合身份验证使用自定义会话处理程序。
相关文章:
- Sencha Touch和远程服务器上的身份验证
- Javascript清除缓存以清除基本身份验证凭据
- REST的面向公众的身份验证机制
- 当需要身份验证时,ui路由器不会重定向
- 使用Facebook登录,但仍然可以获得:“;此标识池不支持未经身份验证的访问“;
- AJAX HTTP基本身份验证解决方案
- 身份验证后获取Facebook图片
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- Twitter应用程序专用身份验证
- Passport.js成功的身份验证根本没有调用
- 通过JavaScript访问需要身份验证的页面
- UIWebview赢得't通过基本身份验证加载动态加载的资源(通过jQuery mobile)
- 使用JavaScript捕获基本身份验证凭据
- javascript中的Spotify身份验证
- ServiceStack JavaScript服务器事件客户端的身份验证
- Twitter API 1.1无法对您2进行身份验证
- javascript api,用于在第三方域上存储身份验证令牌
- 实施Facebook's无用户身份验证的Graph API
- 如何将 JWT 身份验证与 ACL 混合使用
- 您无法直接访问此页面 - 混合身份验证社交登录