Files
schulos/middleware.ts
T
2026-08-03 11:15:16 +02:00

20 lines
822 B
TypeScript

import { NextResponse, type NextRequest } from 'next/server';
import { isCsrfProtectedRequest, isTrustedRequestOrigin } from '@/lib/csrf';
export function middleware(request: NextRequest) {
console.log('[middleware] path:', request.nextUrl.pathname, 'method:', request.method, 'origin:', request.headers.get('origin'));
const csrfProtected = isCsrfProtectedRequest(request);
const trusted = isTrustedRequestOrigin(request);
console.log('[middleware] csrfProtected:', csrfProtected, 'trusted:', trusted);
if (csrfProtected && !trusted) {
console.log('[middleware] BLOCKING request');
return NextResponse.json({ error: 'Invalid request origin' }, { status: 403 });
}
console.log('[middleware] ALLOWING request');
return NextResponse.next();
}
export const config = {
matcher: ['/api/:path*'],
};