У меня есть маршруты /home
и /profile
/profile
Маршрут должен быть закрытым, к нему могут обращаться только аутентифицированные пользователи
Я использую firebase/auth
и защита маршрута для достижения этого
это код маршрутизатора
const router = new Router({
path: '/',
name: 'home',
component: Home
},
{
path: '/profile',
name: 'profileSettings',
component: ProfileSettings,
beforeEnter: authGuard
},
{
path: '/auth',
name: 'auth',
component: Auth
})
function authGuard(from, to, next) {
firebase.auth().onAuthStateChanged(user => {
if (user) {
next()
} else {
next('/auth')
}
})
}
код выхода из системы
logout() {
firebase.auth().signOut().catch(error => {
console.error(error)
})
}
код шаблона для вызова функции выхода из системы
<a href='#" @click.prevent="logout">Logout</a>
После того как я перехожу на /profile
, затем возвращаюсь к /home
и перенаправление на выход происходит с auth
page