簡體   English   中英

用戶注銷Facebook時注銷網站

[英]Log Out of Website when User Logs Out of Facebook

我正在使用Facebook Connect PHP SDK允許用戶登錄我的網站:

try {
    $facebook = new Facebook(array(
      'appId'  => $fbconfig['appid'],
      'secret' => $fbconfig['secret'],
      'cookie' => true,
    ));
} catch(Exception $o) {
    print_r($o);    
}

// Facebook Authentication part
$user       = $facebook->getUser();    
$loginUrl   = $facebook->getLoginUrl(
                array(
                    'scope'         => 'email,user_likes,publish_actions,read_stream,friends_likes,user_checkins,user_location,friends_checkins,user_status',
                    'redirect_uri'  => $fbconfig['baseurl'].'load-data.php',
                    'cancel_url'    => $fbconfig['baseurl'].'/index.php'
                )
            );

創建登錄URL,並且用戶成功登錄到站點。 問題是,當用戶在另一個選項卡中注銷Facebook時,我想獲得此狀態並使用Facebook SDK從程序中注銷用戶。

用戶注銷Facebook時如何注銷?

感謝您閱讀我的問題。

我認為您無法找到用戶何時從Facebook注銷而不直接弄亂FB Session,因為這與您的應用Session不同。 而且我認為這不是一個好主意。

一種不同的方法是從您的應用程序注銷用戶,但我不知道這是否可以解決您的問題。

        <script type="text/javascript">

        var int=self.setInterval(function(){checkSession()},1000);

        function checkSession() {
             var request = false;
                if(window.XMLHttpRequest) { // Mozilla/Safari
                    request = new XMLHttpRequest();
                } else if(window.ActiveXObject) { // IE
                        request = new ActiveXObject("Microsoft.XMLHTTP");
                }

                request.open('get', 'checksession.php', true);
                request.send();
                request.onreadystatechange = function() {

                    if(request.readyState == 4) 
                    {
                        var session = request.responseText;
                         if(session=="false")  {
                            alert("Your Session has expired");
                            window.location = "login.php";
                         }
                    }
                }
                request.send(null);
            }

            </script>

PHP腳本

    $user = $facebook->getUser();

    if ($user) {
      echo "false";
    } else {
      echo "true";
    }

無法使用Facebook API注銷

我認為這可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM