0

このような問題に関する投稿が非常に多いことは知っていますが、自分で解決策を見つけることができません。

SimpleMachines フォーラム (SMF) で Facebook 経由のログインを統合しましたが、問題なく動作します。

反対に、SMF ログアウト アクションと一緒に Facebook から強制的にログアウトすることはできません。

私がしようとしました:

  1. $facebook->destroySession();
  2. エンドユーザーをhttps://www.facebook.com/logout.phpにリダイレクトします?... 適切なパラメーターを使用して
  3. setcookie('fbs_'.$facebook->getAppId(),

...など、それでもエンドユーザーは Facebook にログインしています。

それを行うためのアドバイスを教えてください。

更新: CBroe によって提案された変更後、私のコードは次のようになります。

    require_once("facebook.php");

    $config = array();
    $config['appId'] = '1XXXXXXXXXXXX50';
    $config['secret'] = '6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2';
    $config['fileUpload'] = false;
    $facebook = new Facebook($config);
    $user = $facebook->getUser();

    $logoutUrl = $facebook->getLogoutUrl();
    //session_destroy();
$facebook->destroySession();
    header('location:https://www.facebook.com/logout.php?access_token='.$config['appId'].'&confirm=1&next=www.mydomain.com');
4

1 に答える 1

0

私がしようとしました:

  1. $facebook->destroySession();

  2. https://www.facebook.com/logout.php?...適切なパラメーターを使用してエンド ユーザーをリダイレクトする

セッションを破棄すると、Facebook クラス インスタンスにアクティブなユーザー アクセス トークンが設定されなくなりますが、これは有効なログアウト URL を構築するために必要です。

したがって、これらの手順を逆にしてみてください。最初にログアウト URL を構築し、次にセッションを破棄してから、ログアウト URL にリダイレクトします。

于 2012-09-24T08:34:34.207 に答える