diff --git a/.env.example b/.env.example index c3b9f4a..438e6da 100644 --- a/.env.example +++ b/.env.example @@ -16,7 +16,8 @@ OLLAMA_BASE_URL=http://192.168.1.130:11434 OLLAMA_MODEL=qwen3.5:2b-q4_K_M -# MCP-сервер (M5): bearer-токен для ИИ-агентов; пусто — /mcp закрыт +# MCP (ТЗ 3.10): env-токена больше нет — каждый пользователь создаёт свой +# per-user токен в Настройках → «Токены MCP» (plaintext показывается один раз) # docker-compose (M7): TLS терминирует внешний reverse-proxy — # он пробрасывает трафик на WEB_PORT (контейнер web слушает :80); diff --git a/README.md b/README.md index c0c1682..e84b3a9 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,9 @@ 1. На сервере: `cp .env.example .env` и заполнить: - SSO-креды (`GAUTH_CLIENT_ID/SECRET`), `GAUTH_REDIRECT_URI=https://<домен>/auth/callback` — адрес callback регистрируется в auth.gnexus.space; - - `SESSION_SECRET` (произвольная длинная строка) и `MCP_TOKEN` (пусто — `/mcp` закрыт); + - `SESSION_SECRET` (произвольная длинная строка); MCP-токены теперь per-user + (Настройки → «Токены MCP»), env-переменной `MCP_TOKEN` больше нет; + - `GAUTH_WEBHOOK_SECRET` из админке SSO (пусто — webhook выключен, см. deploy.md §3.1); - `OLLAMA_BASE_URL` внешнего сервера Ollama (контейнера ollama в compose нет) и `OLLAMA_MODEL` (по умолчанию `qwen3.5:2b-q4_K_M`). 2. Запуск: `docker compose up -d --build`. diff --git a/backend/tests/test_auth_webhooks.py b/backend/tests/test_auth_webhooks.py index ea35762..3ad4d4c 100644 --- a/backend/tests/test_auth_webhooks.py +++ b/backend/tests/test_auth_webhooks.py @@ -47,7 +47,13 @@ def test_webhook_disabled_without_secret(client: Any, monkeypatch: Any) -> None: - # секрет не задан (дефолт Settings) — эндпоинт выключен + # секрет пуст явно: в dev/проде Settings читает .env, где секрет задан + import app.auth.webhooks as wh + + class _Settings: + gauth_webhook_secret = "" + + monkeypatch.setattr(wh, "get_settings", lambda: _Settings()) resp = _post(client, {"type": "webhook.test"}, "webhook.test") assert resp.status_code == 503 diff --git a/docker-compose.yml b/docker-compose.yml index 73b657a..7d3f43c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -30,10 +30,10 @@ GAUTH_CLIENT_ID: ${GAUTH_CLIENT_ID} GAUTH_CLIENT_SECRET: ${GAUTH_CLIENT_SECRET} GAUTH_REDIRECT_URI: ${GAUTH_REDIRECT_URI} + GAUTH_WEBHOOK_SECRET: ${GAUTH_WEBHOOK_SECRET:-} SESSION_SECRET: ${SESSION_SECRET} OLLAMA_BASE_URL: ${OLLAMA_BASE_URL} OLLAMA_MODEL: ${OLLAMA_MODEL:-qwen3.5:2b-q4_K_M} - MCP_TOKEN: ${MCP_TOKEN:-} ATTACHMENTS_PATH: /data/attachments volumes: - attachments:/data/attachments