From 017739132675a8bedef7c5afba6d794da5d4951c Mon Sep 17 00:00:00 2001 From: Esdras Renan Date: Tue, 14 Oct 2025 10:34:26 -0300 Subject: [PATCH] =?UTF-8?q?middleware:=20aplicar=20em=20todas=20as=20p?= =?UTF-8?q?=C3=A1ginas=20(edge)\n\n-=20Remove=20runtime=20nodejs=20(middle?= =?UTF-8?q?ware=20roda=20em=20Edge=20por=20padr=C3=A3o)\n-=20Ajusta=20matc?= =?UTF-8?q?her=20para=20ignorar=20assets=20e=20imagens=20est=C3=A1ticas\n-?= =?UTF-8?q?=20Mant=C3=A9m=20/login=20como=20p=C3=BAblico=20e=20gateia=20o?= =?UTF-8?q?=20restante=20por=20sess=C3=A3o\n-=20Admin-only=20aplicado=20em?= =?UTF-8?q?=20produ=C3=A7=C3=A3o.\n\nEvita=20casos=20em=20que=20p=C3=A1gin?= =?UTF-8?q?as=20eram=20renderizadas=20sem=20dados=20em=20an=C3=B4nimo=20ao?= =?UTF-8?q?=20acessar=20rotas=20diretas.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- middleware.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/middleware.ts b/middleware.ts index c7f08d0..945d92e 100644 --- a/middleware.ts +++ b/middleware.ts @@ -1,16 +1,16 @@ import { NextRequest, NextResponse } from "next/server" import { getCookieCache } from "better-auth/cookies" -const PUBLIC_PATHS = [/^\/login$/, /^\/api\/auth/, /^\/_next\//, /^\/favicon/] +// Rotas públicas explícitas (não autenticadas) +const PUBLIC_PATHS = [/^\/login$/] +// Rotas somente admin const ADMIN_ONLY_PATHS = [/^\/admin(?:$|\/)/] const APP_HOME = "/dashboard" export async function middleware(request: NextRequest) { const { pathname, search } = request.nextUrl - if (PUBLIC_PATHS.some((pattern) => pattern.test(pathname))) { - return NextResponse.next() - } + if (PUBLIC_PATHS.some((pattern) => pattern.test(pathname))) return NextResponse.next() const session = await getCookieCache(request) @@ -37,6 +37,8 @@ export async function middleware(request: NextRequest) { } export const config = { - runtime: "nodejs", - matcher: ["/(.*)"], + // Evita executar para assets e imagens estáticas + matcher: [ + "/((?!api|_next/static|_next/image|favicon.ico|icon.png).*)", + ], }