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.
- package/dist/modules/codeInjector.d.ts.map +1 -1
- package/dist/modules/codeInjector.js +7 -0
- package/dist/modules/codeInjector.js.map +1 -1
- package/dist/modules/configValidator.d.ts.map +1 -1
- package/dist/modules/configValidator.js +3 -2
- package/dist/modules/configValidator.js.map +1 -1
- package/dist/modules/socketBroker.d.ts +6 -1
- package/dist/modules/socketBroker.d.ts.map +1 -1
- package/dist/modules/socketBroker.js +37 -12
- package/dist/modules/socketBroker.js.map +1 -1
- package/dist/servers/common.d.ts +4 -2
- package/dist/servers/common.d.ts.map +1 -1
- package/dist/servers/common.js +2 -1
- package/dist/servers/common.js.map +1 -1
- package/dist/servers/express.d.ts.map +1 -1
- package/dist/servers/express.js +28 -10
- package/dist/servers/express.js.map +1 -1
- package/dist/spa/src/router/index.ts +5 -3
- package/dist/spa/src/types/Back.ts +20 -2
- package/dist/types/Back.d.ts +16 -1
- package/dist/types/Back.d.ts.map +1 -1
- package/dist/types/Back.js.map +1 -1
- package/package.json +1 -1
|
@@ -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;
|
|
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
|
|
24
|
-
for (const client of this.clients) {
|
|
25
|
+
for (const client of this.clients.values()) {
|
|
25
26
|
if (now - client.lastPing > 30000) {
|
|
26
|
-
|
|
27
|
+
client.close();
|
|
28
|
+
this.clients.delete(client.id);
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"socketBroker.js","sourceRoot":"","sources":["../../modules/socketBroker.ts"],"names":[],"mappings":"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"}
|
package/dist/servers/common.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/servers/common.js
CHANGED
|
@@ -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;
|
|
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,
|
|
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"}
|
package/dist/servers/express.js
CHANGED
|
@@ -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
|
-
|
|
222
|
-
|
|
223
|
-
const
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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:
|
|
233
|
-
|
|
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;
|
package/dist/types/Back.d.ts
CHANGED
|
@@ -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;
|