Enrutador: verifique la autenticación antes de renderizar
router.beforeEach((to, from, next) => { const requireAuth = to.meta.auth if (requireAuth && store.getters['auth/isAuthenticated']) { next() } else if (requireAuth && !store.getters['auth/isAuthenticated']) { next({name: 'login'}) } else if (!requireAuth && store.getters['auth/isAuthenticated']) { next({name: 'admin'}) } else { next() } })Vuex:
state() { return { isAuth: false, user: null, emailFormFactor: '' } }, getters: { isAuthenticated(state) { return state.isAuth }, getEmailFormFactor(state) { return state.emailFormFactor }, getUser(state) { return state.user } }aplicación
onBeforeMount( () => { if (localStorage.getItem('auth-token')) { store.dispatch('auth/checkAuth') } } )Antes tengo que comprobar la validez del token y después si hay cambio de estado. ¿Es necesario rastrearlo en el enrutador? Gracias