diff --git a/.env.example b/.env.example index 9cdc42b..6d29e22 100644 --- a/.env.example +++ b/.env.example @@ -25,6 +25,9 @@ JWT_SECRET=super_secret_jwt_key_123 # When TURNSTILE_SECRET is empty, backend CAPTCHA enforcement is disabled. TURNSTILE_SITE_KEY= TURNSTILE_SECRET= +# Backward-compatible aliases also accepted by the backend: +# VITE_TURNSTILE_SITE_KEY= +# TURNSTILE_SECRET_KEY= # --- Frontend Configuration (Optional) --- # If you need to override the API URL for the frontend diff --git a/README.md b/README.md index 443f05f..28c93a0 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,9 @@ TURNSTILE_SECRET `TURNSTILE_SITE_KEY` with Cloudflare's public site key so the login page can load the verification widget at runtime. +The backend also accepts `VITE_TURNSTILE_SITE_KEY` as a site-key alias and +`TURNSTILE_SECRET_KEY` as a secret alias for older deployments. + ## Validation ```bash diff --git a/backend/config.js b/backend/config.js index 7086dc1..02a7f25 100644 --- a/backend/config.js +++ b/backend/config.js @@ -1,5 +1,18 @@ require('dotenv').config(); +const TURNSTILE_SITE_KEY = + process.env.TURNSTILE_SITE_KEY || + process.env.TURNSTILE_SITEKEY || + process.env.VITE_TURNSTILE_SITE_KEY || + process.env.CLOUDFLARE_TURNSTILE_SITE_KEY || + ''; + +const TURNSTILE_SECRET = + process.env.TURNSTILE_SECRET || + process.env.TURNSTILE_SECRET_KEY || + process.env.CLOUDFLARE_TURNSTILE_SECRET || + ''; + module.exports = { PORT: process.env.PORT || 3004, API_KEY: process.env.API_KEY || 'nexstar_secret_key_123', @@ -8,6 +21,6 @@ module.exports = { JWT_SECRET: process.env.JWT_SECRET || 'super_secret_jwt_key_123', DATABASE_URL: process.env.DATABASE_URL || 'postgres://graphuser:graphpassword@localhost:5432/graphdb', N8N_WHATSAPP_TRIGGER_URL: process.env.N8N_WHATSAPP_TRIGGER_URL || 'http://localhost:5678/webhook/whatsapp', - TURNSTILE_SITE_KEY: process.env.TURNSTILE_SITE_KEY || process.env.VITE_TURNSTILE_SITE_KEY || '', - TURNSTILE_SECRET: process.env.TURNSTILE_SECRET || process.env.TURNSTILE_SECRET_KEY || '' + TURNSTILE_SITE_KEY, + TURNSTILE_SECRET }; diff --git a/docker-compose.yml b/docker-compose.yml index 297f917..3528490 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,8 +27,11 @@ services: - ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin123} - JWT_SECRET=${JWT_SECRET:-super_secret_jwt_key_123} - N8N_WHATSAPP_TRIGGER_URL=${N8N_WHATSAPP_TRIGGER_URL:-http://localhost:5678/webhook/whatsapp} - - TURNSTILE_SITE_KEY=${TURNSTILE_SITE_KEY:-${VITE_TURNSTILE_SITE_KEY:-}} - - TURNSTILE_SECRET=${TURNSTILE_SECRET:-${TURNSTILE_SECRET_KEY:-}} + - TURNSTILE_SITE_KEY=${TURNSTILE_SITE_KEY:-} + - TURNSTILE_SITEKEY=${TURNSTILE_SITEKEY:-} + - VITE_TURNSTILE_SITE_KEY=${VITE_TURNSTILE_SITE_KEY:-} + - TURNSTILE_SECRET=${TURNSTILE_SECRET:-} + - TURNSTILE_SECRET_KEY=${TURNSTILE_SECRET_KEY:-} depends_on: - db restart: unless-stopped