Я пытаюсь использовать постоянную аутентификацию Google с помощью Firebase. Я могу успешно войти в систему, но сеанс не сохраняется, если я перезагружу страницу.
Вот мой код:
firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
.then(function()
{
let provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithPopup(provider)
.then(function (result)
{
//Save auth data
});
})
.catch(function(error)
{
console.error(error);
});
Это в основном то, что написано в документах, и должно быть довольно просто. Я действительно не знаю, что мне не хватает.
Кроме того, я не знаю, что должно произойти, когда сеанс будет постоянным, будет ли он просто автоматически аутентифицироваться или он будет открывать всплывающее окно, аутентифицировать, а затем автоматически закрывать всплывающее окно?
Спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Состояние входа автоматически сохраняется в локальном хранилище в вашем браузере и восстанавливается при перезагрузке страницы/приложения. Чтобы обнаружить изменения в состоянии аутентификации, используйте прослушиватель onAuthStateChanged, как показано здесь:
firebase.auth().onAuthStateChanged(function(user) { if (user) { // User is signed in. } else { // No user is signed in. } });
Этот прослушиватель будет срабатывать, когда пользователь активно входит в систему (т. е. когда вызов signInWithPopup завершается), а также, когда состояние входа пользователя восстанавливается после перезагрузки приложения/страницы.