21 lines
567 B
TypeScript
21 lines
567 B
TypeScript
export default defineEventHandler((event) => {
|
|
const config = useRuntimeConfig()
|
|
|
|
if (!config.adminSecret) {
|
|
throw createError({ statusCode: 503, statusMessage: 'Admin not configured' })
|
|
}
|
|
|
|
const token = getAdminToken(event)
|
|
if (!token) {
|
|
throw createError({ statusCode: 401, statusMessage: 'Not authenticated' })
|
|
}
|
|
|
|
const payload = verifyToken(token, config.adminSecret)
|
|
if (!payload) {
|
|
clearAdminCookie(event)
|
|
throw createError({ statusCode: 401, statusMessage: 'Invalid or expired token' })
|
|
}
|
|
|
|
return { authenticated: true }
|
|
})
|