我面临一个非常奇怪的问题。差不多一年前,我开发了一个 Facebook iframe 应用程序。我正在使用 facebook-php-sdk 来登录用户会话和其他详细信息。我最近做了一些更改并使用了新的基于 facebook OAuth 的 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 一起使用。为什么会这样?任何想法?