应用程序身份验证刷新
问题描述:
我一直在尝试新的身份验证,但有时会发生在第一次访问应用程序一次又一次刷新。 (我的意思是如果没有cookies是set..first有史以来时间或例如浏览器重新启动后)应用程序身份验证刷新
我有认证验证码:
require_once './facebook/facebook.php';
$facebook = new Facebook(array(
'appId' => $fbconfig['appid'],
'secret' => $fbconfig['secret'],
'fileUpload' => $fbconfig['fileUpload'],
'cookie' => true,
));
$uid = $facebook->getUser();
if($uid)
{
session_start();
if(!isset($_SESSION['me']))
{
try
{
$_SESSION['me'] = fql("select name, sex, pic_big, locale, email, birthday from user where uid=me()",$facebook);
$_SESSION['me'] = $_SESSION['me'][0];
}
catch(Exception $o)
{
print_r($o);
}
}
}
else
{
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => $fbconfig['perms'],
'redirect_uri' => $fbconfig['canvas'],
)
);
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
所以误差为$ facebook->的getUser();它是0.但是,当我停止刷新,并再次去那里..它正常工作。
答
尝试设置P3P标题。一些浏览器不会允许iframe中的页面设置cookie,除非它们被指定。
像这样的东西在PHP的第一行应该这样做。 ('P3P:CP =“IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'');在P3P
更多的信息在这里