Следующий код генерирует нулевой пользователь при обновлении веб-страницы сразу после входа в систему. Кроме того, страница автоматически выходит из системы, когда истекает токен доступа. Как исправить эту проблему?onAuthStateChanged не работает после обновления
function initApp() {
firebase.auth().onAuthStateChanged(function(user) {
console.log("user in onAuthStateChanged:");
console.log(user);
userGlobal = user;
if (user) {
$("#logindiv").hide();
$("#userWelcome").text("Welcome, " + user.email);
$("#logOut").click(function(){
firebase.auth().signOut().then(function() {
$("#logindiv").show();
$("#testdiv").hide();
}, function(error) {
alert(error);
})
});
$("#testdiv").show();
visiProgcontroller.init(function() {
visiProgcontroller.makeUIactions();
})
}
else {
$("#loginButton").click(toggleSignIn);
$("#logindiv").show();
$("#testdiv").hide();
}
})
}
window.onload = function() {
initApp();
};
EDIT: Вероятная причина обусловлена следующим кодом. Когда я прокомментирую это, onAuthStateChanged возвращает недействительный пользователь. Как только я верну его, пользователь будет пустым. Любое образованное предположение о том, почему это блокирует/делает пользователя нулевым?
visiProgcontroller.init(function() {
visiProgcontroller.makeUIactions();
});
РЕШЕНИЕ
НАЙДЕНО ошибку. Я делал localStorage.clear(), и я думаю, что firebase каким-то образом использует это локальное хранилище для проверки токена доступа.