v0.5.4: fix isolation — resolveUser syncs activeClientId from session
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ipwhitelist",
|
"name": "ipwhitelist",
|
||||||
"version": "0.5.3",
|
"version": "0.5.4",
|
||||||
"description": "IP WhiteList microservice for cloud provider",
|
"description": "IP WhiteList microservice for cloud provider",
|
||||||
"main": "server.js",
|
"main": "server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
+5
-1
@@ -52,7 +52,11 @@ function createUiRouter({ auth, MOCK_USERS, authLimiter }) {
|
|||||||
if (!payload) throw new Error('empty payload');
|
if (!payload) throw new Error('empty payload');
|
||||||
const rawClientId = payload.ClientID || payload.clientId || payload.sub || '';
|
const rawClientId = payload.ClientID || payload.clientId || payload.sub || '';
|
||||||
const allClientIds = rawClientId.split(',').map(s => s.trim()).filter(Boolean);
|
const allClientIds = rawClientId.split(',').map(s => s.trim()).filter(Boolean);
|
||||||
const activeClientId = allClientIds[0] || rawClientId;
|
// activeClientId из сессии (переключатель компании) или первая из токена
|
||||||
|
const sessionActive = req.session && req.session.user && req.session.user.activeClientId;
|
||||||
|
const activeClientId = (sessionActive && allClientIds.includes(sessionActive))
|
||||||
|
? sessionActive
|
||||||
|
: (allClientIds[0] || rawClientId);
|
||||||
|
|
||||||
req.user = {
|
req.user = {
|
||||||
clientId: rawClientId,
|
clientId: rawClientId,
|
||||||
|
|||||||
Reference in New Issue
Block a user