我一直在使用此代码进行facebook sdk注销,但它无效。但是我可以成功登录它。这是代码。
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
}
else {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'user_about_me, user_hometown')
);
}
?>
<?php if ($user){ ?>
<a href="<?php echo $logoutUrl; ?>">Logout Here</a>
<?php }else{ ?>
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
<?php }?>
答案 0 :(得分:1)
默认的Facebook SDK uses php的内置会话实现来存储它的数据。其中最后一次登录user id。
当您的用户点击退出链接时,Facebook会将她注销,并将她发回您的网站,但Facebook无法删除您网站$_SESSION
中的值。将next
参数添加到$facebook->getLogoutUrl()
,以便facebook将用户发送回那里,您可以使用session_destroy清除整个会话(在所有用户注销后)。
如果您不想仅清除整个会话的facebook特定值,那么BaseFacebook
类上有一个名为destroySession的方法(由于某些原因未在官方sdk文档中列出)