我正在使用cakephp 2.1并使用Facebook插件 https://github.com/webtechnick/CakePHP-Facebook-Plugin
我正在使用脸书登录助手,如下所示
$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());
但是,当新用户来登录时,它会显示旧的登录用户数据。所以请帮我弄清楚。
下面更改:
$this->身份验证->logout();$this->redirect(Controller::referer());
自
$this->redirect($this->Auth->logout()):
要删除 cookie,您需要设置完全相同的 cookie(域、路径、名称),但过期时间已过 - 当客户端读取时,这将导致 cookie 不会与下一个请求一起发送。
检查此网址 https://github.com/facebook/facebook-php-sdk/blob/master/src/base_facebook.php#L132
我已经在我的应用程序中多次使用Webtechnick facebook插件,登录和注销从未按照我想要的方式工作。所以现在我正在开发自己的插件,它使用服务器端连接,可以被视为 CakePHP 中的身份验证对象。
就像$this->Auth->login()
一样简单,$this->Auth->logout()
你可以在这里查看: http://marianofino.github.com/Facebook-Plugin-for-CakePHP/