CakePHP Facebook Plugin是否以其他用户身份登录?

时间:2011-05-06 10:33:55

标签: facebook cakephp

我正在经历一种非常奇怪的行为。我使用CakePHP构建了我的应用程序,并使用了Nick Baker的Facebook插件。

当我登录时,一切正常。当其他人登录时,一切正常。但如果有人在我登录的同时登录,则会在Auth中为该用户记住正确的用户ID,但Facebook数据来自我的帐户。

因此,如果我有用户ID 1并且John具有用户ID 2并且我们每个人同时登录应用程序,则正确的ID存储在Auth组件(1,分别为2)中。但如果我访问一个显示相应配置文件数据的页面,我会看到我的图片和我的Facebook数据,但John也会看到我的图片和我的数据,而不是他的。

为什么会这样?我真的需要帮助,因为它超出了我的理解。

非常感谢!

2 个答案:

答案 0 :(得分:0)

您是否启用了缓存? Web服务器可能会将该页面的缓存版本提供给其他用户。

答案 1 :(得分:0)

我遇到了类似的问题,我认为这是由于access_token被保存在用户会话中。由于Facebook和我的应用程序驻留在不同的域中,因此当用户从Facebook注销时,应用程序会话不会被销毁。我通过调用控制器的$this->Session->delete('FB');中的beforeFilter暂时解决了这个问题,如下所示:

public function beforeFilter() {
    parent::beforeFilter();
    $this->Session->delete('FB');
}

我认为这使得插件请求在每个请求上都是新的access_token,这不是最佳的但是有效。如果我错了,请纠正我。

相关问题