Конфигурация Firebase не работает в VueJs - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь использовать FireBase в приложении. Тем не менее, я пытаюсь отобразить маршруты на основе статуса аутентификации пользователя, но по какой-то причине firebase сообщает мне, что пользователь вошел в систему, а пользователь - нет. Вот мой магазин / index. js файл. Я использую vuex.

getRoutes (state) {
  let mRoutes = []
  firebase.auth().onAuthStateChanged(function (User) {
    if (User) {
      console.log('Not loggedin')
      mRoutes = state.authenticatedUserRoutes
    } else {
      console.log('Loggedin' + mRoutes)
      mRoutes = state.unAuthenticatedUserRoutes
    }
  })
  return mRoutes
}

Я уже запустил firebase в главном файле. js, как показано ниже

import * as firebase from 'firebase'
import Vue from 'vue'
import App from './App.vue'
import './registerServiceWorker'
import router from './router'
import store from './store'
import vuetify from './plugins/vuetify'

Vue.config.productionTip = false

new Vue({
  router,
  store,
  vuetify,
  created () {
    firebase.initializeApp({
    apiKey: '#################',
    authDomain: '######################',
    databaseURL: '######################',
    projectId: '######################',
    storageBucket: '######################',
    messagingSenderId: '######################',
    appId: '######################',
    measurementId: 'G-SEPRYKF81S'
  })
},
render: h => h(App)
}).$mount('#app')

1 Ответ

0 голосов
/ 18 марта 2020

Похоже, это может быть потому, что вы используете onAuthStateChanged, который является наблюдателем, который срабатывает при изменении состояния авторизации.

https://firebase.google.com/docs/reference/js/firebase.auth.Auth#on -auth-state-change

Добавляет наблюдателя для изменения состояния входа пользователя.

До 4.0.0 это вызывало наблюдателя, когда пользователи входили, выходили из системы или когда токен ID пользователя менялся в ситуациях, таких как истечение токена или смена пароля. После 4.0.0 наблюдатель срабатывает только при входе или выходе из системы.

вам, вероятно, следует сначала проверить состояние вручную.

...