v0.6.9: защита от пустого clientId (null client_id)
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ipwhitelist",
|
"name": "ipwhitelist",
|
||||||
"version": "0.6.8",
|
"version": "0.6.9",
|
||||||
"description": "IP WhiteList microservice for cloud provider",
|
"description": "IP WhiteList microservice for cloud provider",
|
||||||
"main": "server.js",
|
"main": "server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ const { validate } = require('../validators');
|
|||||||
// Возвращает { id, client_id, name, custom_limit }.
|
// Возвращает { id, client_id, name, custom_limit }.
|
||||||
// Вызывается из list/add/edit/remove перед каждой операцией.
|
// Вызывается из list/add/edit/remove перед каждой операцией.
|
||||||
async function resolve(clientId) {
|
async function resolve(clientId) {
|
||||||
|
if (!clientId || !clientId.trim()) throw new Error('Ошибка: не определён clientId (W-номер компании). Обратитесь к администратору.');
|
||||||
return q.getOrCreateCompany(clientId, clientId);
|
return q.getOrCreateCompany(clientId, clientId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ function resolveContext(req, res, next) {
|
|||||||
// ВЕЗДЕ: created_by, экран, формы
|
// ВЕЗДЕ: created_by, экран, формы
|
||||||
req.email = u.email || '';
|
req.email = u.email || '';
|
||||||
req.clientId = isImpersonated ? u.impersonatedCompanyId : (u.activeClientId || u.clientId || '');
|
req.clientId = isImpersonated ? u.impersonatedCompanyId : (u.activeClientId || u.clientId || '');
|
||||||
|
if (!req.clientId) return res.status(400).send('<h2>Ошибка</h2><p>Не удалось определить W-номер компании. Проверьте настройки IAM.</p><p><a href="/logout">Выйти</a></p>');
|
||||||
req.companyName = u.companyName || req.clientId;
|
req.companyName = u.companyName || req.clientId;
|
||||||
req.isAdmin = !!(u.isAdmin && u.adminMode) || (ADMIN_EMAIL && u.email === ADMIN_EMAIL);
|
req.isAdmin = !!(u.isAdmin && u.adminMode) || (ADMIN_EMAIL && u.email === ADMIN_EMAIL);
|
||||||
req.isImpersonated = isImpersonated;
|
req.isImpersonated = isImpersonated;
|
||||||
|
|||||||
Reference in New Issue
Block a user