Добрый день,
Создал WEB приложение в FACEBOOK API. Сделал его общедоступным.
Подключил API:
window.onload = function(){
window.fbAsyncInit = function() {
FB.init({
appId : '*****',
xfbml : true,
version : 'v2.7'
});
};
}
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/ru_RU/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
На сайте есть 2 кнопки.
<button id="log_in_fb">Auth FB</button>
<button id="log_out_fb">Log out FB</button>
Jquery код:
$('#log_in_fb').click(function(){
FB.getLoginStatus(function(response) {
if(response.status === 'connected') {
console.log('Logged In');
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
}
else{
FB.login(function (response){
if(response.status === 'connected') {
console.log('Авторизован везде');
}
else if (response.status === 'not_authorized') {
console.log('Пользователь авторизован в Facebook, но не авторизован в приложениии')
} else {
console.log('Пользователь не авторизован в Facebook.')
}
}, { scope : 'public_profile, email, user_friends' });
}
});
});
$('#log_out_fb').click(function(){
FB.getLoginStatus(function(response) {
console.log(response.status);
if (response && response.status === 'connected') {
FB.logout(function(response) {
console.log('logout');
});
}
});
});
Схема такая.
Если я выйхожу из своего аккаунта Facebook, то при нажатии на кнопку авторизации на сайте появляетсяя окошко с формой ввода логина и пароля. Авторизируюсь, соглашаюсь, окошко исчезает.
Если я жму выход, то при первом нажатии
response.status выдает
connected, при повторном
unknown. Т.е. вроде бы
logout происходит. Но вновь нажав на кнопку входа - окошко всплывает и резко исчезает ( мой косяк?! ) . Проверяю на сайте FACEBOOK. Сессия пользователя жива,
logout не произошел(
Если я вновь выхожу на сайте, цикл повторяется. Подскажите, как сделать полноценный
logout?
К грусти - куки из браузера удалить нельзя яваскриптом(
На крайняк - может
php такое умеет?