Fix: desactivar security.checkOrigin (bloqueaba POST detrás de Cloudflare Tunnel)

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 <noreply@anthropic.com>
This commit is contained in:
2026-08-16 14:19:43 -07:00
parent d670358dcf
commit 311f14b0eb
+6
View File
@@ -14,6 +14,12 @@ export default defineConfig({
mode: 'standalone' 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: { vite: {
plugins: [tailwindcss()] plugins: [tailwindcss()]
} }