0

Facebookアプリのポリシーに従って、Zendサイトのログアウトシステムを作り直して、ユーザーをFacebookからログアウトさせようとしていますが、うまくいきません。ユーザーがFacebookにログインしているかどうかを確認し、ログインしている場合はログアウトするためのログアウトアクションのコードを次に示します。

require_once(BASE_PATH . "/library/facebook-php/src/facebook.php");
    $facebook = new Facebook( array('appId'=>'app id', 
                        'secret'=>'secret') );
    $fbid = $facebook->getUser();
    if($fbid){
        $facebook->destroySession();
        $this->_redirect( $facebook->getLogoutUrl(array('next'=>'http://completeset.us/organizer/index') ) );
    }

そこにdestroySessionがあるので、私は自分のサイトからログアウトしていますが、何らかの理由でFacebookからはログアウトしていません。取り出すと両方のサイトからログアウトしますが、セッションがまだ残っているので、そのセッションを検出して自分のアカウントと照合できるため、すぐにサイトに再度ログインします。ユーザーをFacebookからログアウトし、セッションを破棄するにはどうすればよいですか?

4

1 に答える 1

1

Facebookはユーザーをログアウトさせるためにセッションが必要だったと思います。ログアウトアクションでログアウトURLにリダイレクトし、その後、最初にセッションを削除しようとするのではなく、コールバックURLでセッションを削除すると完全に機能しました。

于 2012-07-27T18:30:49.567 に答える