登錄我已經試過了PHP SDK(v.3.1.1),以及當前的Javascript SDK 如下建議:試着在現在https://developers.facebook.com/docs/guides/web/如何退出從Facebook應用程序的用戶,但保持從Facebook
註銷我曾經嘗試都FB.logout()(對於JS) 和$ facebook-> getLogoutUrl();
爲雙方明確規定的文件,這些方法 註銷用戶的應用程序,以及他們的Facebook會話。
但我只需要註銷用戶的Facebook應用程序(測試地點)的。
我試圖註銷用戶在我的測試網站,忽略了Facebook的 方面。但在這種情況下,當用戶再次點擊登錄按鈕, 的登錄流程(Facebook的身份驗證和重定向)不會發生。
我也試過:(由之前的懸而未決的問題的建議)
$facebook->destroySession();
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_code']);
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_access_token']);
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_user_id']);
然而,重定向到登錄頁面時,$ facebook->的getUser()仍然 檢索用戶。
注: 按文檔例子中,我使用PHP SDK用戶登錄到我的測試現場, 和JS SDK,渲染和推動Facebook的登錄按鈕。
補充:
我使用的認證基本上是什麼文檔建議:
<?php
define('YOUR_APP_ID', 'YOUR APP ID');
//uses the PHP SDK. Download from https://github.com/facebook/php-sdk
require 'facebook.php';
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => 'YOUR APP SECRET',
));
$userId = $facebook->getUser();
?>
<html>
<body>
<?php if ($userId) {
$userInfo = $facebook->api('/' + $userId); ?>
Welcome <?= $userInfo['name'] ?>
<?php } else { ?>
<div id="fb-root"></div>
<fb:login-button></fb:login-button>
<?php } ?>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '<?= YOUR_APP_ID ?>',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
</body>
</html>
如果用戶通過了應用程序的認證並且登錄到Facebook,getUser()將始終返回FBID。刪除cookie的作品,但sdk得到一個新的access_token wenn調用'getUser'問題是爲什麼你想這樣做?您(應用程序)和Facebook用戶都無法從中獲得任何收益。 – Rufinus 2012-03-20 08:59:50
如何簡單地刪除該用戶的會話cookie?如果你只刪除你的cookie,那麼用戶仍然會保持登錄到Facebook,而不是你的應用程序。下次用戶點擊登錄按鈕時,您爲他創建一個新的會話。 – 2012-03-20 09:09:17
@NitzanTomer我試圖刪除測試網站的會話,但正如我所說的,在這種情況下,js sdk的登錄按鈕不再按預期工作。 – Alias 2012-03-20 09:18:15