2012-04-03 9 views
3

紛らわしいタイトルのために申し訳ありませんが、ここでの状況はだ...FacebookのPHP:ログインfacebookのうち、ユーザがログインした後、彼らはFacebookのと私のアプリの中に別のユーザー

  1. ユーザーがログインして私のアプリにログインすることはできません
  2. のFacebookをログアウト....他の誰かがコンピュータに付属しています...
  3. 2番目のユーザーが自分のアプリケーション(別のFacebookのアカウント、同じコンピュータ)にアクセスしようとする
  4. 彼らがすることはできません。..スクリプトは、前のユーザーのアクセストークンを取得します。

私はfacebook PHP SDKを使用しています。

初めてログインしようとすると次のようになります。しかし、何とか新しいFBのアカウントはまだ最後の一つとして認識されて

unset($_REQUEST); 
unset($_COOKIE); //don't know if both are necessary 
session_destroy(); 

(私は、そのユーザがログインしていないので、もうそれを使用しようとすると、私は以前のユーザーでログインしますが例外をスローしたアクセストークン) 。

ログアウト機能を使用する必要がありますか?私は、私がやりたがっていない、Facebookのユーザーをログアウトすると仮定し、ちょうど私のアプリで新しいユーザーと新鮮な開始します。

アイデア?私はすべてをクリアしているので、このデータがどこから持続しているのか本当に失われています。うまくいけば愚かな何か私は行方不明ですが、私は誰もが何かを知っていたら頼むと思った。

+0

2人目のユーザーがログインしようとするとどうなりますか?何かエラーがありますか? – Ronnie

+0

無効なユーザー認証トークンがあります –

答えて

0

サブリナ

有効なユーザーアクセストークンを使用してログアウトすると正常に動作するはずです。ここでは、「オフラインアクセスがパーマをかけている場合を除き、」私が使用するものです


$user = $facebook->getUser(); 
$access_token = $_SESSION['fb_135669679827333_access_token']; 
if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 
if ($user) { 
    $params = array (
    access_token => ''.$access_token.'' 
); 
    $logoutUrl = $facebook->getLogoutUrl($params); 
} else { 
$params = array(
    scope => 'read_stream,publish_stream,publish_actions,read_friendlists' 
    //redirect_uri => $url 
); 
    $loginUrl = $facebook->getLoginUrl($params); 
}; 
+0

ありがとうございますが、私は自分のアプリからFacebookのユーザーをログアウトさせたくありません。 –

1

これは終わりで動作するように見えたものです:

$fb_key = 'fbsr_'.$facebookConfig['app_id']; 
setcookie($fb_key, '', time()-3600); 
$facebook->destroySession(); 
+0

これは価値があったよりも多くの問題を引き起こした。最後に、私はjs認可を使用して切り替えて、すべての問題を解決しました。 –

0

おかげで、私はログインする必要はありません私のアプリからちょうど外のfacebookのユーザー。 - Sabrina Gelbart Apr 4 at 10:40

は、$ this-> facebook-> destroySession();を実行することで矛盾します。 はFacebookのユーザーではなくFacebookのユーザーをログアウトします。他のユーザーがこのコンピューターを使用したい場合は、Facebookアカウントからログアウトする必要があります。=新しいユーザーがあなたのWebサイトにログインできます。

あなたの右からログアウトしたときにfacebook.comからユーザーのFacebookがログアウトされたくないのですか?それは私のためにイライラするだろう

関連する問題