Как я могу закрыть свою сессию в Facebook, если я аутентифицируюсь с помощью Laravel?

У меня есть приложение с php laravel, где оно используется для аутентификации Socialite / Facebook, и мне бы хотелось, чтобы при закрытии сессии оно закрывалось как для моего приложения, так и для Facebook.

Мы уже пытаемся перенаправить на

https://www.facebook.com/logout.php?next=urlapp/&access_token=tokenauth

и это не работает.

Как я могу закрыть сеанс Facebook?

1 ответ

Я решил это с добавлением JavaScript SDK Facebook:

(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 = "https://connect.facebook.net/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

window.fbAsyncInit = function () {
        FB.init({
            appId: 'myAppID',
            status: true,
            cookie: true,
            oauth: true,
            xfbml: true,
            version: 'v2.7'
        });
    }

Затем в действии моей кнопки выхода из системы:

FB.getLoginStatus(function(response) {
            if ((response.status)&&(response.status=='connected')) {
                FB.logout(function(response) {
                    //manage: user is logout
                    console.log(response);
                });
            } else {
               //manage: user is not connected.
            }
        });

3 сценария отключения, упомянутые в документации, важны: https://developers.facebook.com/docs/reference/javascript/FB.logout/

Другие вопросы по тегам