v0.5.130: имперсонация не сохраняет isAdmin от оригинала
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user