@betterportal/config-manager 0.0.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/README.md +3 -0
- package/bsb-plugin.json +23 -0
- package/bsb-tests.json +14 -0
- package/lib/.bsb/clients/service-betterportal-config-manager.d.ts +37 -0
- package/lib/.bsb/clients/service-betterportal-config-manager.d.ts.map +1 -0
- package/lib/.bsb/clients/service-betterportal-config-manager.js +40 -0
- package/lib/.bsb/clients/service-betterportal-config-manager.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts +3 -0
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.js +235 -0
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/adminApi.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/adminApi.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/adminApi.js +2319 -0
- package/lib/plugins/service-betterportal-config-manager/adminApi.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.d.ts +21 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.js +269 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapWizardHtml.d.ts +19 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapWizardHtml.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapWizardHtml.js +329 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapWizardHtml.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_theme.bootstrap1/index.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_theme.bootstrap1/index.js +38 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.d.ts +96 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.js +78 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.bootstrap1/index.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.bootstrap1/index.js +62 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.embedded.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.embedded.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.embedded.js +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.embedded.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.d.ts +43 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.js +68 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/_theme.bootstrap1/index.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/_theme.bootstrap1/index.js +11 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.d.ts +32 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.js +32 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/_theme.bootstrap1/index.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/_theme.bootstrap1/index.js +170 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.d.ts +60 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.js +48 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/_theme.bootstrap1/index.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/_theme.bootstrap1/index.js +28 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.d.ts +48 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.js +40 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_theme.bootstrap1/index.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_theme.bootstrap1/index.js +194 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.d.ts +80 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.js +59 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_theme.bootstrap1/index.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_theme.bootstrap1/index.js +167 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.d.ts +128 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.js +89 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/_theme.bootstrap1/index.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/_theme.bootstrap1/index.js +8 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.d.ts +89 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.js +93 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.js +61 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.d.ts +180 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.js +405 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.d.ts +26 -0
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.js +58 -0
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.d.ts +3 -0
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.js +365 -0
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/index.d.ts +143 -0
- package/lib/plugins/service-betterportal-config-manager/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/index.js +696 -0
- package/lib/plugins/service-betterportal-config-manager/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/menuEditor.d.ts +3 -0
- package/lib/plugins/service-betterportal-config-manager/menuEditor.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/menuEditor.js +823 -0
- package/lib/plugins/service-betterportal-config-manager/menuEditor.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/routeContext.d.ts +10 -0
- package/lib/plugins/service-betterportal-config-manager/routeContext.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/routeContext.js +11 -0
- package/lib/plugins/service-betterportal-config-manager/routeContext.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/setupTokens.d.ts +18 -0
- package/lib/plugins/service-betterportal-config-manager/setupTokens.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/setupTokens.js +245 -0
- package/lib/plugins/service-betterportal-config-manager/setupTokens.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/core.d.ts +41 -0
- package/lib/plugins/service-betterportal-config-manager/storage/core.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/core.js +396 -0
- package/lib/plugins/service-betterportal-config-manager/storage/core.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/file.d.ts +10 -0
- package/lib/plugins/service-betterportal-config-manager/storage/file.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/file.js +30 -0
- package/lib/plugins/service-betterportal-config-manager/storage/file.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/index.d.ts +36 -0
- package/lib/plugins/service-betterportal-config-manager/storage/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/index.js +52 -0
- package/lib/plugins/service-betterportal-config-manager/storage/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.d.ts +15 -0
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.js +60 -0
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/syncApi.d.ts +44 -0
- package/lib/plugins/service-betterportal-config-manager/syncApi.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/syncApi.js +280 -0
- package/lib/plugins/service-betterportal-config-manager/syncApi.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/webhooks.d.ts +6 -0
- package/lib/plugins/service-betterportal-config-manager/webhooks.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/webhooks.js +372 -0
- package/lib/plugins/service-betterportal-config-manager/webhooks.js.map +1 -0
- package/lib/schemas/service-betterportal-config-manager.json +157 -0
- package/lib/schemas/service-betterportal-config-manager.plugin.json +135 -0
- package/package.json +69 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menuEditor.js","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/menuEditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PlatformConfigStore } from "@betterportal/framework";
|
|
2
|
+
import type { CpBootstrapState } from "./cpBootstrap.js";
|
|
3
|
+
export interface ConfigManagerRouteContext {
|
|
4
|
+
storage: PlatformConfigStore;
|
|
5
|
+
cpState: CpBootstrapState;
|
|
6
|
+
serviceBaseUrl: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function setConfigManagerRouteContext(context: ConfigManagerRouteContext): void;
|
|
9
|
+
export declare function getConfigManagerRouteContext(): ConfigManagerRouteContext;
|
|
10
|
+
//# sourceMappingURL=routeContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routeContext.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/routeContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB;AAID,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAErF;AAED,wBAAgB,4BAA4B,IAAI,yBAAyB,CAKxE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
let routeContext;
|
|
2
|
+
export function setConfigManagerRouteContext(context) {
|
|
3
|
+
routeContext = context;
|
|
4
|
+
}
|
|
5
|
+
export function getConfigManagerRouteContext() {
|
|
6
|
+
if (!routeContext) {
|
|
7
|
+
throw new Error("Config manager route context is not initialized");
|
|
8
|
+
}
|
|
9
|
+
return routeContext;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=routeContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routeContext.js","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/routeContext.ts"],"names":[],"mappings":"AASA,IAAI,YAAmD,CAAC;AAExD,MAAM,UAAU,4BAA4B,CAAC,OAAkC;IAC7E,YAAY,GAAG,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type BetterPortalH3App } from "@betterportal/framework/lib/runtime/h3.js";
|
|
2
|
+
import type { PlatformConfigStore } from "@betterportal/framework";
|
|
3
|
+
import type { CpBootstrapState } from "./cpBootstrap.js";
|
|
4
|
+
/**
|
|
5
|
+
* Register the two CM endpoints that drive the browser-mediated install:
|
|
6
|
+
* 1. POST /.well-known/bp/admin/services/begin-install
|
|
7
|
+
* -> admin UI requests a setup token bound to (serviceUrl, scope?)
|
|
8
|
+
* -> returns { setupToken, cpUrl, cpJwksUri }
|
|
9
|
+
* 2. POST /.well-known/bp/services/redeem
|
|
10
|
+
* -> service exchanges single-use setupToken for the real apiKey
|
|
11
|
+
* -> returns { apiKey, cpId, cpJwksUri }
|
|
12
|
+
*/
|
|
13
|
+
export declare function registerSetupEndpoints(input: {
|
|
14
|
+
app: BetterPortalH3App;
|
|
15
|
+
storage: PlatformConfigStore;
|
|
16
|
+
cpState: CpBootstrapState;
|
|
17
|
+
}): void;
|
|
18
|
+
//# sourceMappingURL=setupTokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupTokens.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/setupTokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAEzH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAczD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,GAAG,EAAE,iBAAiB,CAAC;IACvB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,OAAO,EAAE,gBAAgB,CAAC;CAC3B,GAAG,IAAI,CAiIP"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { randomBytes } from "node:crypto";
|
|
2
|
+
import { jsonResponse } from "@betterportal/framework/lib/runtime/h3.js";
|
|
3
|
+
import { uuidv7 } from "@betterportal/framework/lib/runtime/uuid.js";
|
|
4
|
+
import { signSetupToken } from "@betterportal/framework";
|
|
5
|
+
const SETUP_TTL_SECONDS = 5 * 60;
|
|
6
|
+
/**
|
|
7
|
+
* Register the two CM endpoints that drive the browser-mediated install:
|
|
8
|
+
* 1. POST /.well-known/bp/admin/services/begin-install
|
|
9
|
+
* -> admin UI requests a setup token bound to (serviceUrl, scope?)
|
|
10
|
+
* -> returns { setupToken, cpUrl, cpJwksUri }
|
|
11
|
+
* 2. POST /.well-known/bp/services/redeem
|
|
12
|
+
* -> service exchanges single-use setupToken for the real apiKey
|
|
13
|
+
* -> returns { apiKey, cpId, cpJwksUri }
|
|
14
|
+
*/
|
|
15
|
+
export function registerSetupEndpoints(input) {
|
|
16
|
+
const pending = new Map();
|
|
17
|
+
function sweep() {
|
|
18
|
+
const now = Date.now();
|
|
19
|
+
for (const [jti, entry] of pending.entries()) {
|
|
20
|
+
if (entry.expiresAt < now)
|
|
21
|
+
pending.delete(jti);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// (1) Admin asks CP to mint a setup token for a target serviceUrl.
|
|
25
|
+
// Optional instanceId - if the caller pre-assigned a UUIDv7 (e.g. bootstrap
|
|
26
|
+
// commit allocates ids to embed in routes/fragments before install), use it;
|
|
27
|
+
// otherwise mint one here.
|
|
28
|
+
input.app.post("/.well-known/bp/admin/services/begin-install", async (event) => {
|
|
29
|
+
sweep();
|
|
30
|
+
const body = await event.req.json().catch(() => null);
|
|
31
|
+
if (!body || typeof body.serviceUrl !== "string" || body.serviceUrl.length === 0) {
|
|
32
|
+
return jsonResponse({ error: "Missing serviceUrl" }, 400);
|
|
33
|
+
}
|
|
34
|
+
const serviceUrl = body.serviceUrl.replace(/\/+$/, "");
|
|
35
|
+
const tenantScope = body.tenantId ? { tenantId: body.tenantId, appId: body.appId } : undefined;
|
|
36
|
+
const sharedServiceId = typeof body.sharedServiceId === "string" && body.sharedServiceId.length > 0
|
|
37
|
+
? body.sharedServiceId
|
|
38
|
+
: undefined;
|
|
39
|
+
const instanceId = (typeof body.instanceId === "string" && body.instanceId.length > 0)
|
|
40
|
+
? body.instanceId : uuidv7();
|
|
41
|
+
const setupToken = signSetupToken({
|
|
42
|
+
privateKeyPem: input.cpState.keyPair.privateKeyPem,
|
|
43
|
+
kid: input.cpState.keyPair.kid,
|
|
44
|
+
claims: {
|
|
45
|
+
iss: input.cpState.issuer,
|
|
46
|
+
tokenType: "setup",
|
|
47
|
+
instanceId,
|
|
48
|
+
serviceUrl,
|
|
49
|
+
cpUrl: input.cpState.issuer,
|
|
50
|
+
cpJwksUri: input.cpState.jwksUri,
|
|
51
|
+
scope: tenantScope,
|
|
52
|
+
expiresInSeconds: SETUP_TTL_SECONDS
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
// Track for redeem deduplication. We use the JTI from the issued token.
|
|
56
|
+
const jti = readJti(setupToken);
|
|
57
|
+
if (jti) {
|
|
58
|
+
pending.set(jti, {
|
|
59
|
+
setupToken,
|
|
60
|
+
serviceUrl,
|
|
61
|
+
instanceId,
|
|
62
|
+
sharedServiceId,
|
|
63
|
+
tenantScope,
|
|
64
|
+
expiresAt: Date.now() + SETUP_TTL_SECONDS * 1000,
|
|
65
|
+
redeemed: false
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return jsonResponse({
|
|
69
|
+
setupToken,
|
|
70
|
+
instanceId,
|
|
71
|
+
cpUrl: input.cpState.issuer,
|
|
72
|
+
cpJwksUri: input.cpState.jwksUri,
|
|
73
|
+
expiresInSeconds: SETUP_TTL_SECONDS
|
|
74
|
+
}, 200);
|
|
75
|
+
});
|
|
76
|
+
// (2) Service redeems setup token for real apiKey.
|
|
77
|
+
input.app.post("/.well-known/bp/services/redeem", async (event) => {
|
|
78
|
+
sweep();
|
|
79
|
+
const body = await event.req.json().catch(() => null);
|
|
80
|
+
if (!body || typeof body.setupToken !== "string" || typeof body.pluginId !== "string") {
|
|
81
|
+
return jsonResponse({ error: "Missing setupToken or pluginId" }, 400);
|
|
82
|
+
}
|
|
83
|
+
const jti = readJti(body.setupToken);
|
|
84
|
+
if (!jti)
|
|
85
|
+
return jsonResponse({ error: "Setup token malformed" }, 400);
|
|
86
|
+
const entry = pending.get(jti);
|
|
87
|
+
if (!entry)
|
|
88
|
+
return jsonResponse({ error: "Setup token not recognized or expired" }, 400);
|
|
89
|
+
if (entry.redeemed)
|
|
90
|
+
return jsonResponse({ error: "Setup token already redeemed" }, 409);
|
|
91
|
+
if (entry.expiresAt < Date.now()) {
|
|
92
|
+
pending.delete(jti);
|
|
93
|
+
return jsonResponse({ error: "Setup token expired" }, 400);
|
|
94
|
+
}
|
|
95
|
+
// Mint the real per-service API key. Stored in platform config as a tenant or platform service.
|
|
96
|
+
const apiKey = `bp_sk_t_${randomBytes(32).toString("base64url")}`;
|
|
97
|
+
entry.redeemed = true;
|
|
98
|
+
pending.delete(jti);
|
|
99
|
+
// Persist registration on the CP side. id = instanceId from setup token
|
|
100
|
+
// (pre-assigned UUIDv7) so routes/fragments referencing it resolve.
|
|
101
|
+
// jwks (when provided) lets CM verify tokens issued by this service WITHOUT
|
|
102
|
+
// reaching out to it for JWKS.
|
|
103
|
+
try {
|
|
104
|
+
await registerServiceInPlatformConfig({
|
|
105
|
+
storage: input.storage,
|
|
106
|
+
instanceId: entry.instanceId,
|
|
107
|
+
pluginId: body.pluginId,
|
|
108
|
+
serviceUrl: entry.serviceUrl,
|
|
109
|
+
apiKey,
|
|
110
|
+
publicKeyPem: typeof body.publicKeyPem === "string" ? body.publicKeyPem : undefined,
|
|
111
|
+
keyId: typeof body.keyId === "string" ? body.keyId : undefined,
|
|
112
|
+
jwks: body.jwks,
|
|
113
|
+
sharedServiceId: entry.sharedServiceId,
|
|
114
|
+
tenantScope: entry.tenantScope
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
return jsonResponse({ error: "Failed to register service", detail: err.message }, 500);
|
|
119
|
+
}
|
|
120
|
+
return jsonResponse({
|
|
121
|
+
apiKey,
|
|
122
|
+
cpId: input.cpState.cpId,
|
|
123
|
+
cpJwksUri: input.cpState.jwksUri
|
|
124
|
+
}, 200);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function readJti(token) {
|
|
128
|
+
const parts = token.split(".");
|
|
129
|
+
if (parts.length !== 3)
|
|
130
|
+
return undefined;
|
|
131
|
+
try {
|
|
132
|
+
const payload = JSON.parse(Buffer.from(parts[1], "base64url").toString("utf8"));
|
|
133
|
+
return typeof payload.jti === "string" ? payload.jti : undefined;
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function registerServiceInPlatformConfig(input) {
|
|
140
|
+
const config = await input.storage.loadConfig();
|
|
141
|
+
const apiKeyHash = await hashApiKey(input.apiKey);
|
|
142
|
+
const now = new Date().toISOString();
|
|
143
|
+
const id = input.instanceId;
|
|
144
|
+
if (input.sharedServiceId) {
|
|
145
|
+
const existing = config.sharedServiceCatalog.find((s) => s.id === input.sharedServiceId);
|
|
146
|
+
if (!existing)
|
|
147
|
+
throw new Error(`Shared service ${input.sharedServiceId} not found`);
|
|
148
|
+
if (existing.serviceId && existing.serviceId !== input.pluginId) {
|
|
149
|
+
throw new Error(`Shared service ${existing.id} is linked to plugin ${existing.serviceId}, not installed plugin ${input.pluginId}`);
|
|
150
|
+
}
|
|
151
|
+
existing.serviceId = input.pluginId;
|
|
152
|
+
existing.baseUrl = input.serviceUrl;
|
|
153
|
+
existing.apiKeyHash = apiKeyHash;
|
|
154
|
+
existing.title = existing.title || input.pluginId;
|
|
155
|
+
existing.tags = [...new Set([...(existing.tags ?? []), ...defaultCapabilities(input.pluginId)])];
|
|
156
|
+
existing.enabled = true;
|
|
157
|
+
}
|
|
158
|
+
else if (input.tenantScope?.tenantId) {
|
|
159
|
+
const tenant = config.tenants.find((t) => t.id === input.tenantScope.tenantId);
|
|
160
|
+
if (!tenant)
|
|
161
|
+
throw new Error(`Tenant ${input.tenantScope.tenantId} not found`);
|
|
162
|
+
// If this service is the auth provider for one of the tenant's apps,
|
|
163
|
+
// store the JWKS on app.auth.publicKeys so the verifier uses static keys.
|
|
164
|
+
if (input.jwks && input.tenantScope.appId) {
|
|
165
|
+
const app = config.apps.find((a) => a.id === input.tenantScope.appId);
|
|
166
|
+
const appAuth = app?.auth;
|
|
167
|
+
if (app && appAuth && appAuth.serviceId === id) {
|
|
168
|
+
appAuth.publicKeys = input.jwks;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// Update existing registration (bootstrap pre-creates the entry) or insert.
|
|
172
|
+
const existing = tenant.services.find((s) => s.id === id);
|
|
173
|
+
if (existing) {
|
|
174
|
+
existing.hostname = input.serviceUrl;
|
|
175
|
+
existing.apiKeyHash = apiKeyHash;
|
|
176
|
+
existing.publicKeyPem = input.publicKeyPem;
|
|
177
|
+
existing.keyId = input.keyId;
|
|
178
|
+
existing.serviceId = input.pluginId;
|
|
179
|
+
existing.capabilities = existing.capabilities?.length ? existing.capabilities : defaultCapabilities(input.pluginId);
|
|
180
|
+
existing.lastSeenAt = now;
|
|
181
|
+
existing.enabled = true;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
tenant.services.push({
|
|
185
|
+
id,
|
|
186
|
+
hostname: input.serviceUrl,
|
|
187
|
+
apiKeyHash,
|
|
188
|
+
publicKeyPem: input.publicKeyPem,
|
|
189
|
+
keyId: input.keyId,
|
|
190
|
+
serviceId: input.pluginId,
|
|
191
|
+
capabilities: defaultCapabilities(input.pluginId),
|
|
192
|
+
title: input.pluginId,
|
|
193
|
+
description: undefined,
|
|
194
|
+
deploymentMode: "self-hosted",
|
|
195
|
+
createdAt: now,
|
|
196
|
+
lastSeenAt: undefined,
|
|
197
|
+
enabled: true
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
const existing = config.platformServices.find((s) => s.id === id);
|
|
203
|
+
if (existing) {
|
|
204
|
+
existing.hostname = input.serviceUrl;
|
|
205
|
+
existing.apiKeyHash = apiKeyHash;
|
|
206
|
+
existing.publicKeyPem = input.publicKeyPem;
|
|
207
|
+
existing.keyId = input.keyId;
|
|
208
|
+
existing.serviceId = input.pluginId;
|
|
209
|
+
existing.capabilities = existing.capabilities?.length ? existing.capabilities : defaultCapabilities(input.pluginId);
|
|
210
|
+
existing.enabled = true;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
config.platformServices.push({
|
|
214
|
+
id,
|
|
215
|
+
hostname: input.serviceUrl,
|
|
216
|
+
apiKeyHash,
|
|
217
|
+
publicKeyPem: input.publicKeyPem,
|
|
218
|
+
keyId: input.keyId,
|
|
219
|
+
serviceId: input.pluginId,
|
|
220
|
+
capabilities: defaultCapabilities(input.pluginId),
|
|
221
|
+
title: input.pluginId,
|
|
222
|
+
description: undefined,
|
|
223
|
+
category: undefined,
|
|
224
|
+
createdAt: now,
|
|
225
|
+
enabled: true
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
await input.storage.saveConfig(config);
|
|
230
|
+
}
|
|
231
|
+
function defaultCapabilities(pluginId) {
|
|
232
|
+
if (pluginId.startsWith("service.betterportal.theme."))
|
|
233
|
+
return ["theme"];
|
|
234
|
+
if (pluginId.includes(".auth."))
|
|
235
|
+
return ["auth"];
|
|
236
|
+
if (pluginId.includes(".config-manager"))
|
|
237
|
+
return ["config"];
|
|
238
|
+
return [];
|
|
239
|
+
}
|
|
240
|
+
async function hashApiKey(apiKey) {
|
|
241
|
+
const { createHash } = await import("node:crypto");
|
|
242
|
+
// MUST match storage/core.ts hashApiKey - validator uses hex.
|
|
243
|
+
return createHash("sha256").update(apiKey).digest("hex");
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=setupTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupTokens.js","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/setupTokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { PlatformConfigStore, ScopedServiceConfig } from "@betterportal/framework";
|
|
2
|
+
import type { BetterPortalConfig, TenantServiceRegistration, PlatformService, SharedServiceDefinition } from "@betterportal/framework";
|
|
3
|
+
export type StorageBackend = "file" | "postgres";
|
|
4
|
+
export interface FileStorageOptions {
|
|
5
|
+
readonly backend?: "file";
|
|
6
|
+
readonly configPath: string;
|
|
7
|
+
}
|
|
8
|
+
export interface PostgresStorageOptions {
|
|
9
|
+
readonly backend: "postgres";
|
|
10
|
+
readonly connectionString: string;
|
|
11
|
+
readonly tableName?: string;
|
|
12
|
+
readonly rowId?: string;
|
|
13
|
+
}
|
|
14
|
+
export type StorageOptions = FileStorageOptions | PostgresStorageOptions;
|
|
15
|
+
export declare function generateApiKey(): string;
|
|
16
|
+
export declare function hashApiKey(apiKey: string): string;
|
|
17
|
+
export declare abstract class BaseStorage implements PlatformConfigStore {
|
|
18
|
+
protected listeners: Set<() => void>;
|
|
19
|
+
abstract loadConfig(): Promise<BetterPortalConfig>;
|
|
20
|
+
abstract saveConfig(config: BetterPortalConfig): Promise<void>;
|
|
21
|
+
protected canonicalizeConfig(config: BetterPortalConfig): BetterPortalConfig;
|
|
22
|
+
protected validateConfigReferences(config: BetterPortalConfig): void;
|
|
23
|
+
validateApiKey(apiKey: string): Promise<{
|
|
24
|
+
scope: "tenant" | "platform";
|
|
25
|
+
serviceId: string | undefined;
|
|
26
|
+
tenantId?: string;
|
|
27
|
+
service: TenantServiceRegistration | PlatformService | SharedServiceDefinition;
|
|
28
|
+
} | null>;
|
|
29
|
+
getScopedConfig(serviceId: string, scope: "tenant" | "platform", tenantId?: string): Promise<ScopedServiceConfig>;
|
|
30
|
+
onChange(listener: () => void): () => void;
|
|
31
|
+
invalidate(): void;
|
|
32
|
+
protected notifyListeners(): void;
|
|
33
|
+
private scopeForTenantService;
|
|
34
|
+
private scopeForPlatformService;
|
|
35
|
+
private configAppsForTenant;
|
|
36
|
+
private scopeTenant;
|
|
37
|
+
private managementOrigins;
|
|
38
|
+
private shellThemeId;
|
|
39
|
+
private scopeApp;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/plugins/service-betterportal-config-manager/storage/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAGpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,kBAAkB,EAElB,yBAAyB,EACzB,eAAe,EAEf,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,sBAAsB,CAAC;AAE3B,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,8BAAsB,WAAY,YAAW,mBAAmB;IAC9D,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAa;IAEjD,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAClD,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9D,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB;IAc5E,SAAS,CAAC,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IA8I9D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5C,KAAK,EAAE,QAAQ,GAAG,UAAU,CAAC;QAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,yBAAyB,GAAG,eAAe,GAAG,uBAAuB,CAAC;KAChF,GAAG,IAAI,CAAC;IA8BH,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,QAAQ,GAAG,UAAU,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC;IAqB/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK1C,UAAU,IAAI,IAAI;IAIlB,SAAS,CAAC,eAAe,IAAI,IAAI;IAMjC,OAAO,CAAC,qBAAqB;IA2C7B,OAAO,CAAC,uBAAuB;IAsF/B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,WAAW;IAwCnB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,QAAQ;CA4BjB"}
|