devspec
@devspec
Помогло? Отметь решением

Как поправить авторизацию во VueJS + Vuex + Router + Firebase?

Всем привет!

Начал изучение этого прекрасного фреймворка 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'а, хотя по логике должно быть наоборот.

Подскажите, куда копать?
  • Вопрос задан
  • 353 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы