2

Cake php を Facebook PHP SDK に接続しようとしています

App_Controller で beforeFilter 関数

$facebook = new Facebook(array(
      'appId'  => Configure::read("FB_APP_ID"),
      'secret' => Configure::read("FB_APP_SECRET"),
    ));

    // Get User ID
    $user = $facebook->getUser();
pr($user);
$logoutUrl = $facebook->getLogoutUrl();
$loginUrl = $facebook->getLoginUrl();

$this->set(compact('logoutUrl'));

view.ctpで

<a href="<?php echo $logoutUrl; ?>">Logout</a>

ここでは、すでに Facebook でアプリケーションにサインインしていますが、 logoutUrl を使用してログアウトしようとすると、 logout をクリックする前にログインしていたユーザーのユーザー ID が常に取得されます。

$user = $facebook->getUser();
// always get the user id.
pr($user);

ログアウトURLが機能していないかどうかにかかわらず、なぜこれが起こるのですか?

4

2 に答える 2

2

ログアウト ボタンが、アプリケーションからではなく、Facebook からユーザーをログアウトしている可能性があります。

$this->Auth->logout();アプリケーションからユーザーをログアウトするには、を使用する必要があります。

于 2012-07-02T15:27:24.357 に答える
0

Kachar は、アプリケーションではなく Facebook からログアウトを実行する getLogoutUrl() について正しいです。$this->Auth->logout();ただし、コマンドへの参照は見つかりませんでした。アプリからログアウトするには、セッション データの設定を解除する必要があることがわかりました。

session_start();
session_unset(); // The important line, must be called after session_start()
session_destroy();
于 2013-02-23T14:13:14.107 に答える