我正在嘗試將我的網站與Facebook連接整合,以處理Facebook註冊和Facebook登錄。我使用codeigniter框架。但我現在得到這個問題:註銷Facebook連接會話
當前的Facebook登錄用戶是「test1」。我去我的網站註冊Facebook,一切正常,「test1」的信息存儲在我的數據庫中。然而,在我從facebook登錄test1後,在Facebook上登錄「test2」後,我回到我的網站並重新註冊facebook,它仍然保存着「test1」的信息。
我使用離子認證庫來處理用戶從我的網站註銷。但是,在我切換Facebook測試用戶帳戶並再次執行「使用Facebook登錄」後,它仍會獲得以前的Facebook用戶。
根據以上2種情況,似乎facebook會話沒有被清除?我很長時間在這個問題上苦苦掙扎,請幫忙!
我用這個來獲得用戶數據: $ fb_usr = $ this-> fb_connect-> user; (似乎不管怎麼facebook的用戶姓張,fb_connect總是返回相同的用戶)
和fb_connect是某事像這樣:
<?php
include(APPPATH.'libraries/facebook/facebook.php');
class Fb_connect extends Facebook{
//declare public variables
public $user = NULL;
public $user_id = FALSE;
public $fbLoginURL = "";
public $fbLogoutURL = "";
public $fb = FALSE;
public $fbSession = FALSE;
public $appkey = 0;
//constructor method.
public function __construct()
{
$CI = & get_instance();
$CI->config->load("facebook",TRUE);
$config = $CI->config->item('facebook');
parent::__construct($config);
$this->user_id = $this->getUser(); // New code
$me = null;
if ($this->user_id) {
try {
$me = $this->api('/me');
$this->user = $me;
} catch (FacebookApiException $e) {
error_log($e);
}
}
if ($me) {
$this->fbLogoutURL = $this->getLogoutUrl();
} else {
$this->fbLoginURL = $this->getLoginUrl();
}
} //end Fb_connect() function
}
另外,我想你還需要在你的控制器中調用$ facebook-> destroySession()。 (編輯原來的帖子,包括這個) – ametren
嗨@ametren,是的,的確,我發現我忘了撥打destroysession功能......謝謝! – Mario
我的環節永遠不會破壞 – nicky