@stigmer/server 3.15.0 → 3.15.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/boot/compose.d.ts.map +1 -1
- package/dist/boot/compose.js +23 -2
- package/dist/boot/compose.js.map +1 -1
- package/dist/boot/config.d.ts +14 -0
- package/dist/boot/config.d.ts.map +1 -1
- package/dist/boot/config.js +1 -0
- package/dist/boot/config.js.map +1 -1
- package/dist/transport/console/handler.d.ts +22 -5
- package/dist/transport/console/handler.d.ts.map +1 -1
- package/dist/transport/console/handler.js +53 -24
- package/dist/transport/console/handler.js.map +1 -1
- package/package.json +4 -4
- package/src/boot/__tests__/auth-enabled-composition.test.ts +49 -3
- package/src/boot/__tests__/config.test.ts +41 -3
- package/src/boot/compose.ts +30 -2
- package/src/boot/config.ts +15 -0
- package/src/transport/console/__tests__/handler.test.ts +93 -23
- package/src/transport/console/__tests__/resolver.test.ts +6 -0
- package/src/transport/console/handler.ts +84 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/boot/compose.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAgBpE,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAIzE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA6BzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AA6BlE,OAAO,EAKL,aAAa,EAEd,MAAM,6BAA6B,CAAC;AAqBrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAWjE,OAAO,EAAE,YAAY,IAAI,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAW7G,OAAO,EAAE,WAAW,EAAyB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/boot/compose.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAgBpE,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAIzE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA6BzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AA6BlE,OAAO,EAKL,aAAa,EAEd,MAAM,6BAA6B,CAAC;AAqBrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAWjE,OAAO,EAAE,YAAY,IAAI,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAW7G,OAAO,EAAE,WAAW,EAAyB,MAAM,wBAAwB,CAAC;AAQ5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,+EAA+E;IAC/E,KAAK,EAAE,KAAK,CAAC;IACb;;;;;;;;;OASG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;;;;OAKG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC;;;;;OAKG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;;;OAIG;IACH,0BAA0B,EAAE,YAAY,CAAC;IACzC;;;;;OAKG;IACH,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D;;;;;;;;;OASG;IACH,kBAAkB,EAAE,SAAS,CAAC;IAC9B;;;;;;;;OAQG;IACH,iBAAiB,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACnD;;;;;OAKG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,+EAA+E;IAC/E,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,kEAAkE;IAClE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC5C,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC,CA6oCzB"}
|
package/dist/boot/compose.js
CHANGED
|
@@ -115,7 +115,7 @@ import { newWorkflowExecutionEngineStateProvider } from "../temporal/workflowexe
|
|
|
115
115
|
import { newWorkflowExecutionWorkerFactory } from "../temporal/workflowexecution/worker.js";
|
|
116
116
|
import { HealthState, registerHealthService } from "../transport/health.js";
|
|
117
117
|
import { resolveConsoleAssets } from "../transport/console/assets.js";
|
|
118
|
-
import { createConsoleLane } from "../transport/console/handler.js";
|
|
118
|
+
import { createConsoleLane, } from "../transport/console/handler.js";
|
|
119
119
|
import { createRegistryLanes } from "../transport/registry/lanes.js";
|
|
120
120
|
import { createUnifiedPortServer } from "../transport/server.js";
|
|
121
121
|
import { createInProcessClients } from "./inprocess.js";
|
|
@@ -548,10 +548,31 @@ export async function composeServer(options) {
|
|
|
548
548
|
else {
|
|
549
549
|
logger.debug("no web console export bundled; console lane disabled");
|
|
550
550
|
}
|
|
551
|
+
// The console is told how to sign in (20260913.02 sp.console-login): the
|
|
552
|
+
// OSS issuer arm of the posture, in the console's vocabulary. A composed
|
|
553
|
+
// unit's own `requireAuthentication` is NOT expressed here — a
|
|
554
|
+
// composition whose verifiers resolve its users serves its console its
|
|
555
|
+
// own way (the cloud's container does); the Enterprise console story is
|
|
556
|
+
// P4's. Issuer set but no console client registered is WARN-degrade, the
|
|
557
|
+
// STIGMER_OAUTH_REDIRECT_URI posture: the CLI and SDKs keep working with
|
|
558
|
+
// API keys, and the served console refuses with copy naming the knob.
|
|
559
|
+
const consoleSignIn = authEnabled
|
|
560
|
+
? {
|
|
561
|
+
posture: "oidc",
|
|
562
|
+
issuer: config.oidcIssuer,
|
|
563
|
+
audience: config.oidcAudience,
|
|
564
|
+
consoleClientId: config.oidcConsoleClientId,
|
|
565
|
+
}
|
|
566
|
+
: { posture: "trusted-local" };
|
|
567
|
+
if (consoleAssets !== undefined &&
|
|
568
|
+
consoleSignIn.posture === "oidc" &&
|
|
569
|
+
consoleSignIn.consoleClientId === "") {
|
|
570
|
+
logger.warn("STIGMER_OIDC_ISSUER is set but STIGMER_OIDC_CONSOLE_CLIENT_ID is not — the web console this server serves cannot sign in; register a public PKCE client for the console at the issuer and set it");
|
|
571
|
+
}
|
|
551
572
|
const consoleLane = consoleAssets !== undefined
|
|
552
573
|
? createConsoleLane({
|
|
553
574
|
assets: consoleAssets,
|
|
554
|
-
|
|
575
|
+
signIn: consoleSignIn,
|
|
555
576
|
logger,
|
|
556
577
|
})
|
|
557
578
|
: undefined;
|
package/dist/boot/compose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/boot/compose.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/boot/compose.ts"],"names":[],"mappings":"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"}
|
package/dist/boot/config.d.ts
CHANGED
|
@@ -146,6 +146,20 @@ export interface ServerConfig {
|
|
|
146
146
|
* OIDC is boot-fatal, the R2/operator-identity loud-fail precedent.
|
|
147
147
|
*/
|
|
148
148
|
readonly oidcAudience: string;
|
|
149
|
+
/**
|
|
150
|
+
* The OAuth client the served web console signs in with
|
|
151
|
+
* (STIGMER_OIDC_CONSOLE_CLIENT_ID; 20260913.02 sp.console-login, Q-CL-1):
|
|
152
|
+
* a PUBLIC client the operator registers at the issuer for the browser's
|
|
153
|
+
* Authorization Code + PKCE flow — a public identifier, never a secret.
|
|
154
|
+
* Deliberately lenient beside the two boot-fatal OIDC fields: a
|
|
155
|
+
* self-host that set the issuer before this knob existed, and uses the
|
|
156
|
+
* CLI and SDKs with API keys, must keep booting on upgrade. Empty means
|
|
157
|
+
* the console cannot sign in; the composition root WARNs and the served
|
|
158
|
+
* console says so itself (Q-CL-2). Named for the console on purpose — a
|
|
159
|
+
* future CLI or desktop sign-in against a self-host is a different
|
|
160
|
+
* client type (loopback/native) and should not be tempted to reuse it.
|
|
161
|
+
*/
|
|
162
|
+
readonly oidcConsoleClientId: string;
|
|
149
163
|
/**
|
|
150
164
|
* Sandbox provisioner driver (SANDBOX_PROVISIONER_TYPE; §6d, O6). ""
|
|
151
165
|
* — the default — is the external-runner posture: no provisioner is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/boot/config.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,mEAAmE;IACnE,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,+EAA+E;IAC/E,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;;;;;;OAQG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;CAC7C;AAsBD,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,+DAA+D;AAC/D,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kCAAkC,CAAC;AAE5E,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/boot/config.ts"],"names":[],"mappings":"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"}
|
package/dist/boot/config.js
CHANGED
|
@@ -89,6 +89,7 @@ export function loadConfig(env = process.env) {
|
|
|
89
89
|
oauthRedirectUri: envString(env, "STIGMER_OAUTH_REDIRECT_URI", ""),
|
|
90
90
|
consoleDir: envString(env, "STIGMER_CONSOLE_DIR", ""),
|
|
91
91
|
...loadOidcConfig(env),
|
|
92
|
+
oidcConsoleClientId: envString(env, "STIGMER_OIDC_CONSOLE_CLIENT_ID", ""),
|
|
92
93
|
sandboxProvisionerType: envString(env, "SANDBOX_PROVISIONER_TYPE", ""),
|
|
93
94
|
sandboxBackendEndpoint: envString(env, "STIGMER_SANDBOX_BACKEND_ENDPOINT", ""),
|
|
94
95
|
sandboxTemporalAddress: envString(env, "STIGMER_SANDBOX_TEMPORAL_ADDRESS", envString(env, "TEMPORAL_HOST_PORT", "localhost:7233")),
|
package/dist/boot/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/boot/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/boot/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,13 +7,30 @@ import type { ConsoleAssets } from "./assets.js";
|
|
|
7
7
|
* of RPC path shapes belongs to this module.
|
|
8
8
|
*/
|
|
9
9
|
export declare function consoleLaneEligible(request: LaneRequest): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* How the console this lane serves signs in — the server's authentication
|
|
12
|
+
* posture as the console needs to hear it (20260913.02 sp.console-login).
|
|
13
|
+
* A modeled state, never a nullable: "no issuer configured" and "forgot to
|
|
14
|
+
* wire the posture" must stay distinguishable at the call site.
|
|
15
|
+
*
|
|
16
|
+
* Under `oidc`, `consoleClientId` is the PUBLIC client the operator
|
|
17
|
+
* registered for the browser's PKCE flow, or "" when they have not
|
|
18
|
+
* (Q-CL-1): the lane publishes that truth as-is and the console refuses
|
|
19
|
+
* with copy that names the knob (Q-CL-2), while the composition root has
|
|
20
|
+
* already WARNed at wiring time. Emitting `disabled` instead would send
|
|
21
|
+
* the console into every RPC tokenless, to fail with a worse message.
|
|
22
|
+
*/
|
|
23
|
+
export type ConsoleSignInPosture = {
|
|
24
|
+
readonly posture: "trusted-local";
|
|
25
|
+
} | {
|
|
26
|
+
readonly posture: "oidc";
|
|
27
|
+
readonly issuer: string;
|
|
28
|
+
readonly audience: string;
|
|
29
|
+
readonly consoleClientId: string;
|
|
30
|
+
};
|
|
10
31
|
export interface ConsoleLaneOptions {
|
|
11
32
|
readonly assets: ConsoleAssets;
|
|
12
|
-
|
|
13
|
-
* Fallback port for the synthesized apiUrl when a request carries no
|
|
14
|
-
* Host/:authority (technically possible on HTTP/1.0-style clients).
|
|
15
|
-
*/
|
|
16
|
-
readonly grpcPort: number;
|
|
33
|
+
readonly signIn: ConsoleSignInPosture;
|
|
17
34
|
readonly logger: Logger;
|
|
18
35
|
}
|
|
19
36
|
export declare function createConsoleLane(options: ConsoleLaneOptions): LaneHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/transport/console/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/transport/console/handler.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAgB,MAAM,aAAa,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAkBjD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAYjE;AAQD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GACrC;IACE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAiD1E"}
|
|
@@ -6,6 +6,13 @@
|
|
|
6
6
|
* nginx-equivalence-gated); this module owns the HTTP half: the lane
|
|
7
7
|
* guard, header policy, config synthesis, and file streaming.
|
|
8
8
|
*
|
|
9
|
+
* /config.json is also how the served console learns to sign in
|
|
10
|
+
* (20260913.02 sp.console-login; stigmer#924): the composition root hands
|
|
11
|
+
* the lane the server's authentication posture (ConsoleSignInPosture) and
|
|
12
|
+
* the lane publishes it in the console's own vocabulary — the OIDC
|
|
13
|
+
* issuer, audience and the console's PKCE client id under the posture,
|
|
14
|
+
* `disabled` under trusted local.
|
|
15
|
+
*
|
|
9
16
|
* Lane guard (consoleLaneEligible): the lane claims GET/HEAD only — RPC
|
|
10
17
|
* traffic is POST on service-qualified paths, and OPTIONS preflights keep
|
|
11
18
|
* flowing to the RPC lane's CORS handling — and it never claims:
|
|
@@ -63,14 +70,17 @@ function isServiceShapedPath(pathname) {
|
|
|
63
70
|
return segments.length === 2 && (segments[0] ?? "").includes(".");
|
|
64
71
|
}
|
|
65
72
|
export function createConsoleLane(options) {
|
|
66
|
-
const { assets,
|
|
73
|
+
const { assets, signIn, logger } = options;
|
|
74
|
+
// The console's runtime config is a pure function of the posture: one
|
|
75
|
+
// body, built once, served on every request.
|
|
76
|
+
const configJsonBody = JSON.stringify(consoleRuntimeConfig(signIn));
|
|
67
77
|
return (request, response) => {
|
|
68
78
|
const url = request.url ?? "";
|
|
69
79
|
const queryStart = url.indexOf("?");
|
|
70
80
|
const rawPath = queryStart === -1 ? url : url.slice(0, queryStart);
|
|
71
81
|
const query = queryStart === -1 ? "" : url.slice(queryStart);
|
|
72
82
|
if (rawPath === CONFIG_JSON_PATH) {
|
|
73
|
-
serveConfigJson(request, response,
|
|
83
|
+
serveConfigJson(request, response, configJsonBody);
|
|
74
84
|
return;
|
|
75
85
|
}
|
|
76
86
|
let pathname;
|
|
@@ -108,29 +118,48 @@ export function createConsoleLane(options) {
|
|
|
108
118
|
}
|
|
109
119
|
/**
|
|
110
120
|
* The runtime config the cloud container's entrypoint.sh generates from
|
|
111
|
-
* env
|
|
112
|
-
* the nginx entrypoint script is not ported).
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
121
|
+
* env, synthesized here from the server's own knowledge instead (DD-012:
|
|
122
|
+
* the nginx entrypoint script is not ported). The field names are the
|
|
123
|
+
* console's loader's (client-apps/web/src/config/runtime-config.ts).
|
|
124
|
+
*
|
|
125
|
+
* `apiUrl` is the empty string, which the console reads as "my own
|
|
126
|
+
* origin" — the rule its `appUrl` already follows (20260913.02 Q-CL-3).
|
|
127
|
+
* This lane and the RPC lane share one port, so the console can never
|
|
128
|
+
* need a different origin, and it makes the answer right behind a
|
|
129
|
+
* TLS-terminating proxy without trusting x-forwarded-proto: the earlier
|
|
130
|
+
* Host-derived `http://<host>` sent an https-loaded console to an http
|
|
131
|
+
* API and died on mixed content.
|
|
132
|
+
*
|
|
133
|
+
* Every value here is public metadata: an OIDC issuer URL, an audience
|
|
134
|
+
* string and a PKCE client id are what a browser is handed by design.
|
|
118
135
|
*/
|
|
119
|
-
function
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
136
|
+
function consoleRuntimeConfig(signIn) {
|
|
137
|
+
switch (signIn.posture) {
|
|
138
|
+
case "trusted-local":
|
|
139
|
+
return {
|
|
140
|
+
apiUrl: "",
|
|
141
|
+
appUrl: "",
|
|
142
|
+
authMode: "disabled",
|
|
143
|
+
oidcIssuer: "",
|
|
144
|
+
oidcClientId: "",
|
|
145
|
+
oidcAudience: "",
|
|
146
|
+
};
|
|
147
|
+
case "oidc":
|
|
148
|
+
return {
|
|
149
|
+
apiUrl: "",
|
|
150
|
+
appUrl: "",
|
|
151
|
+
authMode: "oidc",
|
|
152
|
+
oidcIssuer: signIn.issuer,
|
|
153
|
+
oidcClientId: signIn.consoleClientId,
|
|
154
|
+
oidcAudience: signIn.audience,
|
|
155
|
+
};
|
|
156
|
+
default: {
|
|
157
|
+
const exhaustive = signIn;
|
|
158
|
+
throw new Error(`unhandled sign-in posture ${String(exhaustive)}`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function serveConfigJson(request, response, body) {
|
|
134
163
|
response.statusCode = 200;
|
|
135
164
|
response.setHeader("Content-Type", "application/json");
|
|
136
165
|
response.setHeader("Cache-Control", CONFIG_JSON_CACHE_CONTROL);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/transport/console/handler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/transport/console/handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/server",
|
|
3
|
-
"version": "3.15.
|
|
3
|
+
"version": "3.15.1",
|
|
4
4
|
"description": "The Stigmer OSS control plane as a composable library: composeServer, the extension registry and the driver seams a composition builds on. The self-contained deployable of the same server is @stigmer/server-slim.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"@connectrpc/connect-node": "^2.0.0",
|
|
63
63
|
"@kubernetes/client-node": "2.0.0",
|
|
64
64
|
"@opentelemetry/api": "^1.9.0",
|
|
65
|
-
"@stigmer/protos": "3.15.
|
|
66
|
-
"@stigmer/temporal-codecs": "3.15.
|
|
67
|
-
"@stigmer/zip-structure": "3.15.
|
|
65
|
+
"@stigmer/protos": "3.15.1",
|
|
66
|
+
"@stigmer/temporal-codecs": "3.15.1",
|
|
67
|
+
"@stigmer/zip-structure": "3.15.1",
|
|
68
68
|
"@temporalio/activity": "1.16.2",
|
|
69
69
|
"@temporalio/client": "1.16.2",
|
|
70
70
|
"@temporalio/common": "1.16.2",
|
|
@@ -21,9 +21,17 @@
|
|
|
21
21
|
* the issuer's userinfo profile; from then on the verifier resolves
|
|
22
22
|
* the subject to the account id and API keys minted before OR after
|
|
23
23
|
* provisioning answer whoAmI with the owner's account; no operator
|
|
24
|
-
* account exists under the posture
|
|
24
|
+
* account exists under the posture;
|
|
25
|
+
* 7. (20260913.02, sp.console-login) the console the server serves is
|
|
26
|
+
* told the posture through /config.json — the issuer and audience
|
|
27
|
+
* this composition runs under, with the console client id the
|
|
28
|
+
* operator did NOT register here left empty — and the composition
|
|
29
|
+
* root WARNs at wiring time that the served console cannot sign in
|
|
30
|
+
* (Q-CL-2), the STIGMER_OAUTH_REDIRECT_URI precedent. Proven through
|
|
31
|
+
* compose.ts with STIGMER_CONSOLE_DIR at a fixture export, not
|
|
32
|
+
* through the lane alone (handler.test.ts covers that).
|
|
25
33
|
*/
|
|
26
|
-
import { mkdtempSync, rmSync } from "node:fs";
|
|
34
|
+
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
27
35
|
import { tmpdir } from "node:os";
|
|
28
36
|
import path from "node:path";
|
|
29
37
|
import { createServer } from "node:http";
|
|
@@ -75,6 +83,9 @@ let port: number;
|
|
|
75
83
|
// the raw sub. The identity-account arms prove that stamp resolves to the
|
|
76
84
|
// owner's account once one exists (20260911.11 A1's derived id).
|
|
77
85
|
let keyMintedBeforeProvisioning: string;
|
|
86
|
+
// Every WARN the composition root logged while wiring — the console
|
|
87
|
+
// sign-in arm (7) reads it.
|
|
88
|
+
const warnings: string[] = [];
|
|
78
89
|
|
|
79
90
|
function bearer(token: string): Interceptor {
|
|
80
91
|
return (next) => (request) => {
|
|
@@ -177,6 +188,10 @@ beforeAll(async () => {
|
|
|
177
188
|
issuer = `http://127.0.0.1:${address.port}`;
|
|
178
189
|
|
|
179
190
|
dir = mkdtempSync(path.join(tmpdir(), "auth-enabled-test-"));
|
|
191
|
+
// The smallest export the console lane discovers: the app shell alone.
|
|
192
|
+
const consoleDir = path.join(dir, "console");
|
|
193
|
+
mkdirSync(consoleDir, { recursive: true });
|
|
194
|
+
writeFileSync(path.join(consoleDir, "index.html"), "<html>app shell</html>");
|
|
180
195
|
server = await composeServer({
|
|
181
196
|
config: loadConfig({
|
|
182
197
|
STIGMER_MODEL_REGISTRY_REFRESH: "off",
|
|
@@ -186,8 +201,18 @@ beforeAll(async () => {
|
|
|
186
201
|
ARTIFACT_LOCAL_BASE_PATH: path.join(dir, "artifacts"),
|
|
187
202
|
STIGMER_OIDC_ISSUER: issuer,
|
|
188
203
|
STIGMER_OIDC_AUDIENCE: AUDIENCE,
|
|
204
|
+
STIGMER_CONSOLE_DIR: consoleDir,
|
|
205
|
+
}),
|
|
206
|
+
logger: createLogger({
|
|
207
|
+
level: "warn",
|
|
208
|
+
pretty: false,
|
|
209
|
+
write: (line) => {
|
|
210
|
+
const entry = JSON.parse(line) as { level?: string; message?: string };
|
|
211
|
+
if (entry.level === "warn" && entry.message !== undefined) {
|
|
212
|
+
warnings.push(entry.message);
|
|
213
|
+
}
|
|
214
|
+
},
|
|
189
215
|
}),
|
|
190
|
-
logger: createLogger({ level: "error", pretty: false, write: () => {} }),
|
|
191
216
|
portOverride: 0,
|
|
192
217
|
host: "127.0.0.1",
|
|
193
218
|
});
|
|
@@ -236,6 +261,27 @@ describe("the require-authentication posture on the wire", () => {
|
|
|
236
261
|
});
|
|
237
262
|
});
|
|
238
263
|
|
|
264
|
+
describe("the console the server serves is told the posture (20260913.02, sp.console-login)", () => {
|
|
265
|
+
it("/config.json carries the issuer and audience this composition verifies against, with the unregistered console client id empty", async () => {
|
|
266
|
+
const response = await fetch(`http://127.0.0.1:${port}/config.json`);
|
|
267
|
+
expect(response.status).toBe(200);
|
|
268
|
+
expect(await response.json()).toEqual({
|
|
269
|
+
apiUrl: "",
|
|
270
|
+
appUrl: "",
|
|
271
|
+
authMode: "oidc",
|
|
272
|
+
oidcIssuer: issuer,
|
|
273
|
+
oidcClientId: "",
|
|
274
|
+
oidcAudience: AUDIENCE,
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
|
|
278
|
+
it("the composition root WARNs at wiring time that the served console cannot sign in without STIGMER_OIDC_CONSOLE_CLIENT_ID (Q-CL-2)", () => {
|
|
279
|
+
expect(warnings).toContainEqual(
|
|
280
|
+
expect.stringContaining("STIGMER_OIDC_CONSOLE_CLIENT_ID"),
|
|
281
|
+
);
|
|
282
|
+
});
|
|
283
|
+
});
|
|
284
|
+
|
|
239
285
|
describe("the full credential loop (OIDC login → API key → revocation)", () => {
|
|
240
286
|
let apiKeyPlaintext: string;
|
|
241
287
|
let apiKeyId: string;
|
|
@@ -59,15 +59,53 @@ describe("loadConfig", () => {
|
|
|
59
59
|
});
|
|
60
60
|
|
|
61
61
|
it("reads an explicit ARTIFACT_HTTP_HOST (the container override)", () => {
|
|
62
|
-
expect(
|
|
63
|
-
|
|
64
|
-
)
|
|
62
|
+
expect(loadConfig({ ARTIFACT_HTTP_HOST: "0.0.0.0" }).artifactHttpHost).toBe(
|
|
63
|
+
"0.0.0.0",
|
|
64
|
+
);
|
|
65
65
|
// Empty string is absent, per the Go getEnvString leniency.
|
|
66
66
|
expect(loadConfig({ ARTIFACT_HTTP_HOST: "" }).artifactHttpHost).toBe(
|
|
67
67
|
"127.0.0.1",
|
|
68
68
|
);
|
|
69
69
|
});
|
|
70
70
|
|
|
71
|
+
// 20260913.02 (sp.console-login, Q-CL-1): the console's public PKCE client
|
|
72
|
+
// id is lenient on purpose — a CLI-only self-host that set the issuer
|
|
73
|
+
// before this knob existed must keep booting on upgrade, and the served
|
|
74
|
+
// console reports the gap itself (Q-CL-2).
|
|
75
|
+
describe("STIGMER_OIDC_CONSOLE_CLIENT_ID (the console's sign-in client)", () => {
|
|
76
|
+
const OIDC = {
|
|
77
|
+
STIGMER_OIDC_ISSUER: "https://auth.example.com/realms/main",
|
|
78
|
+
STIGMER_OIDC_AUDIENCE: "https://stigmer.example.com/",
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
it("is empty when absent, and the issuer alone still boots", () => {
|
|
82
|
+
expect(loadConfig(OIDC).oidcConsoleClientId).toBe("");
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it("reads the explicit value", () => {
|
|
86
|
+
expect(
|
|
87
|
+
loadConfig({
|
|
88
|
+
...OIDC,
|
|
89
|
+
STIGMER_OIDC_CONSOLE_CLIENT_ID: "stigmer-console",
|
|
90
|
+
}).oidcConsoleClientId,
|
|
91
|
+
).toBe("stigmer-console");
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it("treats an empty string as absent (Go's getEnvString)", () => {
|
|
95
|
+
expect(
|
|
96
|
+
loadConfig({ ...OIDC, STIGMER_OIDC_CONSOLE_CLIENT_ID: "" })
|
|
97
|
+
.oidcConsoleClientId,
|
|
98
|
+
).toBe("");
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
it("is carried even without an issuer — the posture, not this knob, decides whether it is used", () => {
|
|
102
|
+
expect(
|
|
103
|
+
loadConfig({ STIGMER_OIDC_CONSOLE_CLIENT_ID: "stigmer-console" })
|
|
104
|
+
.oidcConsoleClientId,
|
|
105
|
+
).toBe("stigmer-console");
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
|
|
71
109
|
it("disables the model-registry refresh only for the literal 'off'", () => {
|
|
72
110
|
expect(
|
|
73
111
|
loadConfig({ STIGMER_MODEL_REGISTRY_REFRESH: "off" })
|
package/src/boot/compose.ts
CHANGED
|
@@ -161,7 +161,10 @@ import { newWorkflowExecutionEngineStateProvider } from "../temporal/workflowexe
|
|
|
161
161
|
import { newWorkflowExecutionWorkerFactory } from "../temporal/workflowexecution/worker.js";
|
|
162
162
|
import { HealthState, registerHealthService } from "../transport/health.js";
|
|
163
163
|
import { resolveConsoleAssets } from "../transport/console/assets.js";
|
|
164
|
-
import {
|
|
164
|
+
import {
|
|
165
|
+
createConsoleLane,
|
|
166
|
+
type ConsoleSignInPosture,
|
|
167
|
+
} from "../transport/console/handler.js";
|
|
165
168
|
import { createRegistryLanes } from "../transport/registry/lanes.js";
|
|
166
169
|
import { createUnifiedPortServer } from "../transport/server.js";
|
|
167
170
|
import type { ServerConfig } from "./config.js";
|
|
@@ -762,11 +765,36 @@ export async function composeServer(
|
|
|
762
765
|
} else {
|
|
763
766
|
logger.debug("no web console export bundled; console lane disabled");
|
|
764
767
|
}
|
|
768
|
+
// The console is told how to sign in (20260913.02 sp.console-login): the
|
|
769
|
+
// OSS issuer arm of the posture, in the console's vocabulary. A composed
|
|
770
|
+
// unit's own `requireAuthentication` is NOT expressed here — a
|
|
771
|
+
// composition whose verifiers resolve its users serves its console its
|
|
772
|
+
// own way (the cloud's container does); the Enterprise console story is
|
|
773
|
+
// P4's. Issuer set but no console client registered is WARN-degrade, the
|
|
774
|
+
// STIGMER_OAUTH_REDIRECT_URI posture: the CLI and SDKs keep working with
|
|
775
|
+
// API keys, and the served console refuses with copy naming the knob.
|
|
776
|
+
const consoleSignIn: ConsoleSignInPosture = authEnabled
|
|
777
|
+
? {
|
|
778
|
+
posture: "oidc",
|
|
779
|
+
issuer: config.oidcIssuer,
|
|
780
|
+
audience: config.oidcAudience,
|
|
781
|
+
consoleClientId: config.oidcConsoleClientId,
|
|
782
|
+
}
|
|
783
|
+
: { posture: "trusted-local" };
|
|
784
|
+
if (
|
|
785
|
+
consoleAssets !== undefined &&
|
|
786
|
+
consoleSignIn.posture === "oidc" &&
|
|
787
|
+
consoleSignIn.consoleClientId === ""
|
|
788
|
+
) {
|
|
789
|
+
logger.warn(
|
|
790
|
+
"STIGMER_OIDC_ISSUER is set but STIGMER_OIDC_CONSOLE_CLIENT_ID is not — the web console this server serves cannot sign in; register a public PKCE client for the console at the issuer and set it",
|
|
791
|
+
);
|
|
792
|
+
}
|
|
765
793
|
const consoleLane =
|
|
766
794
|
consoleAssets !== undefined
|
|
767
795
|
? createConsoleLane({
|
|
768
796
|
assets: consoleAssets,
|
|
769
|
-
|
|
797
|
+
signIn: consoleSignIn,
|
|
770
798
|
logger,
|
|
771
799
|
})
|
|
772
800
|
: undefined;
|
package/src/boot/config.ts
CHANGED
|
@@ -170,6 +170,20 @@ export interface ServerConfig {
|
|
|
170
170
|
* OIDC is boot-fatal, the R2/operator-identity loud-fail precedent.
|
|
171
171
|
*/
|
|
172
172
|
readonly oidcAudience: string;
|
|
173
|
+
/**
|
|
174
|
+
* The OAuth client the served web console signs in with
|
|
175
|
+
* (STIGMER_OIDC_CONSOLE_CLIENT_ID; 20260913.02 sp.console-login, Q-CL-1):
|
|
176
|
+
* a PUBLIC client the operator registers at the issuer for the browser's
|
|
177
|
+
* Authorization Code + PKCE flow — a public identifier, never a secret.
|
|
178
|
+
* Deliberately lenient beside the two boot-fatal OIDC fields: a
|
|
179
|
+
* self-host that set the issuer before this knob existed, and uses the
|
|
180
|
+
* CLI and SDKs with API keys, must keep booting on upgrade. Empty means
|
|
181
|
+
* the console cannot sign in; the composition root WARNs and the served
|
|
182
|
+
* console says so itself (Q-CL-2). Named for the console on purpose — a
|
|
183
|
+
* future CLI or desktop sign-in against a self-host is a different
|
|
184
|
+
* client type (loopback/native) and should not be tempted to reuse it.
|
|
185
|
+
*/
|
|
186
|
+
readonly oidcConsoleClientId: string;
|
|
173
187
|
/**
|
|
174
188
|
* Sandbox provisioner driver (SANDBOX_PROVISIONER_TYPE; §6d, O6). ""
|
|
175
189
|
* — the default — is the external-runner posture: no provisioner is
|
|
@@ -329,6 +343,7 @@ export function loadConfig(env: NodeJS.ProcessEnv = process.env): ServerConfig {
|
|
|
329
343
|
oauthRedirectUri: envString(env, "STIGMER_OAUTH_REDIRECT_URI", ""),
|
|
330
344
|
consoleDir: envString(env, "STIGMER_CONSOLE_DIR", ""),
|
|
331
345
|
...loadOidcConfig(env),
|
|
346
|
+
oidcConsoleClientId: envString(env, "STIGMER_OIDC_CONSOLE_CLIENT_ID", ""),
|
|
332
347
|
sandboxProvisionerType: envString(env, "SANDBOX_PROVISIONER_TYPE", ""),
|
|
333
348
|
sandboxBackendEndpoint: envString(
|
|
334
349
|
env,
|
|
@@ -4,7 +4,14 @@
|
|
|
4
4
|
*
|
|
5
5
|
* - documents, flight payloads, redirects, and the 404 posture arrive
|
|
6
6
|
* with the right status, Content-Type, and Cache-Control;
|
|
7
|
-
* - /config.json is synthesized per request
|
|
7
|
+
* - /config.json is synthesized per request: apiUrl is the empty string
|
|
8
|
+
* the console reads as "my own origin" (20260913.02 Q-CL-3), and the
|
|
9
|
+
* sign-in block tells the truth about the server's posture — trusted
|
|
10
|
+
* local says `disabled`; the OIDC posture says `oidc` with the issuer,
|
|
11
|
+
* the audience and the console's client id, the client id empty when
|
|
12
|
+
* the operator has not registered one (Q-CL-1, Q-CL-2);
|
|
13
|
+
* - the OIDC return leg: /auth/callback with the provider's query
|
|
14
|
+
* resolves to the callback document;
|
|
8
15
|
* - the guard: RPC (POST and service-shaped GET), /v1/* paths, and
|
|
9
16
|
* OPTIONS preflights flow exactly as they do WITHOUT the lane — the
|
|
10
17
|
* wire-invisibility half of the P3 acceptance;
|
|
@@ -30,8 +37,8 @@ import {
|
|
|
30
37
|
createUnifiedPortServer,
|
|
31
38
|
type UnifiedPortServer,
|
|
32
39
|
} from "../../server.js";
|
|
33
|
-
import { resolveConsoleAssets } from "../assets.js";
|
|
34
|
-
import { createConsoleLane } from "../handler.js";
|
|
40
|
+
import { resolveConsoleAssets, type ConsoleAssets } from "../assets.js";
|
|
41
|
+
import { createConsoleLane, type ConsoleSignInPosture } from "../handler.js";
|
|
35
42
|
|
|
36
43
|
const silentLogger = createLogger({
|
|
37
44
|
level: "error",
|
|
@@ -46,6 +53,7 @@ const FIXTURE_FILES: Record<string, string> = {
|
|
|
46
53
|
"embed.js": "// embed loader",
|
|
47
54
|
"conversations.html": "<html>conversations</html>",
|
|
48
55
|
"conversations.txt": "flight:conversations",
|
|
56
|
+
"auth/callback.html": "<html>completing sign-in</html>",
|
|
49
57
|
"sessions/__placeholder__.html": "<html>session detail</html>",
|
|
50
58
|
"sessions/__placeholder__.txt": "flight:session",
|
|
51
59
|
"sessions/__placeholder__/__next.sessions.txt": "flight:nested-session",
|
|
@@ -53,25 +61,18 @@ const FIXTURE_FILES: Record<string, string> = {
|
|
|
53
61
|
};
|
|
54
62
|
|
|
55
63
|
let fixtureRoot: string;
|
|
64
|
+
let assets: ConsoleAssets;
|
|
56
65
|
let server: UnifiedPortServer;
|
|
57
66
|
let port: number;
|
|
58
67
|
let baseUrl: string;
|
|
59
68
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
mkdirSync(path.dirname(target), { recursive: true });
|
|
65
|
-
writeFileSync(target, content);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const assets = resolveConsoleAssets(fixtureRoot, silentLogger);
|
|
69
|
-
if (assets === undefined) {
|
|
70
|
-
throw new Error("fixture export was not discovered");
|
|
71
|
-
}
|
|
69
|
+
/** A unified-port server whose console lane serves the fixture under `signIn`. */
|
|
70
|
+
async function startServer(
|
|
71
|
+
signIn: ConsoleSignInPosture,
|
|
72
|
+
): Promise<UnifiedPortServer> {
|
|
72
73
|
const healthState = new HealthState();
|
|
73
74
|
healthState.setOverall(ServingStatus.SERVING);
|
|
74
|
-
|
|
75
|
+
return createUnifiedPortServer({
|
|
75
76
|
logger: silentLogger,
|
|
76
77
|
routes: (router) => registerHealthService(router, healthState),
|
|
77
78
|
interceptors: [],
|
|
@@ -83,12 +84,24 @@ beforeAll(async () => {
|
|
|
83
84
|
response.setHeader("x-lane", "model");
|
|
84
85
|
response.end("{}");
|
|
85
86
|
},
|
|
86
|
-
consoleLane: createConsoleLane({
|
|
87
|
-
assets,
|
|
88
|
-
grpcPort: 7234,
|
|
89
|
-
logger: silentLogger,
|
|
90
|
-
}),
|
|
87
|
+
consoleLane: createConsoleLane({ assets, signIn, logger: silentLogger }),
|
|
91
88
|
});
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
beforeAll(async () => {
|
|
92
|
+
fixtureRoot = mkdtempSync(path.join(tmpdir(), "console-lane-fixture-"));
|
|
93
|
+
for (const [file, content] of Object.entries(FIXTURE_FILES)) {
|
|
94
|
+
const target = path.join(fixtureRoot, ...file.split("/"));
|
|
95
|
+
mkdirSync(path.dirname(target), { recursive: true });
|
|
96
|
+
writeFileSync(target, content);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const discovered = resolveConsoleAssets(fixtureRoot, silentLogger);
|
|
100
|
+
if (discovered === undefined) {
|
|
101
|
+
throw new Error("fixture export was not discovered");
|
|
102
|
+
}
|
|
103
|
+
assets = discovered;
|
|
104
|
+
server = await startServer({ posture: "trusted-local" });
|
|
92
105
|
port = await server.listen(0, "127.0.0.1");
|
|
93
106
|
baseUrl = `http://127.0.0.1:${port}`;
|
|
94
107
|
});
|
|
@@ -175,8 +188,19 @@ describe("document serving", () => {
|
|
|
175
188
|
});
|
|
176
189
|
});
|
|
177
190
|
|
|
191
|
+
describe("the OIDC return leg", () => {
|
|
192
|
+
it("serves /auth/callback with the provider's query the callback document", async () => {
|
|
193
|
+
const response = await fetch(`${baseUrl}/auth/callback?code=abc&state=xyz`);
|
|
194
|
+
expect(response.status).toBe(200);
|
|
195
|
+
expect(response.headers.get("content-type")).toBe(
|
|
196
|
+
"text/html; charset=utf-8",
|
|
197
|
+
);
|
|
198
|
+
expect(await response.text()).toBe(FIXTURE_FILES["auth/callback.html"]);
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
|
|
178
202
|
describe("/config.json synthesis", () => {
|
|
179
|
-
it("
|
|
203
|
+
it("under trusted local: same-origin apiUrl, sign-in disabled, never cached", async () => {
|
|
180
204
|
const response = await fetch(`${baseUrl}/config.json`);
|
|
181
205
|
expect(response.status).toBe(200);
|
|
182
206
|
expect(response.headers.get("content-type")).toBe("application/json");
|
|
@@ -184,7 +208,7 @@ describe("/config.json synthesis", () => {
|
|
|
184
208
|
"no-cache, no-store, must-revalidate",
|
|
185
209
|
);
|
|
186
210
|
expect(await response.json()).toEqual({
|
|
187
|
-
apiUrl:
|
|
211
|
+
apiUrl: "",
|
|
188
212
|
appUrl: "",
|
|
189
213
|
authMode: "disabled",
|
|
190
214
|
oidcIssuer: "",
|
|
@@ -192,6 +216,52 @@ describe("/config.json synthesis", () => {
|
|
|
192
216
|
oidcAudience: "",
|
|
193
217
|
});
|
|
194
218
|
});
|
|
219
|
+
|
|
220
|
+
describe("under the OIDC posture", () => {
|
|
221
|
+
const ISSUER = "https://auth.example.com/realms/main";
|
|
222
|
+
const AUDIENCE = "https://stigmer.example.com/";
|
|
223
|
+
|
|
224
|
+
async function configUnder(consoleClientId: string): Promise<unknown> {
|
|
225
|
+
const oidcServer = await startServer({
|
|
226
|
+
posture: "oidc",
|
|
227
|
+
issuer: ISSUER,
|
|
228
|
+
audience: AUDIENCE,
|
|
229
|
+
consoleClientId,
|
|
230
|
+
});
|
|
231
|
+
const oidcPort = await oidcServer.listen(0, "127.0.0.1");
|
|
232
|
+
try {
|
|
233
|
+
const response = await fetch(
|
|
234
|
+
`http://127.0.0.1:${oidcPort}/config.json`,
|
|
235
|
+
);
|
|
236
|
+
expect(response.status).toBe(200);
|
|
237
|
+
return await response.json();
|
|
238
|
+
} finally {
|
|
239
|
+
await oidcServer.shutdown();
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
it("tells the console the issuer, the audience and its client id", async () => {
|
|
244
|
+
expect(await configUnder("stigmer-console")).toEqual({
|
|
245
|
+
apiUrl: "",
|
|
246
|
+
appUrl: "",
|
|
247
|
+
authMode: "oidc",
|
|
248
|
+
oidcIssuer: ISSUER,
|
|
249
|
+
oidcClientId: "stigmer-console",
|
|
250
|
+
oidcAudience: AUDIENCE,
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
it("keeps authMode honest when no console client is registered — the client id is empty, never a disabled lie", async () => {
|
|
255
|
+
expect(await configUnder("")).toEqual({
|
|
256
|
+
apiUrl: "",
|
|
257
|
+
appUrl: "",
|
|
258
|
+
authMode: "oidc",
|
|
259
|
+
oidcIssuer: ISSUER,
|
|
260
|
+
oidcClientId: "",
|
|
261
|
+
oidcAudience: AUDIENCE,
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
});
|
|
195
265
|
});
|
|
196
266
|
|
|
197
267
|
describe("the guard: RPC and /v1/* flow exactly as without the lane", () => {
|
|
@@ -32,6 +32,7 @@ const index = buildConsoleFileIndex([
|
|
|
32
32
|
"/__next._tree.txt",
|
|
33
33
|
"/conversations.html",
|
|
34
34
|
"/conversations.txt",
|
|
35
|
+
"/auth/callback.html",
|
|
35
36
|
"/auth/github/callback.html",
|
|
36
37
|
"/sessions/__placeholder__.html",
|
|
37
38
|
"/sessions/__placeholder__.txt",
|
|
@@ -69,6 +70,11 @@ describe("page contract (the nginx chain)", () => {
|
|
|
69
70
|
expect(servedFile("/auth/github/callback")).toBe(
|
|
70
71
|
"/auth/github/callback.html",
|
|
71
72
|
);
|
|
73
|
+
// The OIDC return leg (20260913.02): the provider redirects here with
|
|
74
|
+
// `?code&state`; the handler strips the query, so the resolver sees
|
|
75
|
+
// exactly this path and must answer the callback document, never
|
|
76
|
+
// the 404 page — a 404 here is a login that can never complete.
|
|
77
|
+
expect(servedFile("/auth/callback")).toBe("/auth/callback.html");
|
|
72
78
|
});
|
|
73
79
|
|
|
74
80
|
it("resolves one trailing dynamic segment to its placeholder document", () => {
|
|
@@ -6,6 +6,13 @@
|
|
|
6
6
|
* nginx-equivalence-gated); this module owns the HTTP half: the lane
|
|
7
7
|
* guard, header policy, config synthesis, and file streaming.
|
|
8
8
|
*
|
|
9
|
+
* /config.json is also how the served console learns to sign in
|
|
10
|
+
* (20260913.02 sp.console-login; stigmer#924): the composition root hands
|
|
11
|
+
* the lane the server's authentication posture (ConsoleSignInPosture) and
|
|
12
|
+
* the lane publishes it in the console's own vocabulary — the OIDC
|
|
13
|
+
* issuer, audience and the console's PKCE client id under the posture,
|
|
14
|
+
* `disabled` under trusted local.
|
|
15
|
+
*
|
|
9
16
|
* Lane guard (consoleLaneEligible): the lane claims GET/HEAD only — RPC
|
|
10
17
|
* traffic is POST on service-qualified paths, and OPTIONS preflights keep
|
|
11
18
|
* flowing to the RPC lane's CORS handling — and it never claims:
|
|
@@ -74,18 +81,39 @@ function isServiceShapedPath(pathname: string): boolean {
|
|
|
74
81
|
return segments.length === 2 && (segments[0] ?? "").includes(".");
|
|
75
82
|
}
|
|
76
83
|
|
|
84
|
+
/**
|
|
85
|
+
* How the console this lane serves signs in — the server's authentication
|
|
86
|
+
* posture as the console needs to hear it (20260913.02 sp.console-login).
|
|
87
|
+
* A modeled state, never a nullable: "no issuer configured" and "forgot to
|
|
88
|
+
* wire the posture" must stay distinguishable at the call site.
|
|
89
|
+
*
|
|
90
|
+
* Under `oidc`, `consoleClientId` is the PUBLIC client the operator
|
|
91
|
+
* registered for the browser's PKCE flow, or "" when they have not
|
|
92
|
+
* (Q-CL-1): the lane publishes that truth as-is and the console refuses
|
|
93
|
+
* with copy that names the knob (Q-CL-2), while the composition root has
|
|
94
|
+
* already WARNed at wiring time. Emitting `disabled` instead would send
|
|
95
|
+
* the console into every RPC tokenless, to fail with a worse message.
|
|
96
|
+
*/
|
|
97
|
+
export type ConsoleSignInPosture =
|
|
98
|
+
| { readonly posture: "trusted-local" }
|
|
99
|
+
| {
|
|
100
|
+
readonly posture: "oidc";
|
|
101
|
+
readonly issuer: string;
|
|
102
|
+
readonly audience: string;
|
|
103
|
+
readonly consoleClientId: string;
|
|
104
|
+
};
|
|
105
|
+
|
|
77
106
|
export interface ConsoleLaneOptions {
|
|
78
107
|
readonly assets: ConsoleAssets;
|
|
79
|
-
|
|
80
|
-
* Fallback port for the synthesized apiUrl when a request carries no
|
|
81
|
-
* Host/:authority (technically possible on HTTP/1.0-style clients).
|
|
82
|
-
*/
|
|
83
|
-
readonly grpcPort: number;
|
|
108
|
+
readonly signIn: ConsoleSignInPosture;
|
|
84
109
|
readonly logger: Logger;
|
|
85
110
|
}
|
|
86
111
|
|
|
87
112
|
export function createConsoleLane(options: ConsoleLaneOptions): LaneHandler {
|
|
88
|
-
const { assets,
|
|
113
|
+
const { assets, signIn, logger } = options;
|
|
114
|
+
// The console's runtime config is a pure function of the posture: one
|
|
115
|
+
// body, built once, served on every request.
|
|
116
|
+
const configJsonBody = JSON.stringify(consoleRuntimeConfig(signIn));
|
|
89
117
|
|
|
90
118
|
return (request: LaneRequest, response: LaneResponse): void => {
|
|
91
119
|
const url = request.url ?? "";
|
|
@@ -94,7 +122,7 @@ export function createConsoleLane(options: ConsoleLaneOptions): LaneHandler {
|
|
|
94
122
|
const query = queryStart === -1 ? "" : url.slice(queryStart);
|
|
95
123
|
|
|
96
124
|
if (rawPath === CONFIG_JSON_PATH) {
|
|
97
|
-
serveConfigJson(request, response,
|
|
125
|
+
serveConfigJson(request, response, configJsonBody);
|
|
98
126
|
return;
|
|
99
127
|
}
|
|
100
128
|
|
|
@@ -134,34 +162,60 @@ export function createConsoleLane(options: ConsoleLaneOptions): LaneHandler {
|
|
|
134
162
|
|
|
135
163
|
/**
|
|
136
164
|
* The runtime config the cloud container's entrypoint.sh generates from
|
|
137
|
-
* env
|
|
138
|
-
* the nginx entrypoint script is not ported).
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
165
|
+
* env, synthesized here from the server's own knowledge instead (DD-012:
|
|
166
|
+
* the nginx entrypoint script is not ported). The field names are the
|
|
167
|
+
* console's loader's (client-apps/web/src/config/runtime-config.ts).
|
|
168
|
+
*
|
|
169
|
+
* `apiUrl` is the empty string, which the console reads as "my own
|
|
170
|
+
* origin" — the rule its `appUrl` already follows (20260913.02 Q-CL-3).
|
|
171
|
+
* This lane and the RPC lane share one port, so the console can never
|
|
172
|
+
* need a different origin, and it makes the answer right behind a
|
|
173
|
+
* TLS-terminating proxy without trusting x-forwarded-proto: the earlier
|
|
174
|
+
* Host-derived `http://<host>` sent an https-loaded console to an http
|
|
175
|
+
* API and died on mixed content.
|
|
176
|
+
*
|
|
177
|
+
* Every value here is public metadata: an OIDC issuer URL, an audience
|
|
178
|
+
* string and a PKCE client id are what a browser is handed by design.
|
|
144
179
|
*/
|
|
180
|
+
function consoleRuntimeConfig(signIn: ConsoleSignInPosture): {
|
|
181
|
+
readonly apiUrl: "";
|
|
182
|
+
readonly appUrl: "";
|
|
183
|
+
readonly authMode: "disabled" | "oidc";
|
|
184
|
+
readonly oidcIssuer: string;
|
|
185
|
+
readonly oidcClientId: string;
|
|
186
|
+
readonly oidcAudience: string;
|
|
187
|
+
} {
|
|
188
|
+
switch (signIn.posture) {
|
|
189
|
+
case "trusted-local":
|
|
190
|
+
return {
|
|
191
|
+
apiUrl: "",
|
|
192
|
+
appUrl: "",
|
|
193
|
+
authMode: "disabled",
|
|
194
|
+
oidcIssuer: "",
|
|
195
|
+
oidcClientId: "",
|
|
196
|
+
oidcAudience: "",
|
|
197
|
+
};
|
|
198
|
+
case "oidc":
|
|
199
|
+
return {
|
|
200
|
+
apiUrl: "",
|
|
201
|
+
appUrl: "",
|
|
202
|
+
authMode: "oidc",
|
|
203
|
+
oidcIssuer: signIn.issuer,
|
|
204
|
+
oidcClientId: signIn.consoleClientId,
|
|
205
|
+
oidcAudience: signIn.audience,
|
|
206
|
+
};
|
|
207
|
+
default: {
|
|
208
|
+
const exhaustive: never = signIn;
|
|
209
|
+
throw new Error(`unhandled sign-in posture ${String(exhaustive)}`);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
145
214
|
function serveConfigJson(
|
|
146
215
|
request: LaneRequest,
|
|
147
216
|
response: LaneResponse,
|
|
148
|
-
|
|
217
|
+
body: string,
|
|
149
218
|
): void {
|
|
150
|
-
// HTTP/1.1 carries Host; Node maps HTTP/2's :authority into the same
|
|
151
|
-
// headers view (and Http2ServerRequest.authority falls back to it).
|
|
152
|
-
const host = request.headers.host ?? request.headers[":authority"];
|
|
153
|
-
const apiUrl =
|
|
154
|
-
typeof host === "string" && host !== ""
|
|
155
|
-
? `http://${host}`
|
|
156
|
-
: `http://localhost:${grpcPort}`;
|
|
157
|
-
const body = JSON.stringify({
|
|
158
|
-
apiUrl,
|
|
159
|
-
appUrl: "",
|
|
160
|
-
authMode: "disabled",
|
|
161
|
-
oidcIssuer: "",
|
|
162
|
-
oidcClientId: "",
|
|
163
|
-
oidcAudience: "",
|
|
164
|
-
});
|
|
165
219
|
response.statusCode = 200;
|
|
166
220
|
response.setHeader("Content-Type", "application/json");
|
|
167
221
|
response.setHeader("Cache-Control", CONFIG_JSON_CACHE_CONTROL);
|