v2: модуль аутентификации Keycloak + IAM, роутер /v2

- v2/src/auth/index.js — login(), fetchIamUser(), exchangeCode(), buildAuthUrl()
- v2/src/config/index.js — приоритет V2_* → KC_* → умолчания
- v2/server.js — createV2Router(), монтируется в server.js как /v2
- server.js — app.use('/v2', createV2Router()) перед UI-роутером
- bump 0.5.57 → 0.5.58
This commit is contained in:
2026-06-12 15:47:32 +04:00
parent b2f1cae37d
commit 5c09844002
6 changed files with 608 additions and 1 deletions
+35
View File
@@ -0,0 +1,35 @@
// ═══════════════════════════════════════════════════════════════════════════════
// Конфигурация V2
//
// Приоритет: V2_* → основные → умолчания (локальный KC на ВМ)
// ═══════════════════════════════════════════════════════════════════════════════
require('dotenv').config({ path: require('path').join(__dirname, '..', '..', '..', '.env') });
module.exports = {
// Keycloak OIDC
kcBaseUrl: process.env.V2_KC_BASE_URL
|| process.env.KC_BASE_URL
|| 'https://italo.kube5s.ru/realms/ipwhitelist',
kcClientId: process.env.V2_KC_CLIENT_ID
|| process.env.KC_CLIENT_ID
|| 'ipwhitelist',
kcClientSecret: process.env.V2_KC_CLIENT_SECRET
|| process.env.KC_CLIENT_SECRET
|| '',
// IAM API
iamUrl: process.env.V2_IAM_API_URL
|| process.env.IAM_API_URL
|| 'https://auth-api-dev.ngcloud.ru',
// Наше приложение (НЕ Keycloak!)
appUrl: process.env.V2_APP_URL
|| process.env.APP_URL
|| 'https://italo.kube5s.ru',
// Админ
adminClientId: process.env.ADMIN_CLIENT_ID || 'WZ01112',
};