fix: canAdminMode по email ntazetdinov@nubes.ru вместо isAdmin
- ui/index.js: email берётся из сессии (IAM/Keycloak) - canAdminMode: (isAdmin AND WZ01112) OR (ntazetdinov@nubes.ru AND WZ01112) - Временно для тестов, убрать после настройки IAM isAdmin
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ipwhitelist",
|
"name": "ipwhitelist",
|
||||||
"version": "0.5.41",
|
"version": "0.5.42",
|
||||||
"description": "IP WhiteList microservice for cloud provider",
|
"description": "IP WhiteList microservice for cloud provider",
|
||||||
"main": "server.js",
|
"main": "server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
+7
-3
@@ -58,18 +58,22 @@ function createUiRouter({ auth, MOCK_USERS, authLimiter }) {
|
|||||||
? sessionActive
|
? sessionActive
|
||||||
: (allClientIds[0] || rawClientId);
|
: (allClientIds[0] || rawClientId);
|
||||||
|
|
||||||
|
// Email из сессии (IAM или Keycloak) или из JWT
|
||||||
|
const sessionEmail = req.session && req.session.user && req.session.user.email;
|
||||||
|
const email = sessionEmail || payload.email || payload.login || activeClientId + '@unknown';
|
||||||
|
|
||||||
// 🔮 isAdmin через IAM
|
// 🔮 isAdmin через IAM
|
||||||
const iamAdmin = req.session && req.session.user && req.session.user.isAdmin;
|
const iamAdmin = req.session && req.session.user && req.session.user.isAdmin;
|
||||||
// ВРЕМЕННО: WZ01112 без isAdmin тоже видит toggle (для тестов)
|
// ВРЕМЕННО: ntazetdinov@nubes.ru без isAdmin тоже видит toggle (для тестов)
|
||||||
const canAdminMode = !!(iamAdmin && activeClientId === ADMIN_CLIENT_ID)
|
const canAdminMode = !!(iamAdmin && activeClientId === ADMIN_CLIENT_ID)
|
||||||
|| activeClientId === ADMIN_CLIENT_ID; // ← убрать после тестов
|
|| (email === 'ntazetdinov@nubes.ru' && activeClientId === ADMIN_CLIENT_ID); // ← убрать после тестов
|
||||||
req.user = {
|
req.user = {
|
||||||
clientId: rawClientId,
|
clientId: rawClientId,
|
||||||
allClientIds,
|
allClientIds,
|
||||||
activeClientId,
|
activeClientId,
|
||||||
companyId: payload.company_id || payload.companyId || null,
|
companyId: payload.company_id || payload.companyId || null,
|
||||||
companyName: payload.company_name || payload.companyName || activeClientId,
|
companyName: payload.company_name || payload.companyName || activeClientId,
|
||||||
email: payload.email || activeClientId + '@unknown',
|
email,
|
||||||
isAdmin: iamAdmin,
|
isAdmin: iamAdmin,
|
||||||
canAdminMode,
|
canAdminMode,
|
||||||
adminMode: !!(req.session && req.session.adminMode),
|
adminMode: !!(req.session && req.session.adminMode),
|
||||||
|
|||||||
Reference in New Issue
Block a user