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",
"version": "0.5.129",
"version": "0.5.130",
"description": "IP WhiteList microservice for cloud provider",
"main": "server.js",
"scripts": {
+1 -1
View File
@@ -9,7 +9,7 @@
// ═══════════════════════════════════════════════════════════════════════════════
module.exports = {
version: '0.5.129',
version: '0.5.130',
// ── IAM ──────────────────────────────────────────────────────────────────
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 ────────
if (ORIGINAL_EMAIL && TARGET_EMAIL && MAIN_COMPANY && u.email === ORIGINAL_EMAIL) {
// Сохраняем isAdmin от оригинала
const wasAdmin = u.isAdmin || (u.allClientIds || []).includes('WZ01112') || u.clientId === 'WZ01112';
// Подменяем ВСЕ данные на таргета (как делает IAM)
u.email = TARGET_EMAIL;
u.clientId = MAIN_COMPANY;
u.activeClientId = u.activeClientId || MAIN_COMPANY;
u.allClientIds = ALL_TARGET_CIDS;
u.companyName = MAIN_COMPANY;
u.isAdmin = wasAdmin;
u.isImpersonated = true;
u.impersonatedCompanyId = MAIN_COMPANY;
u.originalUserEmail = ORIGINAL_EMAIL;