Я использую Nuxt (vue) в качестве внешнего интерфейса, а Firestore и Authentication как Backend.Я установил, что проверка подлинности работает до определенного уровня, но моя проблема заключается в обновлении браузера, который сбрасывает состояние, поэтому мое Middleware возвращает ложный результат.
Вот некоторые фрагменты кода:
Middleware:
export default function ({store, redirect, route}) {
const userIsLoggedIn = !!store.state.currentUser;
if(!userIsLoggedIn) {
return redirect ('/')
}
}
Плагин:
import { auth } from '@/services/firebaseInit.js'
export default (context) => {
const { store } = context
return new Promise((resolve, reject) => {
auth.onAuthStateChanged(user => {
store.commit('setCurrentUser', user)
resolve()
})
})
}
Теперь это работает при запуске приложения, но когда кто-то обновляет страницу, где вам нужно авторизацию, она не работает и перенаправляет в /, теперь я не знаю, как решить эту проблему, был бы признателен за помощь, и если вам нужно больше кода, то я предоставляю его.
РЕДАКТИРОВАТЬ 1:
async nuxtServerInit ({ commit }, { req }) {
let user = await firebase.auth().currentUser
commit('setCurrentUser', user)
}