Sink-UrlShortener/server/middleware/2.auth.ts
2024-05-25 08:09:30 +08:00

16 lines
458 B
TypeScript

export default eventHandler((event) => {
const token = getHeader(event, 'Authorization')?.replace('Bearer ', '')
if (event.path.startsWith('/api/') && !event.path.startsWith('/api/_') && token !== useRuntimeConfig(event).siteToken) {
throw createError({
status: 401,
statusText: 'Unauthorized',
})
}
if (token && token.length < 8) {
throw createError({
status: 401,
statusText: 'Token is too short',
})
}
})