diff --git a/package.json b/package.json index f83c443..8923b04 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ipwhitelist", - "version": "0.5.70", + "version": "0.5.71", "description": "IP WhiteList microservice for cloud provider", "main": "server.js", "scripts": { diff --git a/v2/src/config/index.js b/v2/src/config/index.js index 75d6790..31c0149 100644 --- a/v2/src/config/index.js +++ b/v2/src/config/index.js @@ -1,47 +1,37 @@ // ═══════════════════════════════════════════════════════════════════════════════ -// Конфигурация модуля аутентификации V2 +// Конфигурация V2 // ═══════════════════════════════════════════════════════════════════════════════ // -// СЕЙЧАС (ТЕСТ): умолчания указывают на наш тестовый Keycloak на ВМ. -// KC на ВМ (italo.kube5s.ru) — НЕ production. -// IAM НЕ доверяет токенам от этого KC → login() падает с ошибкой. +// ⚠️ КОСТЫЛЬ — TEST_TOKEN (testToken): +// Временный токен WZ01112 / ntazetdinov@nubes.ru, в обход Keycloak. +// Используется для теста CRUD с реальными данными IAM (пока нет production-KC). // -// Чтобы работало сейчас: зайти на ВМ, в браузере открыть /v2/login. -// Или задать V2_KC_* env на production-платформе (см. ниже). +// КАК УБРАТЬ: задать V2_TEST_TOKEN='' на платформе → login() вернётся +// к нормальному OIDC-потоку через Keycloak. // // ПРИ ПЕРЕХОДЕ НА 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 на ВМ). +// 1. Добавить redirect URI в keycloak.nubes.ru/realms/cloud +// 2. Задать V2_KC_* env на платформе +// 3. V2_TEST_TOKEN='' (отключить костыль) +// 4. Редеплой // ═══════════════════════════════════════════════════════════════════════════════ module.exports = { - version: '0.5.69', - // Keycloak — ТЕСТОВЫЙ (наш на ВМ). Заменить на production через V2_KC_BASE_URL. + version: '0.5.71', + + // ⚠️ КОСТЫЛЬ — убрать при production-KC + testToken: process.env.V2_TEST_TOKEN !== '' + ? (process.env.V2_TEST_TOKEN || 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhdXRoLWFwaSIsInN1YiI6IjAxOWNjMjY4LTZjNmEtNzgxZS04NjEzLTRiZWQ0ZWM3Y2QyMCIsImV4cCI6MTc5NjExODA2NywiaWF0IjoxNzgwNTY2MDY3LCJqdGkiOiJjMzJlNWIwMy05YjBlLTRjNGEtYTY0MS1lOTE0YWQ4MWRiMDQiLCJhdXRoX3RpbWUiOjAsInR5cCI6IiIsImF6cCI6IiIsInNlc3Npb25fc3RhdGUiOiIiLCJhY3IiOiIiLCJhbGxvd2VkLW9yaWdpbnMiOm51bGwsInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6bnVsbH0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpudWxsfX0sInNjb3BlIjoiIiwic2lkIjoiIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiIiwiQ2xpZW50SUQiOiJXWjAzNzA5IiwiY29tcGFueV9pZCI6IjAxOWNjMjRhLTcyN2UtNzQwZi1iNDA3LWJlYzc5ZGFiNDE2MiIsImNvbXBhbnlfbmFtZSI6Im5hZWVsX3Rlc3QiLCJ0b2tlbl90eXBlIjoidGVjaCIsImlkcF91c3JfdWlkIjoiMDE5Y2MyNjgtNmM2YS03ODFlLTg2MTMtNGJlZDRlYzdjZDIwIiwibG9naW4iOiJ0YXpldGRpbm92bkBnbWFpbC5jb20iLCJmaXJzdG5hbWUiOiLQndCw0LjQu9GMIiwibWlkZGxlbmFtZSI6ItCk0LDRgNC40YLQvtCy0LjRhyIsImxhc3RuYW1lIjoi0KLQsNC30LXRgtC00LjQvdC-0LIiLCJncm91cHMiOm51bGwsInByZWZlcnJlZF91c2VybmFtZSI6IiIsImdpdmVuX25hbWUiOiIiLCJmYW1pbHlfbmFtZSI6IiIsImVtYWlsIjoidGF6ZXRkaW5vdm5AZ21haWwuY29tIn0.Pc0NJsauTQQApbPgDjFZd9phceMvfN4usaa8Rw9wGeMUvKR6EOAC6F_9in6zhcgK0zFsdbpsSzeGaNLoJNpadbshAWmGKVxprbMZbCuuxvDFzraIHTw0okgvh-4XPN8NhzqI0taTWjN9Wdl5hWBpHBQFpgRlf9u-jMwqmSQQ15wZHiOc_x1Xh_IKhtBGC4duYlvnzVzzWgRVvCNzs73dnPhCAKNn17epZujq0QHlzkkg2WeCo24iiiKrIpssW6YUiM9aKezwbYxGvZZOePX-RjcapBKFjNmpjI2UjEOMroQUtS7ei1cgU9VN5_QjmGKmSSXF2JBtcSGb52qAhYDwQQ') + : '', + + // Keycloak — тестовый (ВМ) 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). + // IAM API iamUrl: process.env.V2_IAM_API_URL || 'https://auth-api.ngcloud.ru', - // URL нашего приложения — production. + // URL приложения appUrl: process.env.V2_APP_URL || 'https://whitelist.nodejsk8s.services.ngcloud.ru', };