我正在尝试将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);
为什么会发生这种情况,退出网址是否无效?
答案 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();