Проблемы с входом в систему, если без сеанса в WordPress
-
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);
}