[英]How to make user signed out from facebook when he logs out of facebook application on a php website
[英]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";
}
我認為這可能會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.