@enbox/dwn-server 0.0.6 → 0.0.8
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/esm/src/admin/admin-api.d.ts +5 -1
- package/dist/esm/src/admin/admin-api.d.ts.map +1 -1
- package/dist/esm/src/admin/admin-api.js +327 -7
- package/dist/esm/src/admin/admin-api.js.map +1 -1
- package/dist/esm/src/admin/admin-auth.d.ts +21 -3
- package/dist/esm/src/admin/admin-auth.d.ts.map +1 -1
- package/dist/esm/src/admin/admin-auth.js +17 -9
- package/dist/esm/src/admin/admin-auth.js.map +1 -1
- package/dist/esm/src/admin/admin-passkey-store.d.ts +68 -0
- package/dist/esm/src/admin/admin-passkey-store.d.ts.map +1 -0
- package/dist/esm/src/admin/admin-passkey-store.js +132 -0
- package/dist/esm/src/admin/admin-passkey-store.js.map +1 -0
- package/dist/esm/src/admin/admin-session.d.ts +35 -0
- package/dist/esm/src/admin/admin-session.d.ts.map +1 -0
- package/dist/esm/src/admin/admin-session.js +91 -0
- package/dist/esm/src/admin/admin-session.js.map +1 -0
- package/dist/esm/src/admin/audit-log.d.ts.map +1 -1
- package/dist/esm/src/admin/audit-log.js +5 -43
- package/dist/esm/src/admin/audit-log.js.map +1 -1
- package/dist/esm/src/admin/index.d.ts +5 -1
- package/dist/esm/src/admin/index.d.ts.map +1 -1
- package/dist/esm/src/admin/index.js +2 -0
- package/dist/esm/src/admin/index.js.map +1 -1
- package/dist/esm/src/admin/types.d.ts +22 -0
- package/dist/esm/src/admin/types.d.ts.map +1 -1
- package/dist/esm/src/admin/webhook-manager.d.ts.map +1 -1
- package/dist/esm/src/admin/webhook-manager.js +11 -10
- package/dist/esm/src/admin/webhook-manager.js.map +1 -1
- package/dist/esm/src/config.d.ts +18 -0
- package/dist/esm/src/config.d.ts.map +1 -1
- package/dist/esm/src/config.js +18 -0
- package/dist/esm/src/config.js.map +1 -1
- package/dist/esm/src/dwn-server.d.ts +20 -1
- package/dist/esm/src/dwn-server.d.ts.map +1 -1
- package/dist/esm/src/dwn-server.js +111 -52
- package/dist/esm/src/dwn-server.js.map +1 -1
- package/dist/esm/src/http-api.d.ts +4 -0
- package/dist/esm/src/http-api.d.ts.map +1 -1
- package/dist/esm/src/http-api.js +14 -4
- package/dist/esm/src/http-api.js.map +1 -1
- package/dist/esm/src/index.d.ts +2 -0
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js +2 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/migrations/001-initial-server-schema.d.ts +21 -0
- package/dist/esm/src/migrations/001-initial-server-schema.d.ts.map +1 -0
- package/dist/esm/src/migrations/001-initial-server-schema.js +97 -0
- package/dist/esm/src/migrations/001-initial-server-schema.js.map +1 -0
- package/dist/esm/src/migrations/index.d.ts +13 -0
- package/dist/esm/src/migrations/index.d.ts.map +1 -0
- package/dist/esm/src/migrations/index.js +5 -0
- package/dist/esm/src/migrations/index.js.map +1 -0
- package/dist/esm/src/registration/registration-store.d.ts +4 -0
- package/dist/esm/src/registration/registration-store.d.ts.map +1 -1
- package/dist/esm/src/registration/registration-store.js +11 -34
- package/dist/esm/src/registration/registration-store.js.map +1 -1
- package/dist/esm/src/server-migration-runner.d.ts +23 -0
- package/dist/esm/src/server-migration-runner.d.ts.map +1 -0
- package/dist/esm/src/server-migration-runner.js +57 -0
- package/dist/esm/src/server-migration-runner.js.map +1 -0
- package/dist/esm/src/storage.d.ts +15 -0
- package/dist/esm/src/storage.d.ts.map +1 -1
- package/dist/esm/src/storage.js +135 -17
- package/dist/esm/src/storage.js.map +1 -1
- package/dist/esm/src/web5-connect/sql-ttl-cache.d.ts +11 -1
- package/dist/esm/src/web5-connect/sql-ttl-cache.d.ts.map +1 -1
- package/dist/esm/src/web5-connect/sql-ttl-cache.js +19 -20
- package/dist/esm/src/web5-connect/sql-ttl-cache.js.map +1 -1
- package/dist/esm/src/web5-connect/web5-connect-server.d.ts +10 -3
- package/dist/esm/src/web5-connect/web5-connect-server.d.ts.map +1 -1
- package/dist/esm/src/web5-connect/web5-connect-server.js +10 -4
- package/dist/esm/src/web5-connect/web5-connect-server.js.map +1 -1
- package/package.json +3 -2
- package/src/admin/admin-api.ts +403 -10
- package/src/admin/admin-auth.ts +38 -9
- package/src/admin/admin-passkey-store.ts +190 -0
- package/src/admin/admin-session.ts +116 -0
- package/src/admin/audit-log.ts +7 -44
- package/src/admin/index.ts +5 -0
- package/src/admin/types.ts +28 -0
- package/src/admin/webhook-manager.ts +12 -10
- package/src/config.ts +21 -0
- package/src/dwn-server.ts +137 -55
- package/src/http-api.ts +20 -5
- package/src/index.ts +2 -0
- package/src/migrations/001-initial-server-schema.ts +114 -0
- package/src/migrations/index.ts +18 -0
- package/src/registration/registration-store.ts +13 -36
- package/src/server-migration-runner.ts +74 -0
- package/src/storage.ts +145 -17
- package/src/web5-connect/sql-ttl-cache.ts +21 -22
- package/src/web5-connect/web5-connect-server.ts +14 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHmac } from 'crypto';
|
|
2
|
-
import { Kysely } from 'kysely';
|
|
3
2
|
import log from 'loglevel';
|
|
4
3
|
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
+
import { Kysely, sql } from 'kysely';
|
|
5
5
|
/**
|
|
6
6
|
* Manages webhook registrations and event delivery.
|
|
7
7
|
*
|
|
@@ -26,16 +26,17 @@ export class WebhookManager {
|
|
|
26
26
|
await manager.#initialize();
|
|
27
27
|
return manager;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Verifies that the required table exists. Throws a clear error directing
|
|
31
|
+
* the caller to run server migrations first.
|
|
32
|
+
*/
|
|
29
33
|
async #initialize() {
|
|
30
|
-
|
|
31
|
-
.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
.addColumn('secret', 'text')
|
|
37
|
-
.addColumn('createdAt', 'text', (col) => col.notNull())
|
|
38
|
-
.execute();
|
|
34
|
+
try {
|
|
35
|
+
await sql `SELECT 1 FROM ${sql.table(WebhookManager.#tableName)} LIMIT 0`.execute(this.#db);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
throw new Error(`WebhookManager: table '${WebhookManager.#tableName}' does not exist. Run server migrations before starting.`);
|
|
39
|
+
}
|
|
39
40
|
}
|
|
40
41
|
// ---------------------------------------------------------------------------
|
|
41
42
|
// CRUD
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-manager.js","sourceRoot":"","sources":["../../../../src/admin/webhook-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"webhook-manager.js","sourceRoot":"","sources":["../../../../src/admin/webhook-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/config.d.ts
CHANGED
|
@@ -92,6 +92,24 @@ export declare const config: {
|
|
|
92
92
|
* the admin store. Defaults to 30 seconds.
|
|
93
93
|
*/
|
|
94
94
|
adminMetricsUpdateIntervalSeconds: number;
|
|
95
|
+
/**
|
|
96
|
+
* WebAuthn Relying Party ID for admin passkey authentication. Typically
|
|
97
|
+
* the hostname of the DWN server (e.g. `dev.aws.dwn.enbox.id`). When not
|
|
98
|
+
* set, the hostname is extracted from `DWN_BASE_URL` at runtime.
|
|
99
|
+
*
|
|
100
|
+
* @see https://github.com/enboxorg/enbox/issues/546
|
|
101
|
+
*/
|
|
102
|
+
adminWebAuthnRpId: string;
|
|
103
|
+
/**
|
|
104
|
+
* Human-readable Relying Party name shown during passkey registration.
|
|
105
|
+
* Defaults to `"DWN Admin"`.
|
|
106
|
+
*/
|
|
107
|
+
adminWebAuthnRpName: string;
|
|
108
|
+
/**
|
|
109
|
+
* Session time-to-live (in seconds) for passkey-authenticated sessions.
|
|
110
|
+
* Defaults to 86400 (24 hours).
|
|
111
|
+
*/
|
|
112
|
+
adminSessionTtlSeconds: number;
|
|
95
113
|
/**
|
|
96
114
|
* Default maximum number of messages a tenant may store. 0 = unlimited (default).
|
|
97
115
|
* Per-tenant overrides are managed via the admin API.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC;AAE5C,eAAO,MAAM,MAAM;IACjB;;OAEG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAEH;;;;;;OAMG;;IAGH;;;;OAIG;;;IAMH;;;OAGG;;;;;;IASH;;;;OAIG;;;;;;;;;;;;;;;;;;IAyBH;;;OAGG;;IAOH;;;OAGG;;IAGH;;;OAGG;;IAOH;;;OAGG;;IAGH;;;OAGG;;IAOH;;;;;OAKG;;IAGH;;;;;OAKG;;IAOH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAOH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;CAEJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC;AAE5C,eAAO,MAAM,MAAM;IACjB;;OAEG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAEH;;;;;;OAMG;;IAGH;;;;OAIG;;;IAMH;;;OAGG;;;;;;IASH;;;;OAIG;;;;;;;;;;;;;;;;;;IAyBH;;;OAGG;;IAOH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAOH;;;OAGG;;IAGH;;;OAGG;;IAOH;;;;;OAKG;;IAGH;;;;;OAKG;;IAOH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAOH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;CAEJ,CAAC"}
|
package/dist/esm/src/config.js
CHANGED
|
@@ -100,6 +100,24 @@ export const config = {
|
|
|
100
100
|
* the admin store. Defaults to 30 seconds.
|
|
101
101
|
*/
|
|
102
102
|
adminMetricsUpdateIntervalSeconds: parseInt(process.env.DWN_ADMIN_METRICS_UPDATE_INTERVAL || '30'),
|
|
103
|
+
/**
|
|
104
|
+
* WebAuthn Relying Party ID for admin passkey authentication. Typically
|
|
105
|
+
* the hostname of the DWN server (e.g. `dev.aws.dwn.enbox.id`). When not
|
|
106
|
+
* set, the hostname is extracted from `DWN_BASE_URL` at runtime.
|
|
107
|
+
*
|
|
108
|
+
* @see https://github.com/enboxorg/enbox/issues/546
|
|
109
|
+
*/
|
|
110
|
+
adminWebAuthnRpId: process.env.DWN_ADMIN_WEBAUTHN_RP_ID || undefined,
|
|
111
|
+
/**
|
|
112
|
+
* Human-readable Relying Party name shown during passkey registration.
|
|
113
|
+
* Defaults to `"DWN Admin"`.
|
|
114
|
+
*/
|
|
115
|
+
adminWebAuthnRpName: process.env.DWN_ADMIN_WEBAUTHN_RP_NAME || 'DWN Admin',
|
|
116
|
+
/**
|
|
117
|
+
* Session time-to-live (in seconds) for passkey-authenticated sessions.
|
|
118
|
+
* Defaults to 86400 (24 hours).
|
|
119
|
+
*/
|
|
120
|
+
adminSessionTtlSeconds: parseInt(process.env.DWN_ADMIN_SESSION_TTL || '86400'),
|
|
103
121
|
// ---------------------------------------------------------------------------
|
|
104
122
|
// Per-tenant storage quotas
|
|
105
123
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import type { ProcessHandlers } from './process-handlers.js';
|
|
|
5
5
|
import type { Server } from 'bun';
|
|
6
6
|
import type { WsData } from './http-api.js';
|
|
7
7
|
import { Dwn } from '@enbox/dwn-sdk-js';
|
|
8
|
+
import { OpenAuthHandler } from './registration/open-auth-handler.js';
|
|
8
9
|
import { RegistrationManager } from './registration/registration-manager.js';
|
|
9
10
|
/**
|
|
10
11
|
* Options for the DwnServer constructor.
|
|
@@ -26,6 +27,22 @@ export type DwnServerOptions = {
|
|
|
26
27
|
* are appended after the DeliveryService hook.
|
|
27
28
|
*/
|
|
28
29
|
messageProcessedHooks?: MessageProcessedHook[];
|
|
30
|
+
/**
|
|
31
|
+
* An externally created RegistrationManager to use as the tenant gate and
|
|
32
|
+
* registration endpoint handler. When a pre-built `dwn` is provided, the
|
|
33
|
+
* server cannot create its own RegistrationManager (because it doesn't
|
|
34
|
+
* control the DWN's TenantGate). Pass one here to enable registration
|
|
35
|
+
* endpoints (`POST /registration`, etc.) with a pre-built DWN.
|
|
36
|
+
*/
|
|
37
|
+
registrationManager?: RegistrationManager;
|
|
38
|
+
/**
|
|
39
|
+
* An externally created OpenAuthHandler for the built-in provider-auth
|
|
40
|
+
* endpoints (`/provider-auth/authorize`, `/provider-auth/token`,
|
|
41
|
+
* `/provider-auth/refresh`). When a pre-built `dwn` is provided, the
|
|
42
|
+
* server skips creating this handler. Pass one here to enable the
|
|
43
|
+
* open-auth flow with a pre-built DWN.
|
|
44
|
+
*/
|
|
45
|
+
openAuthHandler?: OpenAuthHandler;
|
|
29
46
|
};
|
|
30
47
|
/**
|
|
31
48
|
* State of the DwnServer, either Stopped or Started, to help short-circuit start and stop logic.
|
|
@@ -46,7 +63,9 @@ export declare class DwnServer {
|
|
|
46
63
|
dwn?: Dwn;
|
|
47
64
|
config: DwnServerConfig;
|
|
48
65
|
/**
|
|
49
|
-
* @param options.dwn - Dwn instance to use as an override.
|
|
66
|
+
* @param options.dwn - Dwn instance to use as an override.
|
|
67
|
+
* @param options.registrationManager - External RegistrationManager to use with a pre-built DWN.
|
|
68
|
+
* @param options.openAuthHandler - External OpenAuthHandler to use with a pre-built DWN.
|
|
50
69
|
*/
|
|
51
70
|
constructor(options?: DwnServerOptions);
|
|
52
71
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dwn-server.d.ts","sourceRoot":"","sources":["../../../src/dwn-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAElC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,GAAG,EAAwB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dwn-server.d.ts","sourceRoot":"","sources":["../../../src/dwn-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAElC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,GAAG,EAAwB,MAAM,mBAAmB,CAAC;AAe9D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAGtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAM7E;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAE/C;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,aAAK,cAAc;IACjB,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,qBAAa,SAAS;;IACpB,WAAW,iBAA0B;IACrC,eAAe,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,eAAe,CAAC;IAaxB;;;;OAIG;gBACS,OAAO,GAAE,gBAAqB;IAe1C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6R5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4C3B,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,CAE/B;IAED;;OAEG;IACH,IAAI,mBAAmB,IAAI,mBAAmB,CAE7C;CACF"}
|
|
@@ -4,6 +4,8 @@ import { DidDht, DidJwk, DidKey, DidResolverCacheMemory, DidWeb, UniversalResolv
|
|
|
4
4
|
import { Dwn, EventEmitterEventLog } from '@enbox/dwn-sdk-js';
|
|
5
5
|
import { ActivityLog } from './admin/activity-log.js';
|
|
6
6
|
import { AdminApi } from './admin/admin-api.js';
|
|
7
|
+
import { AdminPasskeyStore } from './admin/admin-passkey-store.js';
|
|
8
|
+
import { AdminSessionManager } from './admin/admin-session.js';
|
|
7
9
|
import { AdminStore } from './admin/admin-store.js';
|
|
8
10
|
import { AuditLog } from './admin/audit-log.js';
|
|
9
11
|
import { config as defaultConfig } from './config.js';
|
|
@@ -17,7 +19,7 @@ import { RateLimiter } from './rate-limiter.js';
|
|
|
17
19
|
import { RegistrationManager } from './registration/registration-manager.js';
|
|
18
20
|
import { WebhookManager } from './admin/webhook-manager.js';
|
|
19
21
|
import { WsApi } from './ws-api.js';
|
|
20
|
-
import { getDialectFromUrl, getDwnConfig } from './storage.js';
|
|
22
|
+
import { getDialectFromUrl, getDwnConfig, runServerMigrationsIfNeeded } from './storage.js';
|
|
21
23
|
import { removeProcessHandlers, setProcessHandlers } from './process-handlers.js';
|
|
22
24
|
/**
|
|
23
25
|
* State of the DwnServer, either Stopped or Started, to help short-circuit start and stop logic.
|
|
@@ -43,15 +45,23 @@ export class DwnServer {
|
|
|
43
45
|
#ipRateLimiter;
|
|
44
46
|
#tenantRateLimiter;
|
|
45
47
|
#auditLog;
|
|
48
|
+
#passkeyStore;
|
|
49
|
+
#sessionManager;
|
|
46
50
|
#externalHooks;
|
|
51
|
+
#externalRegistrationManager;
|
|
52
|
+
#externalOpenAuthHandler;
|
|
47
53
|
/**
|
|
48
|
-
* @param options.dwn - Dwn instance to use as an override.
|
|
54
|
+
* @param options.dwn - Dwn instance to use as an override.
|
|
55
|
+
* @param options.registrationManager - External RegistrationManager to use with a pre-built DWN.
|
|
56
|
+
* @param options.openAuthHandler - External OpenAuthHandler to use with a pre-built DWN.
|
|
49
57
|
*/
|
|
50
58
|
constructor(options = {}) {
|
|
51
59
|
this.config = options.config ?? defaultConfig;
|
|
52
60
|
this.didResolver = options.didResolver;
|
|
53
61
|
this.dwn = options.dwn;
|
|
54
62
|
this.#externalHooks = options.messageProcessedHooks ?? [];
|
|
63
|
+
this.#externalRegistrationManager = options.registrationManager;
|
|
64
|
+
this.#externalOpenAuthHandler = options.openAuthHandler;
|
|
55
65
|
log.setLevel(this.config.logLevel);
|
|
56
66
|
prefix.reg(log);
|
|
57
67
|
prefix.apply(log);
|
|
@@ -72,46 +82,16 @@ export class DwnServer {
|
|
|
72
82
|
* The DWN creation is secondary and only happens if it hasn't already been done.
|
|
73
83
|
*/
|
|
74
84
|
async #setupServer() {
|
|
85
|
+
// Run server migrations (admin stores, registration, TTL cache) FIRST,
|
|
86
|
+
// before creating any stores that depend on the server schema. The
|
|
87
|
+
// returned dialect is reused for the TTL cache and admin stores so that
|
|
88
|
+
// in-memory SQLite shares a single database instance across migrations
|
|
89
|
+
// and stores.
|
|
90
|
+
const serverDialect = await runServerMigrationsIfNeeded(this.config);
|
|
75
91
|
let registrationManager;
|
|
76
92
|
if (!this.dwn) {
|
|
77
|
-
//
|
|
78
|
-
|
|
79
|
-
if (this.config.providerAuthEnabled) {
|
|
80
|
-
if (this.config.providerAuthPluginPath) {
|
|
81
|
-
// Custom external plugin.
|
|
82
|
-
providerAuthPlugin = await loadProviderAuthPlugin(this.config.providerAuthPluginPath);
|
|
83
|
-
log.info('Provider auth plugin loaded from path');
|
|
84
|
-
}
|
|
85
|
-
else if (this.config.providerAuthJwtSecret || this.config.providerAuthJwtJwksUrl) {
|
|
86
|
-
// Built-in JWT plugin.
|
|
87
|
-
providerAuthPlugin = await JwtProviderAuthPlugin.create({
|
|
88
|
-
secret: this.config.providerAuthJwtSecret,
|
|
89
|
-
jwksUrl: this.config.providerAuthJwtJwksUrl,
|
|
90
|
-
issuer: this.config.baseUrl,
|
|
91
|
-
audience: this.config.baseUrl,
|
|
92
|
-
});
|
|
93
|
-
log.info('Built-in JWT provider auth plugin created');
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
// undefined registrationStoreUrl is used as a signal that there is no need for tenant registration, DWN is open for all.
|
|
97
|
-
registrationManager = await RegistrationManager.create({
|
|
98
|
-
registrationStoreUrl: this.config.registrationStoreUrl,
|
|
99
|
-
termsOfServiceFilePath: this.config.termsOfServiceFilePath,
|
|
100
|
-
proofOfWorkChallengeNonceSeed: this.config.registrationProofOfWorkSeed,
|
|
101
|
-
proofOfWorkInitialMaximumAllowedHash: this.config.registrationProofOfWorkInitialMaxHash,
|
|
102
|
-
providerAuthPlugin,
|
|
103
|
-
});
|
|
104
|
-
// Warn if the tenant gate is active but no registration method is enabled.
|
|
105
|
-
// This is almost certainly a misconfiguration — new tenants will be rejected
|
|
106
|
-
// with 401 and have no way to register.
|
|
107
|
-
if (this.config.registrationStoreUrl
|
|
108
|
-
&& !this.config.registrationProofOfWorkEnabled
|
|
109
|
-
&& !providerAuthPlugin) {
|
|
110
|
-
log.warn('*** WARNING: DWN_REGISTRATION_STORE_URL is set (tenant gate active) but neither ' +
|
|
111
|
-
'proof-of-work (DWN_REGISTRATION_PROOF_OF_WORK_ENABLED) nor provider auth ' +
|
|
112
|
-
'(DWN_PROVIDER_AUTH_ENABLED + secret/plugin) is configured. ' +
|
|
113
|
-
'New tenants will be unable to register. ***');
|
|
114
|
-
}
|
|
93
|
+
// No pre-built DWN — create everything from scratch including registration.
|
|
94
|
+
registrationManager = await this.#createRegistrationManager();
|
|
115
95
|
let eventLog;
|
|
116
96
|
if (this.config.webSocketSupport) {
|
|
117
97
|
// If EventLog plugin is not specified, use `EventEmitterEventLog` implementation as default.
|
|
@@ -137,6 +117,12 @@ export class DwnServer {
|
|
|
137
117
|
});
|
|
138
118
|
this.dwn = await Dwn.create(dwnConfig);
|
|
139
119
|
}
|
|
120
|
+
else if (this.#externalRegistrationManager) {
|
|
121
|
+
// Pre-built DWN with an externally-provided RegistrationManager.
|
|
122
|
+
// The caller is responsible for passing this RegistrationManager as the
|
|
123
|
+
// TenantGate when creating the DWN instance.
|
|
124
|
+
registrationManager = this.#externalRegistrationManager;
|
|
125
|
+
}
|
|
140
126
|
// Assemble message-processed hooks.
|
|
141
127
|
const messageProcessedHooks = [];
|
|
142
128
|
// Add the built-in DeliveryService hook when forwarding or delivery is enabled.
|
|
@@ -174,16 +160,20 @@ export class DwnServer {
|
|
|
174
160
|
let adminStore;
|
|
175
161
|
let auditLog;
|
|
176
162
|
let webhookManager;
|
|
163
|
+
let passkeyStore;
|
|
164
|
+
let sessionManager;
|
|
177
165
|
if (this.config.adminToken) {
|
|
178
166
|
const storageUrl = this.config.messageStore;
|
|
179
167
|
adminStore = AdminStore.create(storageUrl);
|
|
180
168
|
activityLog = new ActivityLog(this.config.adminActivityLogCapacity);
|
|
181
|
-
//
|
|
182
|
-
//
|
|
169
|
+
// Reuse the dialect returned by server migrations when available — this
|
|
170
|
+
// is critical for in-memory SQLite where every `getDialectFromUrl` call
|
|
171
|
+
// creates a separate database. For Postgres, `serverDialect` points at
|
|
172
|
+
// the same shared pool, so reusing it also avoids pool proliferation.
|
|
183
173
|
if (this.config.registrationStoreUrl) {
|
|
174
|
+
const adminDialect = serverDialect ?? getDialectFromUrl(new URL(this.config.registrationStoreUrl));
|
|
184
175
|
try {
|
|
185
|
-
|
|
186
|
-
auditLog = await AuditLog.create(auditDialect, {
|
|
176
|
+
auditLog = await AuditLog.create(adminDialect, {
|
|
187
177
|
maxAgeDays: this.config.auditLogMaxAgeDays,
|
|
188
178
|
maxRows: this.config.auditLogMaxRows,
|
|
189
179
|
});
|
|
@@ -191,16 +181,22 @@ export class DwnServer {
|
|
|
191
181
|
catch (err) {
|
|
192
182
|
log.warn('Failed to create audit log:', err);
|
|
193
183
|
}
|
|
194
|
-
}
|
|
195
|
-
// Create webhook manager using the same dialect as the audit log.
|
|
196
|
-
if (this.config.registrationStoreUrl) {
|
|
197
184
|
try {
|
|
198
|
-
|
|
199
|
-
webhookManager = await WebhookManager.create(webhookDialect);
|
|
185
|
+
webhookManager = await WebhookManager.create(adminDialect);
|
|
200
186
|
}
|
|
201
187
|
catch (err) {
|
|
202
188
|
log.warn('Failed to create webhook manager:', err);
|
|
203
189
|
}
|
|
190
|
+
// Create passkey store and session manager for WebAuthn admin auth.
|
|
191
|
+
// @see https://github.com/enboxorg/enbox/issues/546
|
|
192
|
+
try {
|
|
193
|
+
passkeyStore = await AdminPasskeyStore.create(adminDialect);
|
|
194
|
+
sessionManager = new AdminSessionManager(this.config.adminSessionTtlSeconds);
|
|
195
|
+
log.info('Admin passkey authentication enabled');
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
log.warn('Failed to create passkey store:', err);
|
|
199
|
+
}
|
|
204
200
|
}
|
|
205
201
|
adminApi = AdminApi.create({
|
|
206
202
|
config: this.config,
|
|
@@ -213,6 +209,8 @@ export class DwnServer {
|
|
|
213
209
|
ipRateLimiter,
|
|
214
210
|
tenantRateLimiter,
|
|
215
211
|
webhookManager,
|
|
212
|
+
passkeyStore,
|
|
213
|
+
sessionManager,
|
|
216
214
|
});
|
|
217
215
|
// Record server start event in audit log.
|
|
218
216
|
if (auditLog) {
|
|
@@ -225,12 +223,17 @@ export class DwnServer {
|
|
|
225
223
|
this.#ipRateLimiter = ipRateLimiter;
|
|
226
224
|
this.#tenantRateLimiter = tenantRateLimiter;
|
|
227
225
|
this.#auditLog = auditLog;
|
|
226
|
+
this.#passkeyStore = passkeyStore;
|
|
227
|
+
this.#sessionManager = sessionManager;
|
|
228
228
|
// Create open-auth handler if provider auth is enabled with a JWT secret
|
|
229
229
|
// and authorize/token URLs point to this server (or are not set — defaulting to built-in).
|
|
230
|
-
|
|
231
|
-
|
|
230
|
+
// An externally-provided handler (e.g. from the relay) takes precedence.
|
|
231
|
+
let openAuthHandler = this.#externalOpenAuthHandler;
|
|
232
|
+
if (!openAuthHandler && this.config.providerAuthEnabled && this.config.providerAuthJwtSecret && !this.config.providerAuthPluginPath) {
|
|
232
233
|
openAuthHandler = OpenAuthHandler.create(this.config.providerAuthJwtSecret, this.config.baseUrl);
|
|
233
234
|
log.info('Built-in open-auth endpoints enabled');
|
|
235
|
+
}
|
|
236
|
+
if (openAuthHandler) {
|
|
234
237
|
// Auto-configure authorize/token/refresh URLs if not explicitly set.
|
|
235
238
|
if (!this.config.providerAuthAuthorizeUrl) {
|
|
236
239
|
this.config.providerAuthAuthorizeUrl = `${this.config.baseUrl}/provider-auth/authorize`;
|
|
@@ -242,7 +245,11 @@ export class DwnServer {
|
|
|
242
245
|
this.config.providerAuthRefreshUrl = `${this.config.baseUrl}/provider-auth/refresh`;
|
|
243
246
|
}
|
|
244
247
|
}
|
|
245
|
-
this.#httpApi = await HttpApi.create(this.config, this.dwn, registrationManager, adminApi, activityLog, {
|
|
248
|
+
this.#httpApi = await HttpApi.create(this.config, this.dwn, registrationManager, adminApi, activityLog, {
|
|
249
|
+
adminStore, registrationStore, ipRateLimiter, tenantRateLimiter,
|
|
250
|
+
messageProcessedHooks, openAuthHandler, sessionManager,
|
|
251
|
+
ttlCacheDialect: serverDialect,
|
|
252
|
+
});
|
|
246
253
|
await this.#httpApi.start(this.config.port);
|
|
247
254
|
log.info(`HttpServer listening on port ${this.config.port}`);
|
|
248
255
|
if (this.config.webSocketSupport) {
|
|
@@ -259,6 +266,51 @@ export class DwnServer {
|
|
|
259
266
|
adminApi.startMetricsUpdater();
|
|
260
267
|
}
|
|
261
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Creates a RegistrationManager based on the server config. Factored out of
|
|
271
|
+
* `#setupServer()` so the same logic can be reused regardless of whether the
|
|
272
|
+
* DWN is created internally or externally.
|
|
273
|
+
*/
|
|
274
|
+
async #createRegistrationManager() {
|
|
275
|
+
// Load provider auth plugin if configured.
|
|
276
|
+
let providerAuthPlugin;
|
|
277
|
+
if (this.config.providerAuthEnabled) {
|
|
278
|
+
if (this.config.providerAuthPluginPath) {
|
|
279
|
+
// Custom external plugin.
|
|
280
|
+
providerAuthPlugin = await loadProviderAuthPlugin(this.config.providerAuthPluginPath);
|
|
281
|
+
log.info('Provider auth plugin loaded from path');
|
|
282
|
+
}
|
|
283
|
+
else if (this.config.providerAuthJwtSecret || this.config.providerAuthJwtJwksUrl) {
|
|
284
|
+
// Built-in JWT plugin.
|
|
285
|
+
providerAuthPlugin = await JwtProviderAuthPlugin.create({
|
|
286
|
+
secret: this.config.providerAuthJwtSecret,
|
|
287
|
+
jwksUrl: this.config.providerAuthJwtJwksUrl,
|
|
288
|
+
issuer: this.config.baseUrl,
|
|
289
|
+
audience: this.config.baseUrl,
|
|
290
|
+
});
|
|
291
|
+
log.info('Built-in JWT provider auth plugin created');
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
// undefined registrationStoreUrl is used as a signal that there is no need
|
|
295
|
+
// for tenant registration, DWN is open for all.
|
|
296
|
+
const registrationManager = await RegistrationManager.create({
|
|
297
|
+
registrationStoreUrl: this.config.registrationStoreUrl,
|
|
298
|
+
termsOfServiceFilePath: this.config.termsOfServiceFilePath,
|
|
299
|
+
proofOfWorkChallengeNonceSeed: this.config.registrationProofOfWorkSeed,
|
|
300
|
+
proofOfWorkInitialMaximumAllowedHash: this.config.registrationProofOfWorkInitialMaxHash,
|
|
301
|
+
providerAuthPlugin,
|
|
302
|
+
});
|
|
303
|
+
// Warn if the tenant gate is active but no registration method is enabled.
|
|
304
|
+
if (this.config.registrationStoreUrl
|
|
305
|
+
&& !this.config.registrationProofOfWorkEnabled
|
|
306
|
+
&& !providerAuthPlugin) {
|
|
307
|
+
log.warn('*** WARNING: DWN_REGISTRATION_STORE_URL is set (tenant gate active) but neither ' +
|
|
308
|
+
'proof-of-work (DWN_REGISTRATION_PROOF_OF_WORK_ENABLED) nor provider auth ' +
|
|
309
|
+
'(DWN_PROVIDER_AUTH_ENABLED + secret/plugin) is configured. ' +
|
|
310
|
+
'New tenants will be unable to register. ***');
|
|
311
|
+
}
|
|
312
|
+
return registrationManager;
|
|
313
|
+
}
|
|
262
314
|
/**
|
|
263
315
|
* Stops the DWN server.
|
|
264
316
|
*/
|
|
@@ -274,6 +326,13 @@ export class DwnServer {
|
|
|
274
326
|
await this.#auditLog.record({ actor: 'system', action: 'server.stop' });
|
|
275
327
|
await this.#auditLog.close();
|
|
276
328
|
}
|
|
329
|
+
// Clean up passkey store and session manager.
|
|
330
|
+
if (this.#passkeyStore) {
|
|
331
|
+
await this.#passkeyStore.close();
|
|
332
|
+
}
|
|
333
|
+
if (this.#sessionManager) {
|
|
334
|
+
this.#sessionManager.destroy();
|
|
335
|
+
}
|
|
277
336
|
// Clean up rate limiters (stops their interval timers).
|
|
278
337
|
if (this.#ipRateLimiter) {
|
|
279
338
|
this.#ipRateLimiter.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dwn-server.js","sourceRoot":"","sources":["../../../src/dwn-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dwn-server.js","sourceRoot":"","sources":["../../../src/dwn-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { Server, ServerWebSocket } from 'bun';
|
|
2
|
+
import type { Dialect } from '@enbox/dwn-sql-store';
|
|
2
3
|
import type { ActivityLog } from './admin/activity-log.js';
|
|
3
4
|
import type { AdminApi } from './admin/admin-api.js';
|
|
5
|
+
import type { AdminSessionManager } from './admin/admin-session.js';
|
|
4
6
|
import type { AdminStore } from './admin/admin-store.js';
|
|
5
7
|
import type { DwnServerConfig } from './config.js';
|
|
6
8
|
import type { MessageProcessedHook } from './message-processed-hook.js';
|
|
@@ -30,6 +32,8 @@ export declare class HttpApi {
|
|
|
30
32
|
tenantRateLimiter?: RateLimiter;
|
|
31
33
|
messageProcessedHooks?: MessageProcessedHook[];
|
|
32
34
|
openAuthHandler?: OpenAuthHandler;
|
|
35
|
+
sessionManager?: AdminSessionManager;
|
|
36
|
+
ttlCacheDialect?: Dialect;
|
|
33
37
|
}): Promise<HttpApi>;
|
|
34
38
|
get server(): Server<WsData>;
|
|
35
39
|
get ipRateLimiter(): RateLimiter | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-api.d.ts","sourceRoot":"","sources":["../../../src/http-api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAQ1E,OAAO,EAAwB,KAAK,GAAG,EAA6C,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-api.d.ts","sourceRoot":"","sources":["../../../src/http-api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAQ1E,OAAO,EAAwB,KAAK,GAAG,EAA6C,MAAM,mBAAmB,CAAC;AAQ9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAgB1E,yDAAyD;AACzD,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,qBAAa,OAAO;;IAclB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,GAAG,EAAE,GAAG,CAAC;IAET,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAE9D,OAAO;WAEa,MAAM,CACxB,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,EAC5E,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,EAC9C,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAG,UAAU,CAAC;QACzB,iBAAiB,CAAC,EAAG,iBAAiB,CAAC;QACvC,aAAa,CAAC,EAAG,WAAW,CAAC;QAC7B,iBAAiB,CAAC,EAAG,WAAW,CAAC;QACjC,qBAAqB,CAAC,EAAG,oBAAoB,EAAE,CAAC;QAChD,eAAe,CAAC,EAAG,eAAe,CAAC;QACnC,cAAc,CAAC,EAAG,mBAAmB,CAAC;QACtC,eAAe,CAAC,EAAG,OAAO,CAAC;KAC5B,GACA,OAAO,CAAC,OAAO,CAAC;IAuDnB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAE3B;IAED,IAAI,aAAa,IAAI,WAAW,GAAG,SAAS,CAE3C;IAED,IAAI,iBAAiB,IAAI,WAAW,GAAG,SAAS,CAE/C;IAED,IAAI,qBAAqB,IAAI,oBAAoB,EAAE,CAElD;IAMK,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqGlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA8nB7B"}
|
package/dist/esm/src/http-api.js
CHANGED
|
@@ -7,6 +7,7 @@ import { DataStream, DateSort, ProtocolsQuery, RecordsQuery, RecordsRead } from
|
|
|
7
7
|
import { existsSync, readFileSync } from 'fs';
|
|
8
8
|
import { join, resolve } from 'path';
|
|
9
9
|
import { config } from './config.js';
|
|
10
|
+
import { getDialectFromUrl } from './storage.js';
|
|
10
11
|
import { jsonRpcRouter } from './json-rpc-api.js';
|
|
11
12
|
import { validateAdminAuth } from './admin/admin-auth.js';
|
|
12
13
|
import { Web5ConnectServer } from './web5-connect/web5-connect-server.js';
|
|
@@ -35,6 +36,7 @@ export class HttpApi {
|
|
|
35
36
|
#tenantRateLimiter;
|
|
36
37
|
#messageProcessedHooks;
|
|
37
38
|
#openAuthHandler;
|
|
39
|
+
#sessionManager;
|
|
38
40
|
#adminUiPath;
|
|
39
41
|
web5ConnectServer;
|
|
40
42
|
registrationManager;
|
|
@@ -75,13 +77,18 @@ export class HttpApi {
|
|
|
75
77
|
httpApi.#tenantRateLimiter = options?.tenantRateLimiter;
|
|
76
78
|
httpApi.#messageProcessedHooks = options?.messageProcessedHooks ?? [];
|
|
77
79
|
httpApi.#openAuthHandler = options?.openAuthHandler;
|
|
80
|
+
httpApi.#sessionManager = options?.sessionManager;
|
|
78
81
|
httpApi.#adminUiPath = resolvedAdminUiPath;
|
|
79
82
|
if (registrationManager !== undefined) {
|
|
80
83
|
httpApi.registrationManager = registrationManager;
|
|
81
84
|
}
|
|
85
|
+
// Use an externally provided dialect when available (required for
|
|
86
|
+
// in-memory SQLite so that migrations and the TTL cache share the same
|
|
87
|
+
// database instance). Falls back to creating a dialect from the URL.
|
|
88
|
+
const ttlDialect = options?.ttlCacheDialect ?? getDialectFromUrl(new URL(config.ttlCacheUrl));
|
|
82
89
|
httpApi.web5ConnectServer = await Web5ConnectServer.create({
|
|
83
90
|
baseUrl: config.baseUrl,
|
|
84
|
-
|
|
91
|
+
sqlDialect: ttlDialect,
|
|
85
92
|
});
|
|
86
93
|
return httpApi;
|
|
87
94
|
}
|
|
@@ -193,6 +200,9 @@ export class HttpApi {
|
|
|
193
200
|
if (this.#openAuthHandler) {
|
|
194
201
|
this.#openAuthHandler.destroy();
|
|
195
202
|
}
|
|
203
|
+
if (this.web5ConnectServer) {
|
|
204
|
+
this.web5ConnectServer.close();
|
|
205
|
+
}
|
|
196
206
|
if (this.#server) {
|
|
197
207
|
this.#server.stop(true); // close all connections immediately
|
|
198
208
|
}
|
|
@@ -246,9 +256,9 @@ export class HttpApi {
|
|
|
246
256
|
if (method === 'GET' && path === '/metrics') {
|
|
247
257
|
// Metrics require admin authentication when an admin token is configured.
|
|
248
258
|
if (this.#config.adminToken) {
|
|
249
|
-
const
|
|
250
|
-
if (
|
|
251
|
-
return
|
|
259
|
+
const authResult = validateAdminAuth(req, this.#config, this.#sessionManager);
|
|
260
|
+
if (authResult.error) {
|
|
261
|
+
return authResult.error;
|
|
252
262
|
}
|
|
253
263
|
}
|
|
254
264
|
try {
|