v2: документирован конфиг — тестовый KC vs production, инструкция перехода

This commit is contained in:
2026-06-12 16:43:20 +04:00
parent 53f2b49049
commit 03d480de12
2 changed files with 40 additions and 2 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ipwhitelist",
"version": "0.5.65",
"version": "0.5.66",
"description": "IP WhiteList microservice for cloud provider",
"main": "server.js",
"scripts": {
+39 -1
View File
@@ -1,8 +1,46 @@
// Конфигурация V2 — умолчания, переопределяются через V2_* env
// ═══════════════════════════════════════════════════════════════════════════════
// Конфигурация модуля аутентификации V2
// ═══════════════════════════════════════════════════════════════════════════════
//
// СЕЙЧАС (ТЕСТ): умолчания указывают на наш тестовый Keycloak на ВМ.
// KC на ВМ (italo.kube5s.ru) — НЕ production.
// IAM НЕ доверяет токенам от этого KC → login() падает с ошибкой.
//
// Чтобы работало сейчас: зайти на ВМ, в браузере открыть /v2/login.
// Или задать V2_KC_* env на production-платформе (см. ниже).
//
// ПРИ ПЕРЕХОДЕ НА PRODUCTION KEYCLOAK:
// 1. В Keycloak (keycloak.nubes.ru/realms/cloud) добавить redirect URI:
// https://whitelist.nodejsk8s.services.ngcloud.ru/v2/callback
// (клиент: naeel-whitelist-managed)
//
// 2. Задать переменные окружения на платформе (Nubes UI → env):
// V2_KC_BASE_URL=https://keycloak.nubes.ru/realms/cloud
// V2_KC_CLIENT_ID=naeel-whitelist-managed
// V2_KC_CLIENT_SECRET=<секрет из Keycloak admin>
// V2_APP_URL=https://whitelist.nodejsk8s.services.ngcloud.ru
// V2_IAM_API_URL=https://auth-api.ngcloud.ru
//
// 3. Редеплой.
//
// После этого login() будет: production-KC → токен → IAM → полный профиль.
//
// Приоритет: process.env.V2_* → умолчания (тестовый KC на ВМ).
// ═══════════════════════════════════════════════════════════════════════════════
module.exports = {
// Keycloak — ТЕСТОВЫЙ (наш на ВМ). Заменить на production через V2_KC_BASE_URL.
kcBaseUrl: process.env.V2_KC_BASE_URL || 'https://italo.kube5s.ru/realms/ipwhitelist',
// client_id — ТЕСТОВЫЙ. Заменить через V2_KC_CLIENT_ID.
kcClientId: process.env.V2_KC_CLIENT_ID || 'ipwhitelist',
// client_secret — ТЕСТОВЫЙ. Заменить через V2_KC_CLIENT_SECRET.
kcClientSecret: process.env.V2_KC_CLIENT_SECRET || '40bpIZvumq6jttIB5QtTLcl9AJvAHxlw',
// IAM API — production. Токен от тестового KC IAM не примет (ошибка 401).
iamUrl: process.env.V2_IAM_API_URL || 'https://auth-api.ngcloud.ru',
// URL нашего приложения — production.
appUrl: process.env.V2_APP_URL || 'https://whitelist.nodejsk8s.services.ngcloud.ru',
};