cleanup: убрать мёртвые env-переменные, консолидировать чтение в agent/_config.py
Удалены из кода: - JWT_SECRET — мёртвая (decode_token использует AUTH_SECRET_KEY) - SESSION_SECRET_KEY — заменён на прямой AUTH_SECRET_KEY - POSTGRES_URL — deprecated fallback, удалён из database.py и reencrypt.py Консолидировано чтение env-переменных agent-модуля: - Создан agent/_config.py — единый модуль для FASTAPI_URL, SERVICE_JWT, GRADIO_*, STORAGE_ROOT, AGENT_* (9 констант) - Все agent/*.py импортируют из _config вместо разрозненных os.getenv Удалены or-дефолты (безопасность): - agent/langgraph_setup.py — удалён hardcoded DB URL postgres:postgres - agent/langgraph_setup.py — удалены fallback API URL и model name - scripts/reencrypt.py — удалён hardcoded DB URL postgres:postgres - plugins/llm_analysis/service.py — удалены or-дефолты URL/app name .env.example — минимализация: - backend/.env.example: только 4 обязательные переменные - root/.env.example: обязательные + docker + SSO/админ Обновлены тесты (139 passed)
This commit is contained in:
@@ -244,16 +244,10 @@ def run_alembic_migrations() -> None:
|
||||
# @REJECTED SessionMiddleware sharing JWT SECRET_KEY rejected in [SEC:H-4] — key reuse expands blast radius.
|
||||
|
||||
# Configure Session Middleware (required by Authlib for OAuth2 flow)
|
||||
# Uses AUTH_SECRET_KEY directly — separate SESSION_SECRET_KEY eliminated.
|
||||
from .core.auth.config import auth_config
|
||||
|
||||
_session_secret = os.getenv("SESSION_SECRET_KEY", "").strip()
|
||||
if not _session_secret:
|
||||
_session_secret = auth_config.SECRET_KEY
|
||||
logger.explore(
|
||||
"SESSION_SECRET_KEY not set — falling back to AUTH_SECRET_KEY",
|
||||
error="Missing SESSION_SECRET_KEY",
|
||||
)
|
||||
app.add_middleware(SessionMiddleware, secret_key=_session_secret)
|
||||
app.add_middleware(SessionMiddleware, secret_key=auth_config.SECRET_KEY)
|
||||
|
||||
# Configure CORS
|
||||
_allowed_origins_raw = os.getenv("ALLOWED_ORIGINS", "").strip()
|
||||
|
||||
Reference in New Issue
Block a user