16 lines
351 B
TypeScript
16 lines
351 B
TypeScript
export default defineNuxtRouteMiddleware((to, from) => {
|
|
const token = useCookie('xflow_token')
|
|
if (!token.value) {
|
|
return navigateTo('/login')
|
|
}
|
|
|
|
try {
|
|
const payload = JSON.parse(atob(token.value.split('.')[1]))
|
|
if (payload.role !== 'admin') {
|
|
return navigateTo('/')
|
|
}
|
|
} catch {
|
|
return navigateTo('/login')
|
|
}
|
|
})
|