FacebookのサインアップとFacebookのログインを処理するために私のサイトとFacebookの接続を統合しようとしています。私はcodeigniterフレームワークを使用しています。しかし、私は今この問題を抱えています:ログアウトfacebook接続セッション
現在のFacebookのログインユーザーは "test1"です。私はFacebookにサインアップするために自分のサイトに行き、すべて正常に動作し、 "test1"の情報は私のデータベースに保存されています。しかし、私がfacebookからtest1をログアウトし、facebookに "test2"とログインした後、私は自分のサイトに戻ってfacebookで再度サインアップします。それでも "test1"の情報は保存されています。
私は自分のサイトからのユーザーログアウトを処理するためにion auth libraryを使用しています。しかし、私はfacebookテストのユーザーアカウントを切り替えて "facebookでログイン"をやり直すと、以前のfacebookユーザーを取得します。
上記の2つのケースに基づいて、フェイスブックセッションがクリアされていないようですか?私は長い間この問題に苦しんでいます、助けてください!
私はこれを利用してユーザーデータを取得します: $ fb_usr = $ this-> fb_connect-> user;
とfb_connectはこのようなSTHである(fb_connectが常に同じユーザーを返すか、FacebookのユーザーChangsの、どんなにているようです):
<?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