CakePHP facebook登出会话没有破坏

时间:2012-12-07 06:43:28

标签: php facebook session logout cakephp-2.1

我正在使用cakephp 2.1并使用来自的facebook插件             https://github.com/webtechnick/CakePHP-Facebook-Plugin

我正在使用facebook登录助手,如下所示

$this->facebook->login(array('redirect' => 'facebook_login', 'label' => 'sign in via facebook', 'id' => 'fb-login')).

和注销助手如下

$this->Facebook->logout(array('redirect' => array('controller' => 'users', 'action' => 'logout'), 'label' => 'Logout')).

在注销操作中,我编写了此代码。

$this->Auth->logout();
$this->redirect(Controller::referer());

但问题是当新用户登录并登录时,它显示旧的登录用户数据。所以请帮我弄清楚。

3 个答案:

答案 0 :(得分:2)

要删除cookie,您需要设置完全相同的cookie(域,路径,名称),但过期已过 - 当客户端读取时,这将导致cookie不会与下一个请求一起发送。

检查此网址https://github.com/facebook/facebook-php-sdk/blob/master/src/base_facebook.php#L132

答案 1 :(得分:2)

更改以下内容:

$这 - > Auth->注销(); $这 - >重定向(控制器::引荐());

 $this->redirect($this->Auth->logout()):

答案 2 :(得分:1)

我在我的应用程序中多次使用过webtechnick facebook插件,登录和退出从未像我想要的那样工作。所以现在我正在开发自己的插件,它使用服务器端连接,可以被视为CakePHP中的Auth对象..

就像$this->Auth->login()$this->Auth->logout()

一样简单

您可以在此处查看:http://marianofino.github.com/Facebook-Plugin-for-CakePHP/