我的问题在这里
index.php文件代码:
<?php
require_once ('../src/facebook.php');
$facebook = new Facebook(array(
'appId' => 'xxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxx',
'cookie' => true,
));
$session = $facebook->getSession();
print_r($session);
?>
它工作得很好,我有所有的$session信息
但是一旦我调用index.php?参数=x,我不再有我的会话信息
如何来吗?
我看了里面的facebook.php,当你使用OAuth 2.0使用signed_request,它是第一个来源,它得到会话。
signed_request通过POST传递给canvas,如果它在高级设置中启用。
当您使用GET方法导航到其他页面时,如index.php?param=x,您丢失了signed_request。
我们以前遇到过这个问题,并选择在iframe中使用AJAX来保留index.php中的signed_request, AJAX加载的页面将生成基于cookie的会话,因为它们没有signed_request。
你也可以在高级设置中禁用OAuth 2.0