Php 会话不会在旧的facebook iframe应用程序中失效

Php 会话不会在旧的facebook iframe应用程序中失效,php,facebook,codeigniter,facebook-graph-api,facebook-iframe,Php,Facebook,Codeigniter,Facebook Graph Api,Facebook Iframe,我面临一个非常奇怪的问题。差不多一年前,我开发了一个Facebook iframe应用程序。我正在使用facebook php sdk登录用户会话和其他详细信息。我最近做了一些更改,并使用了新的基于FacebookOAuth的API。但我现在面临一个问题,当用户从Facebook注销时,我的iframe应用程序仍然能够访问其Facebook会话。这个问题只能在IE中重现 我正在使用CodeIgniter框架,并参考了本文。以下是代码片段: $this->facebook = new Fac

我面临一个非常奇怪的问题。差不多一年前,我开发了一个Facebook iframe应用程序。我正在使用facebook php sdk登录用户会话和其他详细信息。我最近做了一些更改,并使用了新的基于FacebookOAuth的API。但我现在面临一个问题,当用户从Facebook注销时,我的iframe应用程序仍然能够访问其Facebook会话。这个问题只能在IE中重现

我正在使用CodeIgniter框架,并参考了本文。以下是代码片段:

$this->facebook = new Facebook(array( 'appId' => $this->appId, 'secret' => $this->secretKey, 'cookie' => true, ));
$this->session = $this->facebook->getSession();
var_dump($this->session);
在输出中,即使在用户注销之后,我也会获得所有有效的会话值。在尝试了很多东西之后,我创建了一个新的facebook应用程序,并将URL指向我的相同代码。 我修改了代码并使用了这个新facebook应用程序提供的AppId、Appkey和AppSecret。现在一切都好了


两个facebook应用程序中的设置完全相同。唯一的更改是appURL和键。这是一种奇怪的行为,对我来说不是一个可接受的解决方案。我希望我的旧facebook应用程序与新的facebook API配合使用。为什么会这样?有什么想法吗?

我也遇到了同样的问题,要解决这个问题,我必须手动销毁facebook cookie(其中包含访问令牌)

因此:

添加:
$\u COOKIE[“fbs”..$this->appId]=null
之前:
$this->facebook=新的facebook(


因此,每次它创建一个新的facebook类时,它都会首先销毁旧会话中的cookie。

现在,我突然在新的facebook应用程序中也开始面临同样的IE问题。是否可能在safari浏览器中,因为safari无法将cookie存储在iframe选项卡中……或者我错了?