elearning/frontend_management/middleware/auth.ts

23 lines
493 B
TypeScript
Raw Permalink Normal View History

2026-01-12 16:49:58 +07:00
export default defineNuxtRouteMiddleware((to, from) => {
// Skip on server side - let client handle auth
if (process.server) {
return;
}
// Skip middleware on login page
if (to.path === '/login') {
return;
}
2026-01-12 16:49:58 +07:00
const authStore = useAuthStore();
// Restore session if not authenticated
if (!authStore.isAuthenticated) {
authStore.checkAuth();
}
// Check authentication after restore
2026-01-12 16:49:58 +07:00
if (!authStore.isAuthenticated) {
return navigateTo('/login');
}
});