2011-08-02 35 views
0

cakephpサイトにfacebookを統合しました。アクセストークンを生成するために作成されたfacebook-code私の問題は、ログアウトしても$ this-> connect-> user( 'id')でfacebook idを取得できた、つまりセッションが存在することです。だからfacebookのログインページに行きます。facebookのセッションが存在するなら、facebook-codeを取得するようにリクエストしています。 $ this-> Session-> delete( 'FB')を使ってセッションをクリアしようとしました。そして、の$ this - >セッション - >(「FB.Me」)を削除します。しかし、何のuse..plsは自分のサイトからログアウトしたときに、自分のサイトでFacebookのセッションを手動でクリアするにはどうすればいいですか?

+0

詳細情報が必要です。 '$ this-> Session-> delete();'は他のものにも使えますか? 'debug($ this-> Session-> read());'出力は何ですか?また、 '$ this-> connect-> user()'のコードは公開されていますか? *セッションデータを保持する必要がない場合は、 '$ this-> Session-> destroy()'を使うこともできます。 – deizel

+0

$ this-> Session-> delete();他のcakephpセッションでも動作します。$ this-> Session-> destroy();使用しない – Mark

答えて

0

マーク助けなかっ:

問題は、あなたのログアウトボタンは、ユーザーがログインしたときに異なることが必要ですフェイスブック。以下は、WebtechnickのFacebookプラグインを使用しているWebアプリケーションの例です(この例は正しく動作しています)。

    $logoutLink = ''; 
        if (empty($facebookUser)) { 
          $logoutLink = $this->Html->link(
            $this->Html->tag('span', __('Logout', true)), 
            array('controller' => 'users', 'action' => 'logout'), 
            array('escape' => false) 
          ); 
        } else { 
          $logoutLink = $this->Facebook->logout(array(
           'redirect' => array('controller' => 'users', 'action' => 'logout'), 
           'label' => __('Logout', true)) 
          ); 
        } 
        echo $logoutLink; 
関連する問題