Я использую проверку подлинности Firebase в своем приложении Nuxt, но не могу найти хороший способ сохранить состояние входа пользователя в мой Магазин.
Я регистрирую пользователей, отправляя асинхронное действие в моем магазине.когда пользователь обновляет браузер (перезагружает его), пользователь выходит из моего приложения, но остается в Firebase (так как он не вышел).Это проблема, потому что пользователю придется снова войти в мое приложение, чтобы просмотреть ограниченные страницы и выполнить определенные действия.
Я пытался получить пользователя в NuxtServerInit (из магазина index.js, поскольку я использую режим модулей) из:
firebase.auth().currentUser
Но он возвращает ноль, и я также пыталсяпрослушать:
firebase.auth().onAuthStateChanged((user)
Но он также возвращает ноль
Я также пытался создать промежуточное программное обеспечение, чтобы проверить, вошел ли пользователь в систему в данный момент, но оно также возвращает ноль.
В предыдущем проекте Vue я мог сделать это в файле созданного хука в файле main.js следующим образом:
new Vue({
router,
store,
render: h => h(App),
created () {
firebase.auth().onAuthStateChanged((user) => {
if (user) {
store.dispatch('autoSignIn', user)
}
})
}
}).$mount('#app')
Но я не могу понять, каксделайте то же самое в моем приложении Nuxt.
Я ценю любые идеи о том, как решить эту проблему, чтобы мои пользователи оставались в системе.