发送的Facebook SDK PHP会话与收到的会话不匹配

时间:2015-08-02 22:17:32

标签: php facebook session facebook-php-sdk

我基本上复制了Facebook API建议的代码,但在登录时,它会返回以下错误:

  

Facebook SDK返回错误:跨站点请求伪造验证   失败。来自URL和会话的“状态”参数不匹配。

login.php(相关部分)

session_start();
require_once __DIR__ . '/facebook/autoload.php';
$fb = new Facebook\Facebook([
    'app_id' => '***',
    'app_secret' => '***',
      'default_graph_version' => 'v2.2',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email', 'user_likes']; // Optional permissions
var_dump($_SESSION, TRUE);
$loginUrl = $helper->getLoginUrl('http://'.$_SERVER['HTTP_HOST'].'/callback.php', $permissions);

我发现当我var_dump($_SESSION)(或print_r)时,登录成功,因为会发送正确的会话状态。

我不知道为什么var_dump解决了这个问题。我该如何解决?感谢。

1 个答案:

答案 0 :(得分:1)

这真的很奇怪,但事实证明这是一个webkit错误,并且通过向网站添加favicon,它可以正常工作。 -.-“