-1

我一直在将此代码用于 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 }?>
4

1 回答 1

1

默认的 Facebook SDK使用php 的内置会话实现来存储它的数据。其中最后登录的用户 id

当您的用户单击注销链接时,facebook 会将她注销,并将她发送回您的站点,但是 facebook 无法删除您站点的$_SESSION. 添加一个next参数,以便 facebook 将用户发送回那里,您可以使用session_destroy$facebook->getLogoutUrl()清除整个会话(在所有用户注销之后)。

如果您不想只清除 facebook 特定值的整个会话,则在类上有一个名为destroySessionBaseFacebook的方法(由于某种原因未在官方 sdk 文档中列出)。

于 2012-08-03T06:16:31.340 回答