2
我們有一個Facebook網站應用程序用作公共事件亭。許多人將通過我們的網站在同一臺設備上登錄Facebook(在一個展位設置,如iPad或類似設備)。Facebook Kiosk註銷
我們需要在完成後將人員從Facebook本身中註銷;不要簡單地銷燬我們網站的圖表API會話。
這裏的問題是:
- 用戶走向我們的iPad,其加載到我們的網站瀏覽器。他或她點擊「facbook登錄」,並重定向到Facebook登錄。
- 他們登錄,授予我們的應用程序許可,並將其重定向到我們的網站。
- 當他們使用我們的網站(發表評論,等等)後,他們會在我們的網站上點擊註銷。
- 下一位用戶坐下,點擊「Facebook登錄」,並重定向到Facebook。在到達facebook.com,瀏覽器仍然記錄在以前的用戶,授予該用戶到第一用戶的Facebook訪問(只是一個小問題=)
我希望我可以給用戶到Facebook,只有一個註銷按鈕的頁面,並有Facebook重定向瀏覽器回我的網站,爲下一個用戶做好準備。這就是登錄的工作方式,我需要一個相同的註銷。
編輯:
非常感謝您的回答。我們花了3天時間試圖弄清楚這一點;如果我們發佈任何人都可以插入的通用代碼,我希望您能原諒我們。將其放置在HTML頁面上,然後訪問該頁面,可將用戶從Facebook 和登錄到您的網站。
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'your APP ID', // App ID
channelUrl : '//WWW.YOURSITE.COM/channel.php or channel.html or whatever yours is', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
FB.logout();
alert('Thanks! You have been logged out of facebook.');
}
});
};
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
我有類似的問題,並做了類似的事情。但我只需要用戶登錄,接受應用程序權限對話框和發佈/共享應用程序圖像。但是有一個小缺陷 - 如果用戶登錄並拒絕應用程序權限對話框,則用戶已登錄,但未連接(應用程序),因此沒有訪問令牌,因此我們無法註銷用戶。 所以最好的方法可能是通過殺死會話通過PHP SDK來維護這個過程。 p.s.如果我是正確的,那麼在較早的日子裏可以強制註銷,但是現在(FB策略),如果你沒有被授權應用,它就不可能了。 – 2017-06-19 15:08:46