v0.5.154: fix приоритет IAM_API_URL, docs/IAM-ENV.md
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# IAM — переменные окружения
|
||||
|
||||
> Дата: 2026-06-17
|
||||
> Путь: `src/config.js`, `v2/src/config/index.js`
|
||||
|
||||
## IAM_API_URL (основная, приоритет выше)
|
||||
|
||||
**Где используется:** `src/config.js` → `src/auth.js` (fetchIamUser, switchProfile)
|
||||
|
||||
**Формат:** `https://auth-api.ngcloud.ru` (без /api/v1)
|
||||
|
||||
Код добавляет `/api/v1/auth/user` автоматически.
|
||||
|
||||
**Назначение:** получение профилей пользователя, переключение компании.
|
||||
|
||||
**Дефолт:** `https://auth-api.ngcloud.ru`
|
||||
|
||||
**Пример:**
|
||||
- IAM_API_URL=https://auth-api.ngcloud.ru
|
||||
- Фактический путь: https://auth-api.ngcloud.ru/api/v1/auth/user
|
||||
|
||||
## IAM_API_BASE (запасная, приоритет ниже)
|
||||
|
||||
**Где используется:** `v2/src/config/index.js` → `v2/server.js` (тестовые страницы)
|
||||
|
||||
**Формат:** `https://lk-api-gateway.ngcloud.ru/api/v1/iam`
|
||||
|
||||
Код НЕ добавляет /api/v1, путь должен быть полный.
|
||||
|
||||
**Назначение:** тестовые страницы (/v2/iam-gateway-test), заглушка пока IAM не починят.
|
||||
|
||||
**Дефолт:** берётся из IAM_API_URL
|
||||
|
||||
**Пример:**
|
||||
- IAM_API_BASE=https://lk-api-gateway.ngcloud.ru/api/v1/iam
|
||||
- Фактический путь: https://lk-api-gateway.ngcloud.ru/api/v1/iam/auth/user
|
||||
|
||||
## Приоритет в src/config.js
|
||||
|
||||
```
|
||||
process.env.IAM_API_URL || process.env.IAM_API_BASE || 'https://auth-api.ngcloud.ru'
|
||||
```
|
||||
|
||||
1. IAM_API_URL — явно задан (auth-api)
|
||||
2. IAM_API_BASE — запасной (lk-api-gateway)
|
||||
3. Дефолт — auth-api.ngcloud.ru
|
||||
|
||||
## Когда что использовать
|
||||
|
||||
| Ситуация | Какая переменная | Какой API |
|
||||
|----------|-----------------|-----------|
|
||||
| Обычная работа (логин, CRUD, компании) | IAM_API_URL | auth-api.ngcloud.ru |
|
||||
| Имперсонация (админ работает от имени юзера) | IAM_API_BASE | lk-api-gateway.ngcloud.ru |
|
||||
| Когда IAM починят | IAM_API_URL | auth-api.ngcloud.ru (везде) |
|
||||
|
||||
## Текущий статус
|
||||
|
||||
- auth-api.ngcloud.ru — не отдаёт profiles таргета при имперсонации (баг разработчиков IAM)
|
||||
- lk-api-gateway.ngcloud.ru — работает, отдаёт profiles таргета, НО не принимает токен от Keycloak whitelist (только от ЛК)
|
||||
- Когда IAM починят: удалить IAM_API_BASE из кода и Nubes UI, оставить только IAM_API_URL
|
||||
|
||||
## Nubes UI (текущие переменные)
|
||||
|
||||
- IAM_API_URL=https://auth-api.ngcloud.ru
|
||||
- IAM_API_BASE=https://lk-api-gateway.ngcloud.ru/api/v1/iam
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ipwhitelist",
|
||||
"version": "0.5.153",
|
||||
"version": "0.5.154",
|
||||
"description": "IP WhiteList microservice for cloud provider",
|
||||
"main": "server.js",
|
||||
"scripts": {
|
||||
|
||||
+2
-2
@@ -13,7 +13,7 @@
|
||||
// ── IAM API ───────────────────────────────────────────────────────────────────
|
||||
// URL IAM-сервиса для получения профилей пользователя (GET /api/v1/auth/user)
|
||||
// и переключения активной компании (POST /api/v1/user/switch-profile).
|
||||
const IAM_API_URL = (process.env.IAM_API_BASE || process.env.IAM_API_URL || 'https://auth-api.ngcloud.ru').replace(/\/$/, '');
|
||||
const IAM_API_URL = (process.env.IAM_API_URL || process.env.IAM_API_BASE || 'https://auth-api.ngcloud.ru').replace(/\/$/, '');
|
||||
|
||||
// ── Мок-пользователи (только dev/staging) ─────────────────────────────────────
|
||||
// В продакшене этот список не используется — вход через Keycloak.
|
||||
@@ -94,4 +94,4 @@ function backUrl(isAdmin, companyId, extra = {}) {
|
||||
// Передаётся в шаблоны через app.locals чтобы отображаться в UI.
|
||||
const { version: APP_VERSION } = require('../package.json');
|
||||
|
||||
module.exports = { MOCK_USERS, backUrl, APP_VERSION, IAM_API_URL: (process.env.IAM_API_BASE || process.env.IAM_API_URL || 'https://auth-api.ngcloud.ru').replace(/\/$/, '') };
|
||||
module.exports = { MOCK_USERS, backUrl, APP_VERSION, IAM_API_URL: (process.env.IAM_API_URL || process.env.IAM_API_BASE || 'https://auth-api.ngcloud.ru').replace(/\/$/, '') };
|
||||
|
||||
Reference in New Issue
Block a user