Facebook PHP sdk不使用iframe链接设置cookie
我正在为Facebook使用PHPSDKFacebook PHP sdk不使用iframe链接设置cookie,facebook,facebook-graph-api,facebook-apps,Facebook,Facebook Graph Api,Facebook Apps,我正在为Facebook使用PHPSDK require_once 'facebook-sdk/facebook.php'; session_start(); $facebook = new Facebook(array( 'appId' => 'app_id', 'secret' => 'app_secret', 'cookie' => true, )); $facebook->getUser(); if($user){ // do
require_once 'facebook-sdk/facebook.php';
session_start();
$facebook = new Facebook(array(
'appId' => 'app_id',
'secret' => 'app_secret',
'cookie' => true,
));
$facebook->getUser();
if($user){
// do stuff
}else{
//redirect to app login
}
在这段代码之后,我的页面上有一个链接,它用一个查询字符串指向同一页面
类似于
但当我点击这个链接时,$用户是“0”。这种情况只发生在Safari和IE上。当我检查应用程序设置的cookie时,这些浏览器中不存在
有什么想法吗?因为用户id不会改变,所以如果通过GET发送,会有问题吗
<a href="/index.php?step=2&id=<? echo $user ?>">Continue</a>
如果您真的需要保留cookies,您可以将其添加到脚本的顶部,它必须是第一行
header('P3P: CP="CAO COR CURa ADMa DEVa OUR IND ONL COM DEM PRE"');
另外,您可能需要检查这些问题
与标题解决方案相关。如何获取用户?你在FB iframe吗?如果是这样,safari将不会设置所需的cookie。看见对于ie,发送正确的P3P标题。这是facebook上的画布应用程序。是的,这是FB iframe。我很难理解为什么这会被否决。请解释为什么您的downvotemy解决方案如下。。不要轻信这个问题救世主。。facebook的新PHP sdk没有这一行。。它过去是在他们的旧结构中。。可怜的IE用户都没能使用我的新应用。
header('P3P: CP="CAO COR CURa ADMa DEVa OUR IND ONL COM DEM PRE"');