继承我的问题。
index.php文件 代码:
<?php
require_once ('../src/facebook.php');
$facebook = new Facebook(array(
'appId' => 'xxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxx',
'cookie' => true,
));
$session = $facebook->getSession();
print_r($session);
?>
它工作正常,我确实拥有所有$会话信息。
但是只要我调用index.php?param = x,我就不再拥有会话信息了。
怎么回事?
答案 0 :(得分:1)
我查看了facebook.php,当你使用 OAuth 2.0 使用 signed_request 时,它是获得会话的第一个来源。
如果在高级设置中启用了 POST for canvas ,signed_request将传递给您。
使用GET方法(如 index.php?param = x )导航到其他页面时,会丢失signed_request。
我们之前遇到过这个问题,并选择在iframe中使用AJAX来保留index.php中的signed_request,并且加载ajax的页面会生成基于cookie的会话,因为它们没有signed_request。
如果需要,您还可以在高级设置中停用 OAuth 2.0 。