2012-12-10 57 views
1

我試圖簡單地登錄一個用戶出來的FB之前繼續登出他們的系統。註銷和access_token

這裏就是我想:

require_once '/src/facebook.php'; 

    $facebook = new Facebook(array('appId' => 'MY_APP_ID', 'secret' => 'MY_SECRET')); 
    $fb_userID = null; 
    $fb_userID = $facebook->getUser(); 
    $access_token = $facebook->getAccessToken(); 

    if($fb_userID){ 

    $logoutUrl = $facebook->getLogoutUrl(array ('next' => 'http://myurl.com/pages/userlogin.html?logoff=true')); 

    } 

echo "<a href="$logoutUrl">Log-out</a>"; 

當我做到這一點,它不僅沒有工作,但URL的末尾顯示access_token=0

如果我嘗試,而不是下面我得到的訪問令牌,但它仍然不起作用

$logoutUrl = "https://www.facebook.com/logout.php?next=http://myurl.com/pages/userlogin.html?logoff=true&access_token=$access_token"; 

有沒有更好的方式做到這一點?

+0

不知道有一個變化最近。直到今天,我的註銷功能都正常工作。如果我有這個'\t \t $ params = array('next'=>「http://www.mywebsite.com/index.php/authentication_controller/signout」); \t \t重定向($ this-> facebook-> getLogoutUrl($ params));'它會重定向到Facebook中登錄的用戶Feed。如果我有這個'\t \t $ params = array('next'=>「http://www.mywebsite.com」); \t \t重定向($ this-> facebook-> getLogoutUrl($ params));'它工作正常。不知道改變了什麼。 – PhoenixDown

回答

0

要強制註銷時getLogoutUrl不起作用:

如果
$app_config = array(
    'appId' => '1234567', 
    'secret' => '7722b9foobar00foobar' 
); 
$facebook = new Facebook($app_config); 
$facebook->destroySession(); 
session_destroy(); 
+0

謝謝,但不起作用 –