Проблемы с входом в систему, если без сеанса в WordPress

StackOverflow https://stackoverflow.com/questions/7814987

  •  26-10-2019
  •  | 
  •  

Вопрос

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

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

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

Поэтому я заменяю код входа на это:

Верните Javascript: if (fb.getAccessToken ()) {fb.logout (function () {location.href = '". $ url."' '})} else {location.href =' ". $ url." '} ";

(Это делается в крючке WordPress, чтобы я мог иметь URL -адрес входа WordPress)

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

Небезопасная попытка получить доступ к камеру ...

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

Благодарю вас!

Это было полезно?

Решение

Вам нужно сначала получить статус входа из 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);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top