php – 如何使用facebook SDK注销用户?

我正在使用facebook登录我的网站使用Facebook PHP sdk.

我注意到的是注销链接没有做任何事情.注销后,用户仍然可以浏览网站.这是我的代码在facebook.PHP

<?PHP
    require 'src/facebook.PHP';
    $facebook = new Facebook(array(
           'appId'  => '*************','secret' => '******************************',));
    $user = $facebook->getUser();
    $loginUrl = $facebook->getLoginUrl();
    echo "<a href='$loginUrl'>login</a>";

    $logoutUrl = $facebook->getlogoutUrl();
    echo $loginUrl; 
    if($user){
        session_start() ; 
        $_SESSION['user_info'] = $user; 
        $_SESSION['user_pro']= $facebook->api('/me');
        print_r($_SESSION);
    }
    else{
        echo 'not logged in '; 
    }

    echo "<a href='example.com/logout.PHP'>log out </a>"
?>

代码登录时工作正常.注销链接应该会破坏会话.这是页面标题

<?PHP 
    print_r($_SESSION) ; 
    header('example.com') ; 
?>

我的logout.PHP页面的问题是它根本没有检测到会话.我不知道这是一个Facebook的api问题还是我的PHP问题.

如何使用facebook SDK登录用户

您可以从您的网站和Facebook注销,如下,将您的网站网址提供给下一个参数并销毁会话
$token = $facebook->getAccesstoken();
$url = 'https://www.facebook.com/logout.PHP?next=' . YOUR_SITE_URL .
  '&access_token='.$token;
session_destroy();
header('Location: '.$url);

您还必须将其从您的网站登录,并且必须防止您的网站自动记住您的用户并立即重新登录.

禁用用户自动登录代码,并尝试重新注销.销毁会话不会阻止您的网站为记住的用户创建一个全新的有效会话.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...