Проблемы с выходом из системы, если без сессии в WordPress - PullRequest
3 голосов
/ 19 октября 2011

Я использую Facebook на своем веб-сайте WordPress, и все работает нормально, за исключением одной ситуации.

Если я выхожу из Facebook и нажимаю кнопку «Выйти» на веб-сайте, я получаю сообщение об ошибке:

FB.logout () вызывается без токена доступа.

Поэтому я заменяю код выхода следующим:

return javascript: if (FB.getAccessToken()) {FB.logout (function () {location.href = '". $ Url."'})} Else {location.href = '". $ Url."'} ";

(Это делается с помощью WordPress, чтобы я мог получить URL выхода из WordPress)

Но теперь, когда я нажимаю на кнопку выхода из системы в этой ситуации, я получаю сообщение об ошибке js:

Небезопасная попытка JavaScript для доступа к фрейму ...

Как я могу безопасно выйти из Facebook и WordPress. FB.Logout не имеет обратного вызова и не выдает никакихjs ошибка, поэтому трудно проверить эту ситуацию.

Спасибо!

1 Ответ

0 голосов
/ 29 ноября 2012

Сначала необходимо получить статус входа в Facebook, и только после входа в систему вы можете позвонить в FB.logout.Попробуйте следующий код.

FB.getLoginStatus(handleSessionResponse);

function handleSessionResponse(response) {

    //if we dont have a session (which means the user has been logged out, redirect the user)
    if (!response.authResponse) {
        return;
    }

    //if we do have a non-null response.session, call FB.logout(),
    //the JS method will log the user out of Facebook and remove any authorization cookies
    FB.logout(response.authResponse);
}
...