【发布时间】:2011-09-05 05:02:53
【问题描述】:
在我开始实施 Facebook 身份验证之前,我的注销控制器如下所示:
# Kill the session
$this->session->sess_destroy();
# Redirect back to main page.
redirect('', 'location');
我尝试修改它以使用户也退出 Facebook,但没有成功。
# Kill the session
$this->session->sess_destroy();
require 'application/sdk/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => '625256',
'secret' => '25256256',
'cookie' => true,
));
$session = $facebook->getSession();
if ($session) {
$location = (string) html_entity_decode($facebook->getLogoutUrl(array('next' => 'http://localhost:8888/taketocollege/')));
header("Location: $location");
exit();
}
# Redirect back to main page.
redirect('', 'location');
我做错了什么?我不打算为此使用 Javascript SDK,因为我希望这一切都在控制器中完成。
谢谢!!
编辑:更清楚一点,问题是会话没有被破坏。我的注销控制器将用户发送到主页,但主页通过会话将 Facebook 用户重定向到登录页面。所以 Facebook 用户最终会出现在登录页面上。通常登录页面会自动让他们登录,但到那时,他们的会话就被破坏了。
【问题讨论】:
-
你对“秘密”这个词的定义很奇怪。你能描述什么不起作用吗?
-
你使用的是什么版本的 facebook php sdk?
-
我以前见过那个,但它并没有真正帮助。我使用的是 2.2 版。我在问题中添加了更多信息。
标签: php facebook codeigniter sdk logout