我知道有很多关于这个问题的话题,相信我,我都经历过了。我不能让这个工作。
我想要的是一个全局注销方法,它杀死我自己的网站会话和facebook的(如果有的话)。
在这里:
public function logout() {
$logoutFB = false;
$logoutURL = "";
$this->load->library("facebook", $this->params['facebook'] );
$fbuser = $this->facebook->getUser();
if( $fbuser ) {
$logoutFB = true;
try {
$fbuser = $this->facebook->api('/me');
$logoutURL = $this->facebook->getLogoutUrl( array('next'=>base_url()) );
} catch (FacebookApiException $e) {
error_log($e);
$fbuser = null;
}
}
$this->session->sess_destroy();
delete_cookie('DoacoesUserCookie'); //TODO colocar como param
if( $logoutFB ) {
redirect( $logoutURL );
}
}
但是我不能让logoutURL
工作。我尝试了许多不同的方法。呼叫session_destroy()
和facebook->destroySession()
。似乎什么都不管用。当我调用URL时,它只打开facebook,我无法退出facebook,除非我去那里删除我的应用。
提示吗?
您可以尝试在unset($_SESSION)
的帮助下取消会话,然后销毁会话session_destroy();
或在访问令牌. $this->facebook->setAccessToken('');
中传递null