Facebook登录后$ _SESSION数据被破坏

时间:2012-04-03 12:06:58

标签: php facebook facebook-oauth

我已经为用户实施了一种将Facebook帐户添加到其网站帐户的方法。它工作正常,直到我从阶段域切换到我的生产域。 (它们托管在不同的服务器上)

我正在将用户重定向到登录网址,如下所示:

$params = array("redirect_uri" => SITE_URL . "settings/accounts");
$login_url = $facebook->getLoginUrl($params);

SITE_URL . "settings/accounts"中,我检查$ _GET [“state”],然后完成整合。生产服务器的问题是,$ _SESSION现在只持有一些胡言乱语(至少对我来说)Facebook对象。 $ _SESSION中的用户数据消失了,因此我无法将facebook_id绑定到他的userID。

我在这里错过了什么吗?

感谢。

2 个答案:

答案 0 :(得分:0)

Facebook将$ _SESSION / $ _GET变量作为已签名的块返回,您必须使用PHP SDK来提取它们。尝试这样的事情:

$facebook -> getSignedRequest();

答案 1 :(得分:0)

  

我在这里错过了什么吗?

很可能你错过了你的会话没有被销毁的事实,但是已经创建了一个 new ...请检查一下,如果是这样,请修复旧的第三方Cookie 问题。