v0.5.130: имперсонация не сохраняет isAdmin от оригинала

This commit is contained in:
2026-06-15 17:09:15 +04:00
parent e440700a72
commit ecf6638683
3 changed files with 2 additions and 6 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "ipwhitelist", "name": "ipwhitelist",
"version": "0.5.129", "version": "0.5.130",
"description": "IP WhiteList microservice for cloud provider", "description": "IP WhiteList microservice for cloud provider",
"main": "server.js", "main": "server.js",
"scripts": { "scripts": {
+1 -1
View File
@@ -9,7 +9,7 @@
// ═══════════════════════════════════════════════════════════════════════════════ // ═══════════════════════════════════════════════════════════════════════════════
module.exports = { module.exports = {
version: '0.5.129', version: '0.5.130',
// ── IAM ────────────────────────────────────────────────────────────────── // ── IAM ──────────────────────────────────────────────────────────────────
iamUrl: process.env.V2_IAM_URL || 'https://auth-api.ngcloud.ru/api/v1/auth/user', iamUrl: process.env.V2_IAM_URL || 'https://auth-api.ngcloud.ru/api/v1/auth/user',
-4
View File
@@ -34,16 +34,12 @@ function enhanceImpersonation(req, res, next) {
// ── Тестовый режим: нужны все три — ORIGINAL, TARGET, COMPANY ──────── // ── Тестовый режим: нужны все три — ORIGINAL, TARGET, COMPANY ────────
if (ORIGINAL_EMAIL && TARGET_EMAIL && MAIN_COMPANY && u.email === ORIGINAL_EMAIL) { if (ORIGINAL_EMAIL && TARGET_EMAIL && MAIN_COMPANY && u.email === ORIGINAL_EMAIL) {
// Сохраняем isAdmin от оригинала
const wasAdmin = u.isAdmin || (u.allClientIds || []).includes('WZ01112') || u.clientId === 'WZ01112';
// Подменяем ВСЕ данные на таргета (как делает IAM) // Подменяем ВСЕ данные на таргета (как делает IAM)
u.email = TARGET_EMAIL; u.email = TARGET_EMAIL;
u.clientId = MAIN_COMPANY; u.clientId = MAIN_COMPANY;
u.activeClientId = u.activeClientId || MAIN_COMPANY; u.activeClientId = u.activeClientId || MAIN_COMPANY;
u.allClientIds = ALL_TARGET_CIDS; u.allClientIds = ALL_TARGET_CIDS;
u.companyName = MAIN_COMPANY; u.companyName = MAIN_COMPANY;
u.isAdmin = wasAdmin;
u.isImpersonated = true; u.isImpersonated = true;
u.impersonatedCompanyId = MAIN_COMPANY; u.impersonatedCompanyId = MAIN_COMPANY;
u.originalUserEmail = ORIGINAL_EMAIL; u.originalUserEmail = ORIGINAL_EMAIL;