Всем привет!
Начал изучение этого прекрасного фреймворка VueJS и уже столкнулся с одной неразрешимой задачкой. Может, кто из опытных натолкнет на мысль.
Сделал проектик с авторизацией и БД на firebase.
В main.js делаю
fb.auth().onAuthStateChanged(function (user) {
if (user) {
p.$store.dispatch('autoLoginUser', user)
}
})
Соответственно, в autoLoginUser присваиваю глобальной переменной store.user значение авторизованного юзера из firebase.
В каждом необходимом роуте проверяю:
if (store.getters.user) {
next()
} else {
next('/login?loginError=true')
}
Каждый соответствующий роут, конечно, защищен при помощи
beforeEnter: AuthGuard
В целом работает нормально до момента, когда юзер нажмет F5, находясь на защищенном роуте (например, на
localhost:8080/orders)
В этот момент перекидывает на страницу авторизации.
Такое впечатление, что сначала срабатывают проверка beforeEnter, а затем уже onAuthStateChanged firebase'а, хотя по логике должно быть наоборот.
Подскажите, куда копать?