我正在尝试将我的网站与 facebook 连接集成以处理 facebook 注册和 facebook 登录。我正在使用 codeigniter 框架。但我现在遇到了这个问题:
当前的 facebook 登录用户是“test1”。我去我的网站注册 facebook,一切正常,“test1”的信息存储在我的数据库中。但是,在我从 facebook 注销 test1 并在 facebook 上登录“test2”后,我回到我的网站并再次使用 facebook 进行注册,它仍然存储了“test1”的信息。
我使用 ion auth 库来处理用户从我的站点注销。但是,在我切换 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
}