Cambios finales

This commit is contained in:
Mireya Cueto Garrido
2026-05-13 10:19:44 +02:00
parent c0de6083a4
commit 3573bec572
4 changed files with 23 additions and 125 deletions
+15 -70
View File
@@ -1,81 +1,26 @@
# ============================================================
# ENVIRONMENT
# ============================================================
ENVIRONMENT=development
ENVIRONMENT=production
DEBUG=false
# ============================================================
# DATABASE / CACHE
# ============================================================
DATABASE_URL=postgresql://postgres:postgres@db:5432/orcid_db
ORCID_CLIENT_ID=APP-XXXX
ORCID_CLIENT_SECRET=<secreto-fuerte>
ORCID_REDIRECT_URI=https://app.tudominio.com/callback
ORCID_OAUTH_STATE_ENABLED=true
API_KEY_NAME=X-API-Key
API_KEY_VALUE=<random-largo-48+>
DATABASE_URL=postgresql://<user>:<pass>@db:5432/orcid_db
REDIS_URL=redis://redis:6379/0
# ============================================================
# BASE URL (uso interno del scheduler)
# ============================================================
BASE_URL=http://localhost:8000/api
BASE_URL=https://api.tudominio.com/api
# ============================================================
# CORS — lista blanca estricta separada por comas
# Nunca uses "*" si allow_credentials=true.
# ============================================================
CORS_ALLOWED_ORIGINS=http://localhost:5173
CORS_ALLOWED_ORIGINS=https://app.tudominio.com
TRUSTED_HOSTS=api.tudominio.com
# ============================================================
# Trusted Hosts — anti Host-header injection (en prod, sé explícito)
# ============================================================
TRUSTED_HOSTS=*
# ============================================================
# JWT (login ORCID)
# Genera un secreto fuerte: `openssl rand -base64 64`
# ============================================================
JWT_SECRET=change_me_to_a_long_random_value_at_least_32_chars
JWT_SECRET=<random-largo-64+>
JWT_ALGORITHM=HS256
JWT_EXPIRES_MINUTES=720
JWT_ISSUER=orcid-sword-backend
JWT_AUDIENCE=orcid-sword-frontend
# ============================================================
# API key máquina-a-máquina (scheduler interno)
# Genera con: `python -c "import secrets;print(secrets.token_urlsafe(48))"`
# ============================================================
API_KEY_NAME=X-API-Key
API_KEY_VALUE=replace_with_a_strong_random_value_min_24_chars
# ============================================================
# ORCID OAuth 3-legged (authorization code)
# ============================================================
ORCID_CLIENT_ID=APP-XXXXXXXXXXXXXXXX
ORCID_CLIENT_SECRET=replace_me
ORCID_REDIRECT_URI=http://localhost:8000/api/auth/orcid/callback
ORCID_OAUTH_STATE_ENABLED=true
# ============================================================
# Rate limits (formato slowapi: "<n>/<window>")
# ============================================================
RATE_LIMIT_DEFAULT=60/minute
RATE_LIMIT_AUTH=10/minute
RATE_LIMIT_SEARCH_ANON=5/minute
RATE_LIMIT_SEARCH_AUTH=30/minute
RATE_LIMIT_EXPORT=20/minute
RATE_LIMIT_SYNC=5/minute
# ============================================================
# Tope de tamaños (anti DoS)
# ============================================================
MAX_ORCID_BATCH=25
MAX_PUB_IDS_BATCH=500
MAX_REQUEST_BODY_BYTES=1048576
# ============================================================
# Documentación interactiva (deshabilita en producción si no es necesaria)
# ============================================================
DOCS_ENABLED=true
# ============================================================
# HSTS
# ============================================================
SECURITY_HSTS_SECONDS=31536000
SECURITY_HSTS_INCLUDE_SUBDOMAINS=true
SECURITY_HSTS_PRELOAD=false
DOCS_ENABLED=false