Files
ipwhitelist-app/.env.example
T
naeel a8a07fe019 feat: IAM API интеграция + обновление ТЗ + тесты
- src/auth.js: fetchIamUser(), switchProfile(), userFromPayload(iamData)
- src/config.js: IAM_API_URL из env
- src/routes/oidc.js: обогащение сессии через IAM (с fallback на JWT)
- ui/routes/auth.js: обогащение при токен-логине
- ui/routes/entries.js: switchTo через POST /switch-profile
- src/api/routes/entries.js: resolveCompany через profiles[]
- views/index.ejs: переключатель компаний с названиями из profiles
- .env.example: IAM_API_URL
- docs: обновлены ТЗ-реализация.md, ТЗ-плюс.md, добавлен iam-integration.md
- tests: api-crud.sh (14 тестов CRUD + валидации)
- .gitignore: исключены .env.test, DEPLOY-TESTING.md
2026-06-04 13:53:44 +03:00

35 lines
1.3 KiB
Bash

# ── База данных PostgreSQL ──
DB_HOST=localhost
DB_PORT=5432
DB_NAME=ipwhitelist
DB_USER=ipwhitelist
DB_PASS=<openssl rand -base64 24>
DB_SSLMODE=disable
# ── Режим разработки ──
# true = mock-логин (без Keycloak, для тестов)
# false = OIDC SSO через Keycloak (ОБЯЗАТЕЛЬНО в production)
DEV_MODE=true
DEFAULT_LIMIT=15
# ── Сессия (сгенерировать: openssl rand -base64 32) ──
SESSION_SECRET=<openssl rand -base64 32>
CSRF_SECRET=<openssl rand -base64 32>
# ── Порт сервера ──
PORT=3001
# ── Администратор (clientId) ──
ADMIN_CLIENT_ID=WZ01112
# ── IAM API (сервис авторизации Nubes) ──
# Используется для получения списка компаний пользователя (GET /api/v1/auth/user)
# и переключения активной компании (POST /api/v1/user/switch-profile).
IAM_API_URL=https://auth-api.ngcloud.ru
# ── Keycloak / OIDC (ЗАПОЛНИТЬ при DEV_MODE=false) ──
# KC_CLIENT_ID= # ID зарегистрированного OIDC-клиента в Keycloak
# KC_CLIENT_SECRET= # секрет клиента
# KC_BASE_URL=https://keycloak.nubes.ru/realms/cloud
# APP_URL=https://ваш-домен.ru