boussole-pluss/frontend/middleware/auth.global.ts

23 lines
550 B
TypeScript

import {useAuthStore} from "~/store/auth";
const publicUrl = [
"index",
"login",
"account-password-reset",
"account-password-confirm-reset",
"account-create",
"cgu"
]
export default defineNuxtRouteMiddleware((to) => {
const store = useAuthStore();
if (store.authenticated && to?.name === 'login') {
return navigateTo('/bundle');
}
// if token doesn't exist redirect to log in if not in public URL
if (!store.authenticated && !publicUrl.includes(to?.name)) {
abortNavigation();
return navigateTo('/login');
}
});