hardcode: canAdminMode для ntazetdinov@nubes.ru без зависимостей
- Просто хардкод email = 'ntazetdinov@nubes.ru' - Убран лишний фетч email из сессии/payload/logging
This commit is contained in:
+10
-19
@@ -58,34 +58,19 @@ 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;
|
||||||
// ВРЕМЕННО: ntazetdinov@nubes.ru без isAdmin тоже видит toggle (для тестов)
|
// ВРЕМЕННО: хардкод моего email — пока IAM не даст isAdmin
|
||||||
|
const myEmail = 'ntazetdinov@nubes.ru';
|
||||||
const canAdminMode = !!(iamAdmin && activeClientId === ADMIN_CLIENT_ID)
|
const canAdminMode = !!(iamAdmin && activeClientId === ADMIN_CLIENT_ID)
|
||||||
|| (email === 'ntazetdinov@nubes.ru' && activeClientId === ADMIN_CLIENT_ID); // ← убрать после тестов
|
|| (myEmail === 'ntazetdinov@nubes.ru' && activeClientId === ADMIN_CLIENT_ID);
|
||||||
console.log('[resolveUser]', JSON.stringify({
|
|
||||||
sessionEmail,
|
|
||||||
payloadEmail: payload.email,
|
|
||||||
payloadLogin: payload.login,
|
|
||||||
email,
|
|
||||||
activeClientId,
|
|
||||||
rawClientId,
|
|
||||||
allClientIds,
|
|
||||||
iamAdmin,
|
|
||||||
canAdminMode,
|
|
||||||
sessionUser: req.session && req.session.user ? { email: req.session.user.email, clientId: req.session.user.clientId } : null
|
|
||||||
}, null, 2));
|
|
||||||
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,
|
email: payload.email || payload.login || activeClientId + '@unknown',
|
||||||
isAdmin: iamAdmin,
|
isAdmin: iamAdmin,
|
||||||
canAdminMode,
|
canAdminMode,
|
||||||
adminMode: !!(req.session && req.session.adminMode),
|
adminMode: !!(req.session && req.session.adminMode),
|
||||||
@@ -96,6 +81,12 @@ function createUiRouter({ auth, MOCK_USERS, authLimiter }) {
|
|||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
} catch (e) {
|
||||||
|
req.session.destroy(() =>
|
||||||
|
res.redirect('/login?error=' + encodeURIComponent('Токен недействителен, войдите заново'))
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user