'getLogoutUrl'不起作用

时间:2011-11-22 16:05:52

标签: facebook facebook-php-sdk facebook-login

点击我的退出按钮后,它会将我重定向到: https://www.facebook.com/home.php。为什么当我返回我的app域时,我仍然可以看到注销按钮......?

这是我的代码:

<?php
//User login/logout buttons
if($user) {
    echo '<a href="'.$facebook->getLogoutUrl(array('next' => 'myurl.com/facebook/')).'"><img src="src/logout-fb.png" alt="Facebook Logout Button" /></a>';
}else{
    $params = array(
        scope => 'user_photos, publish_stream',
        redirect_uri => 'http://myurl.com/facebook/'
    );
    $loginUrl = $facebook->getLoginUrl($params);
    echo '<a href="'.$loginUrl.'"><img src="src/login-fb.gif" alt="Facebook Logout Button" /></a>';
}
?>

提前致谢。

5 个答案:

答案 0 :(得分:4)

我遇到了同样的问题:

点击我的退出链接时,Facebook忽略了“下一个”参数,没有注销并重定向到 facebook.com/home.php

我在“下一个”网址中添加了最后一个斜杠,它解决了我的问题。

有我的代码:

$client = facebook_client();
if($client){
  session_destroy();
  $url = $client->getLogoutUrl(array('next' => $base_url.'/')); //added a slash
  ... //Redirect to $url
}

答案 1 :(得分:2)

有类似的问题。您重定向的URL也必须位于Developer App中定义的站点域内。我正在使用google.com进行测试,但它没有退出。

答案 2 :(得分:1)

因为我猜URL应该是绝对的,因为希望这可以解决你的问题...... ;-)

$logoutParams = array(
'next'  =>  'http://localhost/Facebook/test/test1/after_logout.php'
);

答案 3 :(得分:1)

我在其中一个Facebook App中遇到了同样的问题。我正确地放置重定向URL,一切似乎都很好。但后来我发现Facebook App设置中缺少我的域名。

对于你Facebook App设置你的域名e-g“example.com”

最后也很重要的是,Facebook注销网址中的重定向网址应位于您在Facebook应用设置中指定的域中。

答案 4 :(得分:0)

我刚刚在“next”参数中添加了我的应用程序的画布URL,它可以正常工作。