На моем многостраничном HTML-сайте (размещенном на Firebase) у меня есть кнопка входа / выхода.Всякий раз, когда я нажимаю кнопку выхода, кнопка выхода становится кнопкой входа, благодаря моему CSS, и консоль сообщает «пользователь не вошел в систему».
Однако, когда я перезагружаю страницу или перехожу на другую страницуодин (Ctrl + R и Ctrl + Shift + R не имеют значения), кнопка выхода появляется снова, и консоль сообщает «пользователь вошел в систему», как если бы сервер не помнил, что пользователь должен выйти из системы, а не автоматическивход после перезагрузки страницы.
Вот что я использую для входа. Обратите внимание, что setButtons()
- это мой код для изменения CSS, чтобы показать, какая кнопка мне нужна.gLogin()
вызывается при нажатии кнопки «Вход», а gLogout
вызывается при нажатии кнопки «Выход».
var signedIn;
var curUser = null;
function updateUser(user)
{
if (user) {
curUser = user;
signedIn = true;
console.log("User is logged in");
// User is signed in.
} else {
curUser = null;
signedIn = false;
console.log("User is not logged in");
// No user is signed in.
}
setButtons(signedIn);
}
firebase.auth().onAuthStateChanged(updateUser);
function gLogin() {
firebase.auth().signInWithPopup(gProvider).then(function (result) {
var token = result.credential.accessToken;
var user = result.user;
signedIn = true;
location.reload(true);
}).catch(function (error) {
console.log(error);
});
}
function gLogout() {
firebase.auth().signOut().then(function () {
signedIn = false;
updateUser(null);
}).catch(function (error) {
console.log(error);
});
}