Всякий раз, когда я пытаюсь «отключить» пользователя от моего веб-сайта, который использует Facebook JavaScript SDK для проверки подлинности, он вместо этого полностью уничтожает сеанс Facebook пользователя (например, если они вошли в Facebook на отдельной вкладке, они будут попросил войти еще раз). У меня есть следующий код на стороне клиента:
$('#logout').bind('click', function(){
if(FB.getSession() !== undefined){
//FB.logout();
// instead of logging out of facebook, just disconnect them
FB.api({
method: 'Auth.revokeAuthorization'
}, function(response){
console.log('auth revoke', response);
});
}
});
window.fbAsyncInit = function() {
FB.init({
appId: MYAPPIDHERE
,status: true
,cookie: true
,xfbml: true
});
FB.Event.subscribe('auth.sessionChange', function(response){
console.log(response);
location = location.href;
});
};
(function() {
var e = document.createElement('script');
e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
Предположим, что jQuery находится на странице. Вызов FB.api успешен, но кажется «более мощным», чем должен быть. В основном это имеет тот же эффект, что и вызов FB.logout ().
Что я делаю не так, или я должен вместо этого сообщить об ошибке?
Спасибо!