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

35 lines
1020 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 {authenticated} = storeToRefs(useAuthStore()); // make authenticated state reactive
// const token = useCookie('token'); // get token from cookies
const store = useAuthStore();
// if (token.value) {
// // check if value exists
// authenticated.value = true; // update the state to authenticated
// }
// if token exists and url is /login redirect to homepage
if (store.isLoggedIn && !store.isSessionExpired && to?.name === 'login') {
return navigateTo('/bundle');
}
console.info(`${store.isLoggedIn}, ${store.isSessionExpired}`)
// if token doesn't exist redirect to log in if not in public URL
if ((!store.isLoggedIn || store.isSessionExpired) && !publicUrl.includes(to?.name)) {
abortNavigation();
return navigateTo('/login');
}
});