adminforth 3.30.1 → 3.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { IAdminForth, IWebSocketBroker, IWebSocketClient } from "../types/Back.js";
2
2
  import { AdminUser } from "../types/Common.js";
3
3
  export default class SocketBroker implements IWebSocketBroker {
4
- clients: IWebSocketClient[];
4
+ clients: Map<string, IWebSocketClient>;
5
5
  topics: {
6
6
  [key: string]: IWebSocketClient[];
7
7
  };
@@ -10,6 +10,11 @@ export default class SocketBroker implements IWebSocketBroker {
10
10
  constructor(adminforth: IAdminForth);
11
11
  startChecker(): Promise<void>;
12
12
  checkDeadClients(): Promise<void>;
13
+ /**
14
+ * Closes connections of users who lost access after the handshake (revoked session, deactivated or deleted user,
15
+ * expired jwt), so they stop receiving topic messages. Frontend reconnects and passes handshake as anonymous.
16
+ */
17
+ reauthorizeClients(): Promise<void>;
13
18
  deleteClientFromTopic(client: IWebSocketClient, topic: string): void;
14
19
  cleanupTopicIfEmpty(topic: string): void;
15
20
  registerWsClient(client: IWebSocketClient): void;
@@ -1 +1 @@
1
- {"version":3,"file":"socketBroker.d.ts","sourceRoot":"","sources":["../../modules/socketBroker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,gBAAgB;IAC3D,OAAO,EAAE,gBAAgB,EAAE,CAAM;IACjC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KAAE,CAAM;IACnD,UAAU,EAAE,WAAW,CAAC;IACxB,kBAAkB,UAAS;gBAEf,UAAU,EAAE,WAAW;IAI7B,YAAY;IAYZ,gBAAgB;IActB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM;IAO7D,mBAAmB,CAAC,KAAK,EAAE,MAAM;IASjC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAmG1C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BjH"}
1
+ {"version":3,"file":"socketBroker.d.ts","sourceRoot":"","sources":["../../modules/socketBroker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/C,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,gBAAgB;IAC3D,OAAO,gCAAuC;IAC9C,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KAAE,CAAM;IACnD,UAAU,EAAE,WAAW,CAAC;IACxB,kBAAkB,UAAS;gBAEf,UAAU,EAAE,WAAW;IAI7B,YAAY;IAaZ,gBAAgB;IAUtB;;;OAGG;IACG,kBAAkB;IAwBxB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM;IAO7D,mBAAmB,CAAC,KAAK,EAAE,MAAM;IASjC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAkG1C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BjH"}
@@ -1,9 +1,10 @@
1
1
  import pLimit from 'p-limit';
2
2
  import { afLogger } from '../modules/logger.js';
3
3
  const PUBLISH_FILTER_CONCURRENCY = 10;
4
+ const REAUTHORIZE_CONCURRENCY = 10;
4
5
  export default class SocketBroker {
5
6
  constructor(adminforth) {
6
- this.clients = [];
7
+ this.clients = new Map();
7
8
  this.topics = {};
8
9
  this.deadCheckerRunning = false;
9
10
  this.adminforth = adminforth;
@@ -15,21 +16,46 @@ export default class SocketBroker {
15
16
  this.deadCheckerRunning = true;
16
17
  while (true) {
17
18
  await this.checkDeadClients();
19
+ await this.reauthorizeClients();
18
20
  await new Promise((resolve) => setTimeout(resolve, 10000));
19
21
  }
20
22
  }
21
23
  async checkDeadClients() {
22
24
  const now = Date.now();
23
- const deadClients = [];
24
- for (const client of this.clients) {
25
+ for (const client of this.clients.values()) {
25
26
  if (now - client.lastPing > 30000) {
26
- deadClients.push(client);
27
+ client.close();
28
+ this.clients.delete(client.id);
27
29
  }
28
30
  }
29
- deadClients.forEach(client => {
30
- client.close();
31
- delete this.clients[client.id];
32
- });
31
+ }
32
+ /**
33
+ * Closes connections of users who lost access after the handshake (revoked session, deactivated or deleted user,
34
+ * expired jwt), so they stop receiving topic messages. Frontend reconnects and passes handshake as anonymous.
35
+ */
36
+ async reauthorizeClients() {
37
+ const limit = pLimit(REAUTHORIZE_CONCURRENCY);
38
+ await Promise.all([...this.clients.values()]
39
+ .filter((client) => client.adminUser)
40
+ .map((client) => limit(async () => {
41
+ try {
42
+ const result = await client.authorize();
43
+ if (result.status === 'ok') {
44
+ // keeps dbUser fresh for websocketTopicAuth and publish filters
45
+ client.adminUser = result.adminUser;
46
+ }
47
+ else if (result.status === 'verifyFailed') {
48
+ // server side problem, e.g. database is not available, so keep the connection and retry on next check
49
+ afLogger.error(`Failed to verify websocket client ${client.id}: ${result.error}`);
50
+ }
51
+ else {
52
+ client.close();
53
+ }
54
+ }
55
+ catch (e) {
56
+ afLogger.error(`Failed to authorize websocket client ${client.id}: ${e}`);
57
+ }
58
+ })));
33
59
  }
34
60
  deleteClientFromTopic(client, topic) {
35
61
  if (!this.topics[topic]) {
@@ -46,10 +72,9 @@ export default class SocketBroker {
46
72
  }
47
73
  }
48
74
  registerWsClient(client) {
75
+ afLogger.info(`Registering new WebSocket client ${client.id}`);
49
76
  this.startChecker();
50
- if (!this.clients[client.id]) {
51
- this.clients[client.id] = client;
52
- }
77
+ this.clients.set(client.id, client);
53
78
  client.onMessage(async (message) => {
54
79
  const messageText = message.toString();
55
80
  if (!messageText.trim()) {
@@ -126,7 +151,7 @@ export default class SocketBroker {
126
151
  this.deleteClientFromTopic(client, topic);
127
152
  this.cleanupTopicIfEmpty(topic);
128
153
  }
129
- delete this.clients[client.id];
154
+ this.clients.delete(client.id);
130
155
  });
131
156
  // send ready message
132
157
  client.send(JSON.stringify({ type: 'ready' }));
@@ -1 +1 @@
1
- {"version":3,"file":"socketBroker.js","sourceRoot":"","sources":["../../modules/socketBroker.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAG7B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,YAAY;IAM/B,YAAY,UAAuB;QALnC,YAAO,GAAuB,EAAE,CAAC;QACjC,WAAM,GAA0C,EAAE,CAAC;QAEnD,uBAAkB,GAAG,KAAK,CAAC;QAGzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE/B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAM,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,KAAM,EAAE,CAAC;gBACnC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC3B,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,MAAwB,EAAE,KAAa;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,MAAwB;QACvC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACjC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAEvC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YAED,IAAI,IAAa,CAAC;YAElB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC,CAAC;gBAC5F,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,IAA2C,CAAC;YAE5D,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACnE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YAED,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAC7E,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAE5B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBACrC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACnD,IAAI,UAAU,GAAG,KAAK,CAAC;wBACvB,IAAI,CAAC;4BACH,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;wBAC7F,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,QAAQ,CAAC,KAAK,CAAC,gEAAgE,CAAC,EAAE,CAAC,CAAC;wBACtF,CAAC;wBACD,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;4BACxE,OAAO;wBACT,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC1B,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACpD,CAAC,KAAK,IAAI,EAAE;wBACV,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;wBACjF,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,QAAQ,CAAC,KAAK,CAAC,0CAA0C,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC1E,CAAC;oBACH,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB;gBAC5B,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YAClB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAEjD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAS,EAAE,WAAwD;QAC9F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,QAAQ,CAAC,KAAK,CAAC,0BAA0B,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YAClD,IAAI,CAAE,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAG,CAAC;gBAC7C,QAAQ,CAAC,KAAK,CAAC,4CAA4C,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBACxF,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,KAAK,CAAC,0BAA0B,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;CAEF"}
1
+ {"version":3,"file":"socketBroker.js","sourceRoot":"","sources":["../../modules/socketBroker.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IWebSocketClient } from "../types/Back.js";
1
+ import { AdminUserAuthorizationResult, IWebSocketClient } from "../types/Back.js";
2
2
  import { AdminUser } from "../types/Common.js";
3
3
  export declare class WebSocketClient implements IWebSocketClient {
4
4
  id: string;
@@ -6,13 +6,15 @@ export declare class WebSocketClient implements IWebSocketClient {
6
6
  lastPing: number;
7
7
  topics: Set<string>;
8
8
  adminUser: AdminUser;
9
+ authorize: () => Promise<AdminUserAuthorizationResult>;
9
10
  send: (message: string) => void;
10
11
  close: () => void;
11
12
  onMessage: (handler: (message: string) => void) => void;
12
13
  onClose: (handler: () => void) => void;
13
- constructor({ id, clientId, send, close, onMessage, onClose, adminUser }: {
14
+ constructor({ id, clientId, authorize, send, close, onMessage, onClose, adminUser }: {
14
15
  id: any;
15
16
  clientId: any;
17
+ authorize: any;
16
18
  send: any;
17
19
  close: any;
18
20
  onMessage: any;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../servers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IAErB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IACxD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;gBAE3B,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;;;;;;;;KAAA;CAYzE"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../servers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IAErB,SAAS,EAAE,MAAM,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACvD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IACxD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;gBAE3B,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;;;;;;;;;KAAA;CAapF"}
@@ -1,7 +1,8 @@
1
1
  export class WebSocketClient {
2
- constructor({ id, clientId, send, close, onMessage, onClose, adminUser }) {
2
+ constructor({ id, clientId, authorize, send, close, onMessage, onClose, adminUser }) {
3
3
  this.id = id;
4
4
  this.clientId = clientId;
5
+ this.authorize = authorize;
5
6
  this.send = send;
6
7
  this.close = close;
7
8
  this.onMessage = onMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../servers/common.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,eAAe;IAY1B,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;QACtE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../servers/common.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,eAAe;IAa1B,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;QACjF,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../servers/express.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAG3C,OAAO,EACL,WAAW,EACX,uCAAuC,EAEvC,6BAA6B,EAC7B,gCAAgC,EAChC,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,IAAI,MAAM,MAAM,CAAC;AA2DxB,QAAA,MAAM,oBAAoB,eAA0C,CAAC;AAOrE,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;AAEtF,KAAK,4BAA4B,GAAG,6BAA6B,GAAG;IAClE,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,KAAK,sBAAsB,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG;IACxD,CAAC,oBAAoB,CAAC,CAAC,EAAE,4BAA4B,CAAC;CACvD,CAAC;AA8EF,cAAM,aAAc,YAAW,kBAAkB;IAE/C,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,mCAAmC,UAAS;IAC5C,YAAY,EAAE,YAAY,CAAC;IAC3B,4BAA4B,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAM;gBAEzC,UAAU,EAAE,WAAW;IAOnC,cAAc;IAqFd,aAAa;IAyCb,KAAK,CAAC,GAAG,KAAA;IAoBT,iCAAiC;IAMjC,MAAM,CAAC,GAAG,IAAI,OAAA;IAId,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAW1C,mBAAmB,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA;IAOjC,SAAS,CAAC,OAAO,KAAA,IACD,QAAG,EAAE,QAAG,EAAE,SAAI;IAoC9B,UAAU,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA;IAU1B,YAAY,CAAC,OAAO,KAAA,IAEJ,QAAG,EAAE,QAAG,EAAE,SAAI;IAO9B,iCAAiC;IAwCjC,wBAAwB,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA,EAAE,QAAQ,KAAA;IAyChD,wBAAwB,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA;IAsBtC,iBAAiB,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAA;IAQjC,gBAAgB,CAAC,KAAK,KAAA;IAiBtB,eAAe,CAAC,QAAQ,KAAA;IAIxB,YAAY,CAAC,KAAK,KAAA;IAMlB,kBAAkB;IAkBlB,QAAQ,CAAC,OAAO,EAAE,uCAAuC,GAAG,IAAI;IAChE,QAAQ,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI;CA4M1D;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../servers/express.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAG3C,OAAO,EACL,WAAW,EACX,uCAAuC,EAEvC,6BAA6B,EAC7B,gCAAgC,EAChC,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAoExB,QAAA,MAAM,oBAAoB,eAA0C,CAAC;AAOrE,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;AAEtF,KAAK,4BAA4B,GAAG,6BAA6B,GAAG;IAClE,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,KAAK,sBAAsB,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG;IACxD,CAAC,oBAAoB,CAAC,CAAC,EAAE,4BAA4B,CAAC;CACvD,CAAC;AA8EF,cAAM,aAAc,YAAW,kBAAkB;IAE/C,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,mCAAmC,UAAS;IAC5C,YAAY,EAAE,YAAY,CAAC;IAC3B,4BAA4B,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAM;gBAEzC,UAAU,EAAE,WAAW;IAOnC,cAAc;IAqFd,aAAa;IAoDb,KAAK,CAAC,GAAG,KAAA;IAoBT,iCAAiC;IAMjC,MAAM,CAAC,GAAG,IAAI,OAAA;IAId,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAW1C,mBAAmB,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA;IAOjC,SAAS,CAAC,OAAO,KAAA,IACD,QAAG,EAAE,QAAG,EAAE,SAAI;IAoC9B,UAAU,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA;IAU1B,YAAY,CAAC,OAAO,KAAA,IAEJ,QAAG,EAAE,QAAG,EAAE,SAAI;IAO9B,iCAAiC;IAwCjC,wBAAwB,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA,EAAE,QAAQ,KAAA;IAyChD,wBAAwB,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA;IAsBtC,iBAAiB,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAA;IAQjC,gBAAgB,CAAC,KAAK,KAAA;IAiBtB,eAAe,CAAC,QAAQ,KAAA;IAIxB,YAAY,CAAC,KAAK,KAAA;IAMlB,kBAAkB;IAkBlB,QAAQ,CAAC,OAAO,EAAE,uCAAuC,GAAG,IAAI;IAChE,QAAQ,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI;CA4M1D;AAED,eAAe,aAAa,CAAC"}
@@ -36,6 +36,14 @@ function parseCookiesString(cookiesString) {
36
36
  });
37
37
  return result;
38
38
  }
39
+ // 101 upgrade response is already sent when websocket connection is established, so auth hooks can't change it
40
+ const WS_HANDSHAKE_RESPONSE = {
41
+ setHeader: () => { },
42
+ setStatus: () => { },
43
+ blobStream: () => {
44
+ throw new Error('Websocket handshake response has no body');
45
+ },
46
+ };
39
47
  function getHeaderString(headers, name) {
40
48
  const value = headers[name];
41
49
  return typeof value === 'string' ? value : undefined;
@@ -218,19 +226,29 @@ class ExpressServer {
218
226
  // Handle WebSocket connections
219
227
  wss.on('connection', async (ws, req) => {
220
228
  try {
221
- // get cookies and parse
222
- let adminUser = null;
223
- const cookies = req.headers.cookie;
224
- if (cookies) {
225
- const jwt = this.adminforth.auth.getAuthCookie(parseCookiesString(cookies));
226
- if (jwt) {
227
- adminUser = await this.adminforth.auth.verify(jwt, 'auth');
228
- }
229
+ const cookies = await parseExpressCookie(req);
230
+ const url = new URL(req.url, 'http://localhost');
231
+ const extra = {
232
+ body: {},
233
+ query: Object.fromEntries(url.searchParams),
234
+ headers: req.headers,
235
+ cookies,
236
+ requestUrl: req.url,
237
+ meta: {},
238
+ response: WS_HANDSHAKE_RESPONSE,
239
+ };
240
+ const authorize = () => this.adminforth.auth.authorizeByCookies({ cookies, response: WS_HANDSHAKE_RESPONSE, extra });
241
+ const result = await authorize();
242
+ if (result.status === 'verifyFailed') {
243
+ throw result.error;
229
244
  }
230
245
  this.adminforth.websocket.registerWsClient(new WebSocketClient({
231
246
  id: randomUUID(),
232
- clientId: typeof req.url === 'string' ? new URL(req.url, 'http://localhost').searchParams.get('clientId') || undefined : undefined,
233
- adminUser,
247
+ clientId: url.searchParams.get('clientId') || undefined,
248
+ // user denied by adminUserAuthorize connects as anonymous, same as without auth cookie. Closing the socket
249
+ // instead would make frontend reconnect instantly, over and over
250
+ adminUser: result.status === 'ok' ? result.adminUser : null,
251
+ authorize,
234
252
  send: (data) => ws.send(data),
235
253
  close: () => ws.close(),
236
254
  onMessage: (handler) => ws.on('message', handler),
@@ -1 +1 @@
1
- {"version":3,"file":"express.js","sourceRoot":"","sources":["../../servers/express.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"express.js","sourceRoot":"","sources":["../../servers/express.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,13 @@ const router = createRouter({
10
10
  {
11
11
  path: '/login',
12
12
  name: 'login',
13
+ /* IMPORTANT:ADMINFORTH LOGIN PAGE START */
13
14
  component: () => import('@/views/LoginView.vue'),
14
- meta: {
15
- title: 'Login',
16
- customLayout: true
15
+ meta: {
16
+ title: 'Login',
17
+ customLayout: true
17
18
  },
19
+ /* IMPORTANT:ADMINFORTH LOGIN PAGE END */
18
20
  beforeEnter: (to) => {
19
21
  if (localStorage.getItem('isAuthorized') === 'true') {
20
22
  return to.query.next ? to.query.next.toString() : { name: 'home' };
@@ -1667,6 +1667,16 @@ interface AdminForthInputConfigCustomization {
1667
1667
  panelHeader?: AdminForthComponentDeclaration | Array<AdminForthComponentDeclaration>,
1668
1668
  }
1669
1669
 
1670
+ /**
1671
+ * Custom component which replaces the built-in login page. The route keeps path `/login` and name `login`.
1672
+ * `meta` is merged into the route meta, same as for `customPages`.
1673
+ *
1674
+ * Not recommended for layout or styling changes: prefer CSS customization and `loginPageInjections`,
1675
+ * a replaced page does not receive fixes and new integration points added to the built-in one.
1676
+ * See https://adminforth.dev/docs/tutorial/Customization/pageInjections/#replacing-the-login-page
1677
+ */
1678
+ loginPage?: AdminForthComponentDeclaration,
1679
+
1670
1680
  /**
1671
1681
  * Custom panel components or array of components which will be displayed in different parts of the admin panel.
1672
1682
  */
@@ -2121,7 +2131,7 @@ export interface AdminForthInputConfig {
2121
2131
  }
2122
2132
 
2123
2133
 
2124
- export interface AdminForthConfigCustomization extends Omit<AdminForthInputConfigCustomization, 'loginPageInjections' | 'globalInjections'> {
2134
+ export interface AdminForthConfigCustomization extends Omit<AdminForthInputConfigCustomization, 'loginPage' | 'loginPageInjections' | 'globalInjections'> {
2125
2135
  brandName: string,
2126
2136
 
2127
2137
  dateFormats: string,
@@ -2135,6 +2145,8 @@ export interface AdminForthConfigCustomization extends Omit<AdminForthInputConfi
2135
2145
  showBrandNameInSidebar: boolean,
2136
2146
  customPages: Array<AdminForthPageDeclaration>,
2137
2147
 
2148
+ loginPage?: AdminForthComponentDeclarationFull,
2149
+
2138
2150
  loginPageInjections: {
2139
2151
  underInputs: Array<AdminForthComponentDeclarationFull>,
2140
2152
  underLoginButton: Array<AdminForthComponentDeclarationFull>,
@@ -2688,7 +2700,13 @@ export interface IWebSocketClient {
2688
2700
  lastPing: number;
2689
2701
  topics: Set<string>;
2690
2702
  adminUser: AdminUser;
2691
-
2703
+
2704
+ /**
2705
+ * Authorizes handshake request of this connection again: verifies its auth jwt and runs `adminUserAuthorize` hooks,
2706
+ * so access which was revoked after connection was established is noticed.
2707
+ */
2708
+ authorize: () => Promise<AdminUserAuthorizationResult>;
2709
+
2692
2710
  send: (message: string) => void;
2693
2711
  close: () => void;
2694
2712
  onMessage: (handler: (message: string) => void) => void;
@@ -1571,6 +1571,15 @@ interface AdminForthInputConfigCustomization {
1571
1571
  underLoginButton?: AdminForthComponentDeclaration | Array<AdminForthComponentDeclaration>;
1572
1572
  panelHeader?: AdminForthComponentDeclaration | Array<AdminForthComponentDeclaration>;
1573
1573
  };
1574
+ /**
1575
+ * Custom component which replaces the built-in login page. The route keeps path `/login` and name `login`.
1576
+ * `meta` is merged into the route meta, same as for `customPages`.
1577
+ *
1578
+ * Not recommended for layout or styling changes: prefer CSS customization and `loginPageInjections`,
1579
+ * a replaced page does not receive fixes and new integration points added to the built-in one.
1580
+ * See https://adminforth.dev/docs/tutorial/Customization/pageInjections/#replacing-the-login-page
1581
+ */
1582
+ loginPage?: AdminForthComponentDeclaration;
1574
1583
  /**
1575
1584
  * Custom panel components or array of components which will be displayed in different parts of the admin panel.
1576
1585
  */
@@ -1978,7 +1987,7 @@ export interface AdminForthInputConfig {
1978
1987
  */
1979
1988
  expressErrorCallback?: ExpressErrorCallbackFunction;
1980
1989
  }
1981
- export interface AdminForthConfigCustomization extends Omit<AdminForthInputConfigCustomization, 'loginPageInjections' | 'globalInjections'> {
1990
+ export interface AdminForthConfigCustomization extends Omit<AdminForthInputConfigCustomization, 'loginPage' | 'loginPageInjections' | 'globalInjections'> {
1982
1991
  brandName: string;
1983
1992
  dateFormats: string;
1984
1993
  timeFormat: string;
@@ -1989,6 +1998,7 @@ export interface AdminForthConfigCustomization extends Omit<AdminForthInputConfi
1989
1998
  brandNameSlug: string;
1990
1999
  showBrandNameInSidebar: boolean;
1991
2000
  customPages: Array<AdminForthPageDeclaration>;
2001
+ loginPage?: AdminForthComponentDeclarationFull;
1992
2002
  loginPageInjections: {
1993
2003
  underInputs: Array<AdminForthComponentDeclarationFull>;
1994
2004
  underLoginButton: Array<AdminForthComponentDeclarationFull>;
@@ -2413,6 +2423,11 @@ export interface IWebSocketClient {
2413
2423
  lastPing: number;
2414
2424
  topics: Set<string>;
2415
2425
  adminUser: AdminUser;
2426
+ /**
2427
+ * Authorizes handshake request of this connection again: verifies its auth jwt and runs `adminUserAuthorize` hooks,
2428
+ * so access which was revoked after connection was established is noticed.
2429
+ */
2430
+ authorize: () => Promise<AdminUserAuthorizationResult>;
2416
2431
  send: (message: string) => void;
2417
2432
  close: () => void;
2418
2433
  onMessage: (handler: (message: string) => void) => void;