From 91b0220e46f3d21b280ff33b8526ff870216d11f Mon Sep 17 00:00:00 2001 From: Nurfog Date: Wed, 9 Sep 2026 15:44:34 -0300 Subject: [PATCH] fix: it.sam/ exige sesion antes del rewrite --- src/middleware.ts | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/middleware.ts b/src/middleware.ts index 4ba9be3..3ea66d8 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -14,23 +14,28 @@ function isProtected(path: string): boolean { export async function middleware(req: NextRequest) { const host = (req.headers.get("host") || "").toLowerCase(); - if (host.startsWith("it.sam.") && req.nextUrl.pathname === "/") { - const url = req.nextUrl.clone(); - url.pathname = "/tablero"; - return NextResponse.rewrite(url); - } if (req.nextUrl.pathname === "/m/portal" || req.nextUrl.pathname.startsWith("/m/portal/")) { return NextResponse.redirect(IT_BOARD); } - if (isProtected(req.nextUrl.pathname)) { + // it.sam/ equivale a /tablero (protegido): se evalĂșa con ese path + const effective = + host.startsWith("it.sam.") && req.nextUrl.pathname === "/" + ? "/tablero" + : req.nextUrl.pathname; + if (isProtected(effective)) { const sess = await readSession(req.cookies.get(COOKIE)?.value); if (!sess) { const url = req.nextUrl.clone(); url.pathname = "/login"; - url.searchParams.set("next", req.nextUrl.pathname); + url.searchParams.set("next", effective); return NextResponse.redirect(url); } } + if (effective !== req.nextUrl.pathname) { + const url = req.nextUrl.clone(); + url.pathname = effective; + return NextResponse.rewrite(url); + } return NextResponse.next(); }