hardcode: canAdminMode для ntazetdinov@nubes.ru без зависимостей

- Просто хардкод email = 'ntazetdinov@nubes.ru'
- Убран лишний фетч email из сессии/payload/logging
This commit is contained in:
2026-06-11 14:10:00 +04:00
parent d54a72ca2c
commit 2fbdc3259b
+10 -19
View File
@@ -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();
}); });