This commit is contained in:
14
frontend/app/middleware/admin-auth.ts
Normal file
14
frontend/app/middleware/admin-auth.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
// Protects /admin pages: requires a stored admin token.
|
||||
export default defineNuxtRouteMiddleware((to) => {
|
||||
const token = useCookie<string | null>('admin_token')
|
||||
|
||||
const isLoginPage = to.path.endsWith('/admin/login')
|
||||
|
||||
if (!token.value && !isLoginPage) {
|
||||
return navigateTo('/admin/login')
|
||||
}
|
||||
|
||||
if (token.value && isLoginPage) {
|
||||
return navigateTo('/admin')
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user