您好我正在使用最新的facebook php sdk为我的应用程序。 我在注销时遇到问题。 这是我的注销代码。
<?php
$logout = $facebook->getLogoutUrl(array(
'next' => 'https://www.thevoucherlink.com/logout.php'));
?>
这是我的logout.php:
<?php
session_start();
unset($_SESSION['fb_uid']);
session_destroy();
header('location:https://www.thevoucherlink.com/index.php?ref=logout');
?>
从Facebook注销用户注销后。但不是来自我的应用程序。
$user_id=$facebook->getUser();
此函数在注销后返回用户ID。
请帮我解决一下。 提前致谢。
答案 0 :(得分:1)
尝试删除FB cookie以及取消设置会话,例如:
session_start();
$fb_key = 'fbs_'."YOUR_FB_APP_ID";
setcookie($fb_key, '', time() - 3600, '', '/', '');
unset($_SESSION['fb_uid']);
session_destroy();
然后你可以试试try..catch block,比如:
$userId = $facebook->getUser();
try {
$myDetails = $facebook->api('/me');
//will return details if still loggedin
} catch (Exception $e) {
//user has already logged out
}
编辑:: 在你的logout.php中,尝试:
$facebook = new Facebook(array('appId' => 'your_id', 'secret' => 'your_secret'));
//destroy the session
$facebook->destroySession();
希望有所帮助
答案 1 :(得分:0)
从offline_access
- Facebook的登录网址参数中删除scope
。
答案 2 :(得分:0)
注销链接可能是从Facebook注销用户,而不是从您的应用程序注销。
您必须使用$this->Auth->logout();
从您的应用程序中注销用户。
OR
尝试使用PHP SDK与Javascript SDK的集成。