mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
33 lines
753 B
TypeScript
33 lines
753 B
TypeScript
// middleware.ts
|
|
import { verifyRequestOrigin } from "lucia";
|
|
import { NextResponse } from "next/server";
|
|
import type { NextRequest } from "next/server";
|
|
|
|
export async function middleware(request: NextRequest): Promise<NextResponse> {
|
|
if (request.method === "GET") {
|
|
return NextResponse.next();
|
|
}
|
|
const originHeader = request.headers.get("Origin");
|
|
const hostHeader = request.headers.get("Host");
|
|
|
|
if (
|
|
!originHeader ||
|
|
!hostHeader ||
|
|
!verifyRequestOrigin(originHeader, [hostHeader])
|
|
) {
|
|
return new NextResponse(null, {
|
|
status: 403,
|
|
});
|
|
}
|
|
return NextResponse.next();
|
|
}
|
|
|
|
export const config = {
|
|
matcher: [
|
|
// Don't handle HMR requests for the dev server we rewrite to
|
|
"/settings",
|
|
"/dashboard/(.*)",
|
|
"/invitation",
|
|
],
|
|
};
|