Facebook SDK PHP 发送的会话与接收的会话不匹配
Facebook SDK PHP session sent does not match with the one received
我基本上复制了 Facebook API 建议的代码,但是在登录时,returns 出现以下错误:
Facebook SDK returned an error: Cross-site request forgery validation
failed. The "state" param from the URL and session do not match.
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
解决了这个问题。我该如何解决?谢谢。
这真的很奇怪,但事实证明这是一个 webkit 错误,通过将 favicon
添加到站点,它起作用了。 -.-
我基本上复制了 Facebook API 建议的代码,但是在登录时,returns 出现以下错误:
Facebook SDK returned an error: Cross-site request forgery validation failed. The "state" param from the URL and session do not match.
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
解决了这个问题。我该如何解决?谢谢。
这真的很奇怪,但事实证明这是一个 webkit 错误,通过将 favicon
添加到站点,它起作用了。 -.-