- 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
35 lines
1.3 KiB
Bash
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
|