From 311f14b0eb85b0cedf990c3e902b7ce9437ce18b Mon Sep 17 00:00:00 2001 From: Lak-G Date: Sun, 16 Aug 2026 14:19:43 -0700 Subject: [PATCH] =?UTF-8?q?Fix:=20desactivar=20security.checkOrigin=20(blo?= =?UTF-8?q?queaba=20POST=20detr=C3=A1s=20de=20Cloudflare=20Tunnel)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Astro por default rechaza POST con "Cross-site POST form submissions are forbidden" cuando el header Host y el Origin no matchean literalmente. Detrás de Cloudflare Tunnel esto pasa siempre porque Host llega como el hostname público pero Origin trae la URL edge. Los endpoints ya están protegidos por cookies HttpOnly + SameSite=Lax y OAuth PKCE, así que CSRF no aplica. Se desactiva checkOrigin. Co-Authored-By: Claude Opus 4.7 --- astro.config.mjs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/astro.config.mjs b/astro.config.mjs index 8e399fd..9e5eee5 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -14,6 +14,12 @@ export default defineConfig({ mode: 'standalone' }), + // El check por default compara Host vs Origin y falla detrás de + // Cloudflare Tunnel porque los headers no matchean literalmente. + // Nuestros endpoints ya usan cookies HttpOnly + SameSite=Lax y + // Supabase OAuth con PKCE, así que CSRF no aplica. + security: { checkOrigin: false }, + vite: { plugins: [tailwindcss()] }