From f914e9cdf16912d9d7097eedbf596ca6d22edfb5 Mon Sep 17 00:00:00 2001 From: DanielS Date: Fri, 3 Jul 2026 10:57:22 +0200 Subject: [PATCH] fix(auth): restore middleware, fix setup redirect loop, and add next.config rewrites proxying Supabase requests --- shop/lib/supabase/proxy.ts | 1 + shop/{proxy.ts => middleware.ts} | 2 +- shop/next.config.ts | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) rename shop/{proxy.ts => middleware.ts} (90%) diff --git a/shop/lib/supabase/proxy.ts b/shop/lib/supabase/proxy.ts index 4117729..577e23a 100644 --- a/shop/lib/supabase/proxy.ts +++ b/shop/lib/supabase/proxy.ts @@ -55,6 +55,7 @@ export async function updateSession(request: NextRequest) { request.nextUrl.pathname !== "/" && request.nextUrl.pathname !== "/impressum" && request.nextUrl.pathname !== "/datenschutz" && + request.nextUrl.pathname !== "/setup" && !user && !request.nextUrl.pathname.startsWith("/login") && !request.nextUrl.pathname.startsWith("/auth") diff --git a/shop/proxy.ts b/shop/middleware.ts similarity index 90% rename from shop/proxy.ts rename to shop/middleware.ts index 503ab12..02a5150 100644 --- a/shop/proxy.ts +++ b/shop/middleware.ts @@ -1,7 +1,7 @@ import { updateSession } from "@/lib/supabase/proxy"; import { type NextRequest } from "next/server"; -export async function proxy(request: NextRequest) { +export async function middleware(request: NextRequest) { return await updateSession(request); } diff --git a/shop/next.config.ts b/shop/next.config.ts index 88d01a0..d00512b 100644 --- a/shop/next.config.ts +++ b/shop/next.config.ts @@ -25,6 +25,23 @@ const nextConfig: NextConfig = { }, ]; }, + async rewrites() { + const supabaseUrl = (process.env.SUPABASE_URL || "http://supabase-kong:8000").replace(/\/$/, ""); + return [ + { + source: '/auth/v1/:path*', + destination: `${supabaseUrl}/auth/v1/:path*`, + }, + { + source: '/rest/v1/:path*', + destination: `${supabaseUrl}/rest/v1/:path*`, + }, + { + source: '/storage/v1/:path*', + destination: `${supabaseUrl}/storage/v1/:path*`, + }, + ]; + }, }; export default nextConfig;