【问题标题】:facebook how to delete cookie on logoutfacebook如何在注销时删除cookie
【发布时间】:2013-10-26 11:14:25
【问题描述】:

我正在使用 JS 和 PHP SDK,我可以使用 facebook 成功登录用户。 但是注销似乎不起作用(我可以将用户从我的网站注销,但不能从 facebook 注销)。

这是我的注销代码:

require_once('../libs/facebook/src/facebook.php');
$facebook = new Facebook( array (
    'appId'  => 'xxxx',
    'secret' => 'xxxx',
    'cookie' => true
    )
    );

    $fb_key = 'fbsr_'.$facebookConfig['app_id'];

 // set_cookie($fb_key, '', '', '', '/', '');
  //$facebook->setSession(NULL);

$facebook->destroySession();
$facebook->getLogoutUrl();

$_SESSION = array();
session_unset();
session_destroy();
$files = array();
foreach ($_SESSION as $key => $value) {
    $files[] = $key;
    unset($_SESSION[$key]);

}

我尝试使用下面的方法来删除 cookie,但我收到一条错误消息,指出 setcookie 不是函数

$fb_key = 'fbsr_'.$facebookConfig['app_id'];
setcookie($fb_key, '', time()-3600);
$facebook->destroySession();

任何建议将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    由于某种原因,我无法对您的问题发表评论,所以这里是一个“答案”。

    你看过这个 SO 帖子吗?
    Delete Facebook Session After Login with PHP SDK

    据我所知,越来越多的人正在为此苦苦挣扎。而且似乎没有人知道 SDK 中是否有本机功能。因此,手动取消设置可能是您最好的选择。

    【讨论】:

    • 感谢您的建议,但我没有设法使用它注销。
    【解决方案2】:

    您需要将用户访问令牌附加到注销网址。

    我的应用中的示例。

     if($_GET['destroy']){
       $facebook->destroySession(); 
     }
    $params = array( 'next' => 'https://apps.facebook.com/anotherfeed/?ref=logout&destroy=true', 'access_token' => $access_token);
    $logout=$facebook->getLogoutUrl($params); // $params is optional.
    

    【讨论】:

      猜你喜欢
      • 2012-10-01
      • 2011-03-24
      • 2015-03-12
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 2016-01-11
      • 1970-01-01
      相关资源
      最近更新 更多