对于令人困惑的标题感到抱歉,这是情况......
我正在使用facebook PHP SDK。
当用户第一次尝试登录时,我会执行以下操作;
unset($_REQUEST);
unset($_COOKIE); //don't know if both are necessary
session_destroy();
然而,新的fb帐户仍然被认为是最后一个(我得到以前登录的用户访问令牌,当我尝试使用它时会抛出异常,因为该用户不再登录)。
我是否需要使用注销功能?我假设将用户从Facebook中记录下来,这不是我想要的,只需在我的应用程序中使用新用户重新开始。
有什么想法吗?因为我正在清理所有内容,所以我真的对这些数据持续存在感到茫然。希望它有点愚蠢,我很想念,但我想我会问,万一有人知道什么。
答案 0 :(得分:1)
这似乎最终有效:
$fb_key = 'fbsr_'.$facebookConfig['app_id'];
setcookie($fb_key, '', time()-3600);
$facebook->destroySession();
答案 1 :(得分:0)
萨布丽娜
使用带有效用户访问令牌的注销应该可以正常工作。这是我使用“除非离线访问是永久性的”
$user = $facebook->getUser();
$access_token = $_SESSION['fb_135669679827333_access_token'];
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
if ($user) {
$params = array (
access_token => ''.$access_token.''
);
$logoutUrl = $facebook->getLogoutUrl($params);
} else {
$params = array(
scope => 'read_stream,publish_stream,publish_actions,read_friendlists'
//redirect_uri => $url
);
$loginUrl = $facebook->getLoginUrl($params);
};
答案 2 :(得分:0)
谢谢,但我不想让用户退出Facebook,只是出自我的应用。 - Sabrina Gelbart 4月4日10:40
与你的问题相矛盾,通过$ this-> facebook-> destroySession(); 将用户从facebook而不是facebook中记录下来,如果其他用户想要使用此计算机,他们应该从他们的Facebook帐户注销=新用户可以登录到您的网站。
你不希望用户的facebook从他们注销时从facebook.com注销吗?这对我来说很沮丧