Facebook PHP SDK中的注销网址无法正常工作

时间:2012-04-18 11:03:55

标签: facebook cakephp cakephp-1.3 facebook-php-sdk

我正在尝试将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注销时, 在点击注销之前,我总是获得登录用户的用户ID。

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

为什么会发生这种情况,退出网址是否无效?

2 个答案:

答案 0 :(得分:2)

可能是注销按钮是从Facebook注销用户,而不是从您的应用程序注销。

您必须使用$this->Auth->logout();从您的应用程序中注销用户。

答案 1 :(得分:0)

Kachar对于getLogoutUrl()从Facebook执行注销而不是您的应用程序是正确的。我找不到$this->Auth->logout();命令的任何引用。我发现我需要取消设置会话数据才能从我的应用程序注销。

session_start();
session_unset(); // The important line, must be called after session_start()
session_destroy();