@webda/debug 4.0.0-beta.5 → 4.0.0-beta.7
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 +5 -6
- package/lib/debugservice.service.d.ts +134 -23
- package/lib/debugservice.service.js +417 -73
- package/lib/debugservice.service.js.map +1 -1
- package/lib/introspection.d.ts +17 -0
- package/lib/introspection.js +52 -6
- package/lib/introspection.js.map +1 -1
- package/lib/security.d.ts +155 -0
- package/lib/security.js +217 -0
- package/lib/security.js.map +1 -0
- package/lib/tui/client.d.ts +4 -1
- package/lib/tui/client.js +10 -3
- package/lib/tui/client.js.map +1 -1
- package/lib/tui/tui.d.ts +2 -1
- package/lib/tui/tui.js +6 -3
- package/lib/tui/tui.js.map +1 -1
- package/package.json +13 -8
- package/webda.module.json +129 -0
- package/webui/assets/favicon-CVPPk1M-.svg +1 -0
- package/webui/assets/index-BHmmE2oC.css +1 -0
- package/webui/assets/index-RYFIlyiZ.js +51 -0
- package/webui/index.html +13 -20
- package/webui/app.js +0 -177
- package/webui/components/logs.js +0 -128
- package/webui/components/model-graph.js +0 -292
- package/webui/components/models.js +0 -213
- package/webui/components/operations.js +0 -315
- package/webui/components/requests.js +0 -264
- package/webui/components/schema-form.js +0 -268
- package/webui/components/services.js +0 -248
- package/webui/logo.svg +0 -1
- package/webui/styles.css +0 -685
- package/webui/vendor/htm.js +0 -1
- package/webui/vendor/preact-hooks.js +0 -2
- package/webui/vendor/preact.js +0 -2
- package/webui/webda.png +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugservice.service.js","sourceRoot":"","sources":["../src/debugservice.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"debugservice.service.js","sourceRoot":"","sources":["../src/debugservice.service.ts"],"names":[],"mappings":"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"}
|
package/lib/introspection.d.ts
CHANGED
|
@@ -10,9 +10,26 @@ export interface ModelInfo {
|
|
|
10
10
|
actions: string[];
|
|
11
11
|
/** Relation graph (links, queries, maps, binaries) */
|
|
12
12
|
relations: any;
|
|
13
|
+
/** Identifiers of the registered parent models, closest first */
|
|
14
|
+
ancestors: string[];
|
|
15
|
+
/** Identifiers of the registered models extending this one directly */
|
|
16
|
+
subclasses: string[];
|
|
13
17
|
/** Full raw ModelMetadata object */
|
|
14
18
|
metadata: any;
|
|
15
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Inheritance of the registered models, computed from the class prototype chain.
|
|
22
|
+
*
|
|
23
|
+
* The metadata's `Ancestors` is empty at runtime, so the chain is walked here:
|
|
24
|
+
* only registered models count, intermediate unregistered classes are skipped.
|
|
25
|
+
*
|
|
26
|
+
* @param models - identifier → model class
|
|
27
|
+
* @returns ancestors (closest first) and direct subclasses per identifier
|
|
28
|
+
*/
|
|
29
|
+
export declare function computeInheritance(models: Record<string, any>): Record<string, {
|
|
30
|
+
ancestors: string[];
|
|
31
|
+
subclasses: string[];
|
|
32
|
+
}>;
|
|
16
33
|
/**
|
|
17
34
|
* Information about a running service.
|
|
18
35
|
*/
|
package/lib/introspection.js
CHANGED
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
import { useApplication, useCore, useRouter, listFullOperations, useModelMetadata } from "@webda/core";
|
|
2
|
+
/**
|
|
3
|
+
* Inheritance of the registered models, computed from the class prototype chain.
|
|
4
|
+
*
|
|
5
|
+
* The metadata's `Ancestors` is empty at runtime, so the chain is walked here:
|
|
6
|
+
* only registered models count, intermediate unregistered classes are skipped.
|
|
7
|
+
*
|
|
8
|
+
* @param models - identifier → model class
|
|
9
|
+
* @returns ancestors (closest first) and direct subclasses per identifier
|
|
10
|
+
*/
|
|
11
|
+
export function computeInheritance(models) {
|
|
12
|
+
const ids = new Map();
|
|
13
|
+
for (const [id, model] of Object.entries(models)) {
|
|
14
|
+
if (typeof model === "function" || (model && typeof model === "object"))
|
|
15
|
+
ids.set(model, id);
|
|
16
|
+
}
|
|
17
|
+
const result = {};
|
|
18
|
+
for (const id of Object.keys(models))
|
|
19
|
+
result[id] = { ancestors: [], subclasses: [] };
|
|
20
|
+
for (const [id, model] of Object.entries(models)) {
|
|
21
|
+
let parent = model ? Object.getPrototypeOf(model) : null;
|
|
22
|
+
let guard = 0;
|
|
23
|
+
while (parent && parent !== Function.prototype && parent !== Object.prototype && guard++ < 64) {
|
|
24
|
+
const parentId = ids.get(parent);
|
|
25
|
+
if (parentId && parentId !== id) {
|
|
26
|
+
result[id].ancestors.push(parentId);
|
|
27
|
+
}
|
|
28
|
+
parent = Object.getPrototypeOf(parent);
|
|
29
|
+
}
|
|
30
|
+
const direct = result[id].ancestors[0];
|
|
31
|
+
if (direct)
|
|
32
|
+
result[direct].subclasses.push(id);
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
2
36
|
/**
|
|
3
37
|
* Returns introspection data for all models registered in the application.
|
|
4
38
|
*
|
|
@@ -11,6 +45,7 @@ export function getModels() {
|
|
|
11
45
|
const app = useApplication();
|
|
12
46
|
const core = useCore();
|
|
13
47
|
const models = app.getModels();
|
|
48
|
+
const inheritance = computeInheritance(models);
|
|
14
49
|
return Object.entries(models).map(([key, model]) => {
|
|
15
50
|
const metadata = useModelMetadata(model);
|
|
16
51
|
let storeName;
|
|
@@ -30,6 +65,8 @@ export function getModels() {
|
|
|
30
65
|
plural: metadata?.Plural || key,
|
|
31
66
|
actions: Object.keys(metadata?.Actions || {}),
|
|
32
67
|
relations: metadata?.Relations || {},
|
|
68
|
+
ancestors: inheritance[key]?.ancestors ?? [],
|
|
69
|
+
subclasses: inheritance[key]?.subclasses ?? [],
|
|
33
70
|
store: storeName,
|
|
34
71
|
storeType,
|
|
35
72
|
schemas: metadata?.Schemas,
|
|
@@ -71,10 +108,12 @@ export function getServices() {
|
|
|
71
108
|
continue;
|
|
72
109
|
const m = metric;
|
|
73
110
|
try {
|
|
74
|
-
const values = m.hashMap
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
111
|
+
const values = m.hashMap
|
|
112
|
+
? Object.values(m.hashMap).map((v) => ({
|
|
113
|
+
value: v.value,
|
|
114
|
+
labels: v.labels
|
|
115
|
+
}))
|
|
116
|
+
: [];
|
|
78
117
|
metricsInfo.push({
|
|
79
118
|
name: key,
|
|
80
119
|
fullName: m.name,
|
|
@@ -144,7 +183,11 @@ export function getOperations() {
|
|
|
144
183
|
// Enrich rest with full URL from router
|
|
145
184
|
const route = operationRoutes[opId];
|
|
146
185
|
if (route) {
|
|
147
|
-
entry.rest = {
|
|
186
|
+
entry.rest = {
|
|
187
|
+
...(typeof entry.rest === "object" ? entry.rest : {}),
|
|
188
|
+
url: route.url,
|
|
189
|
+
method: entry.rest?.method || route.method
|
|
190
|
+
};
|
|
148
191
|
}
|
|
149
192
|
// Dedent: find the smallest leading whitespace (skipping the first line which
|
|
150
193
|
// Function.toString() always returns at column 0) and strip it from all lines
|
|
@@ -153,7 +196,10 @@ export function getOperations() {
|
|
|
153
196
|
if (lines.length <= 1)
|
|
154
197
|
return code;
|
|
155
198
|
// Compute min indent from lines 1+ (skip first line and empty lines)
|
|
156
|
-
const indents = lines
|
|
199
|
+
const indents = lines
|
|
200
|
+
.slice(1)
|
|
201
|
+
.filter(l => l.trim().length > 0)
|
|
202
|
+
.map(l => (l.match(/^(\s*)/) || ["", ""])[1].length);
|
|
157
203
|
if (indents.length === 0)
|
|
158
204
|
return code;
|
|
159
205
|
const min = Math.min(...indents);
|
package/lib/introspection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspection.js","sourceRoot":"","sources":["../src/introspection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"introspection.js","sourceRoot":"","sources":["../src/introspection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version of the debug HTTP/WebSocket API served by this package.
|
|
3
|
+
*
|
|
4
|
+
* The hosted dashboard (https://webda.io/debug/) is always the latest build and
|
|
5
|
+
* compares this integer with the version it supports to decide which panels to
|
|
6
|
+
* show and whether to ask for an `@webda/debug` update. Bump it whenever the
|
|
7
|
+
* wire contract changes in a way the UI must know about.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DEBUG_API_VERSION = 1;
|
|
10
|
+
/** Sub-protocol the dashboard offers on the websocket; the server selects it. */
|
|
11
|
+
export declare const WS_PROTOCOL = "webda-debug.v1";
|
|
12
|
+
/** Prefix of the sub-protocol entry carrying the session token. */
|
|
13
|
+
export declare const WS_TOKEN_PREFIX = "webda-token.";
|
|
14
|
+
/** Default location of the hosted dashboard. */
|
|
15
|
+
export declare const HOSTED_DASHBOARD_URL = "https://webda.io/debug/";
|
|
16
|
+
/** Lifetime of a one-time bootstrap code, in milliseconds. */
|
|
17
|
+
export declare const BOOTSTRAP_CODE_TTL: number;
|
|
18
|
+
/**
|
|
19
|
+
* Content-Security-Policy of the pages the debug server serves.
|
|
20
|
+
*
|
|
21
|
+
* Only same-origin scripts and styles, connections to itself (API + websocket),
|
|
22
|
+
* never framed.
|
|
23
|
+
*/
|
|
24
|
+
export declare const LOCAL_PAGE_CSP: string;
|
|
25
|
+
/** The only origin allowed to call the debug API from a browser in production: the docs site. */
|
|
26
|
+
export declare const HOSTED_ORIGIN = "https://webda.io";
|
|
27
|
+
/**
|
|
28
|
+
* Origins allowed to call the debug API from a browser.
|
|
29
|
+
*
|
|
30
|
+
* `https://webda.io` always; the origin of `WEBDA_DEBUG_UI_URL` (the docs dev
|
|
31
|
+
* server, e.g. `http://localhost:3000/debug/`) only when that variable is set,
|
|
32
|
+
* so a random local server on port 3000 gets nothing in a normal run.
|
|
33
|
+
*
|
|
34
|
+
* @param env - environment variables
|
|
35
|
+
* @returns the allowed origins
|
|
36
|
+
*/
|
|
37
|
+
export declare function allowedOrigins(env: Record<string, string | undefined>): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Generate a per-session token: 32 random bytes (256 bits) as hex.
|
|
40
|
+
*
|
|
41
|
+
* @returns the token
|
|
42
|
+
*/
|
|
43
|
+
export declare function generateToken(): string;
|
|
44
|
+
/**
|
|
45
|
+
* Constant-time string comparison.
|
|
46
|
+
*
|
|
47
|
+
* Both inputs are hashed before `timingSafeEqual` so the comparison neither
|
|
48
|
+
* leaks the length nor the position of the first mismatching byte.
|
|
49
|
+
*
|
|
50
|
+
* @param a - first value
|
|
51
|
+
* @param b - second value
|
|
52
|
+
* @returns `true` when both are defined and equal
|
|
53
|
+
*/
|
|
54
|
+
export declare function safeEqual(a: string | undefined, b: string | undefined): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Read the token from an `Authorization: Bearer <token>` header.
|
|
57
|
+
*
|
|
58
|
+
* @param header - the Authorization header value
|
|
59
|
+
* @returns the token, or `undefined` when the header is absent or not a bearer
|
|
60
|
+
*/
|
|
61
|
+
export declare function extractBearerToken(header: string | undefined): string | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Read the token offered as a websocket sub-protocol (`webda-token.<token>`).
|
|
64
|
+
*
|
|
65
|
+
* Browsers cannot set headers on a WebSocket, so the dashboard offers the token
|
|
66
|
+
* as a sub-protocol value, which never lands in a URL or an access log.
|
|
67
|
+
*
|
|
68
|
+
* @param header - the `Sec-WebSocket-Protocol` header value
|
|
69
|
+
* @returns the token, or `undefined`
|
|
70
|
+
*/
|
|
71
|
+
export declare function extractWsToken(header: string | undefined): string | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* DNS-rebinding guard: only loopback hosts on the debug port are accepted.
|
|
74
|
+
*
|
|
75
|
+
* @param host - the `Host` header value
|
|
76
|
+
* @param port - the port the debug server listens on
|
|
77
|
+
* @returns `true` when the host is `localhost`, `127.0.0.1` or `[::1]` on that port
|
|
78
|
+
*/
|
|
79
|
+
export declare function isAllowedHost(host: string | undefined, port: number): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Determine whether the given Origin header value is allowed to access the debug API.
|
|
82
|
+
*
|
|
83
|
+
* Exact comparison against {@link allowedOrigins}: `https://webda.io`, plus the
|
|
84
|
+
* dev origin when `WEBDA_DEBUG_UI_URL` is set. No wildcard.
|
|
85
|
+
*
|
|
86
|
+
* @param origin - The value of the HTTP `Origin` request header.
|
|
87
|
+
* @param origins - The allowlist (defaults to the production one).
|
|
88
|
+
* @returns `true` if the origin is allowed, `false` otherwise.
|
|
89
|
+
*/
|
|
90
|
+
export declare function isAllowedOrigin(origin: string | undefined, origins?: readonly string[]): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Origins of the debug server itself, for same-origin requests from the `--local` page.
|
|
93
|
+
*
|
|
94
|
+
* @param port - the debug port
|
|
95
|
+
* @returns `http://127.0.0.1:<port>`, `http://[::1]:<port>` and `http://localhost:<port>`
|
|
96
|
+
*/
|
|
97
|
+
export declare function debugOrigins(port: number): string[];
|
|
98
|
+
/** Inputs of {@link buildDebugUrl}. */
|
|
99
|
+
export interface DebugUrlOptions {
|
|
100
|
+
/** Port of the debug server */
|
|
101
|
+
port: number;
|
|
102
|
+
/** Session token */
|
|
103
|
+
token: string;
|
|
104
|
+
/** Serve the bundled dashboard from the debug server instead of the hosted one */
|
|
105
|
+
local?: boolean;
|
|
106
|
+
/** Whether usage analytics are allowed on the hosted dashboard */
|
|
107
|
+
telemetry?: boolean;
|
|
108
|
+
/** Hosted dashboard base URL (defaults to {@link HOSTED_DASHBOARD_URL}) */
|
|
109
|
+
hostedBase?: string;
|
|
110
|
+
/** One-time bootstrap code of the local page (`--local`) */
|
|
111
|
+
code?: string;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Build the URL `webda debug --web` opens.
|
|
115
|
+
*
|
|
116
|
+
* - hosted: `https://webda.io/debug/?port=<port>#token=<token>[&telemetry=0]` —
|
|
117
|
+
* the token travels in the fragment, which browsers never send to the server
|
|
118
|
+
* and which the docs page strips before analytics can see it;
|
|
119
|
+
* - local: `http://127.0.0.1:<port>/#code=<one-time code>` — the page exchanges
|
|
120
|
+
* the code for the token on `/api/session`; the URL never carries the token.
|
|
121
|
+
*
|
|
122
|
+
* `127.0.0.1` rather than `localhost`: browsers resolve `localhost` to `::1`
|
|
123
|
+
* first, and a squatter on `[::1]:<port>` would otherwise receive the requests.
|
|
124
|
+
*
|
|
125
|
+
* @param options - port, token and mode
|
|
126
|
+
* @returns the URL to open
|
|
127
|
+
*/
|
|
128
|
+
export declare function buildDebugUrl(options: DebugUrlOptions): string;
|
|
129
|
+
/**
|
|
130
|
+
* Resolve the telemetry opt-out from the `--no-telemetry` flag and `WEBDA_TELEMETRY`.
|
|
131
|
+
*
|
|
132
|
+
* @param flag - value of the `telemetry` command flag (`false` for `--no-telemetry`)
|
|
133
|
+
* @param env - environment variables
|
|
134
|
+
* @returns `true` when usage analytics may be sent
|
|
135
|
+
*/
|
|
136
|
+
export declare function resolveTelemetry(flag: boolean | undefined, env: Record<string, string | undefined>): boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Command used to open a URL in the default browser, as an argument array (no shell).
|
|
139
|
+
*
|
|
140
|
+
* @param url - the URL to open
|
|
141
|
+
* @param os - the platform (`process.platform` by default)
|
|
142
|
+
* @returns the executable and its arguments
|
|
143
|
+
*/
|
|
144
|
+
export declare function browserOpenCommand(url: string, os?: string): {
|
|
145
|
+
command: string;
|
|
146
|
+
args: string[];
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* Open a URL in the default browser without going through a shell.
|
|
150
|
+
*
|
|
151
|
+
* Failures are ignored: the URL is printed anyway and the user can open it by hand.
|
|
152
|
+
*
|
|
153
|
+
* @param url - the URL to open
|
|
154
|
+
*/
|
|
155
|
+
export declare function openInBrowser(url: string): void;
|
package/lib/security.js
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { createHash, randomBytes, timingSafeEqual } from "node:crypto";
|
|
2
|
+
import { execFile } from "node:child_process";
|
|
3
|
+
import { platform } from "node:os";
|
|
4
|
+
/**
|
|
5
|
+
* Version of the debug HTTP/WebSocket API served by this package.
|
|
6
|
+
*
|
|
7
|
+
* The hosted dashboard (https://webda.io/debug/) is always the latest build and
|
|
8
|
+
* compares this integer with the version it supports to decide which panels to
|
|
9
|
+
* show and whether to ask for an `@webda/debug` update. Bump it whenever the
|
|
10
|
+
* wire contract changes in a way the UI must know about.
|
|
11
|
+
*/
|
|
12
|
+
export const DEBUG_API_VERSION = 1;
|
|
13
|
+
/** Sub-protocol the dashboard offers on the websocket; the server selects it. */
|
|
14
|
+
export const WS_PROTOCOL = "webda-debug.v1";
|
|
15
|
+
/** Prefix of the sub-protocol entry carrying the session token. */
|
|
16
|
+
export const WS_TOKEN_PREFIX = "webda-token.";
|
|
17
|
+
/** Default location of the hosted dashboard. */
|
|
18
|
+
export const HOSTED_DASHBOARD_URL = "https://webda.io/debug/";
|
|
19
|
+
/** Lifetime of a one-time bootstrap code, in milliseconds. */
|
|
20
|
+
export const BOOTSTRAP_CODE_TTL = 10 * 60 * 1000;
|
|
21
|
+
/**
|
|
22
|
+
* Content-Security-Policy of the pages the debug server serves.
|
|
23
|
+
*
|
|
24
|
+
* Only same-origin scripts and styles, connections to itself (API + websocket),
|
|
25
|
+
* never framed.
|
|
26
|
+
*/
|
|
27
|
+
export const LOCAL_PAGE_CSP = "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; " +
|
|
28
|
+
"object-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'";
|
|
29
|
+
/** The only origin allowed to call the debug API from a browser in production: the docs site. */
|
|
30
|
+
export const HOSTED_ORIGIN = "https://webda.io";
|
|
31
|
+
/**
|
|
32
|
+
* Origins allowed to call the debug API from a browser.
|
|
33
|
+
*
|
|
34
|
+
* `https://webda.io` always; the origin of `WEBDA_DEBUG_UI_URL` (the docs dev
|
|
35
|
+
* server, e.g. `http://localhost:3000/debug/`) only when that variable is set,
|
|
36
|
+
* so a random local server on port 3000 gets nothing in a normal run.
|
|
37
|
+
*
|
|
38
|
+
* @param env - environment variables
|
|
39
|
+
* @returns the allowed origins
|
|
40
|
+
*/
|
|
41
|
+
export function allowedOrigins(env) {
|
|
42
|
+
const origins = [HOSTED_ORIGIN];
|
|
43
|
+
if (env.WEBDA_DEBUG_UI_URL) {
|
|
44
|
+
try {
|
|
45
|
+
const origin = new URL(env.WEBDA_DEBUG_UI_URL).origin;
|
|
46
|
+
if (origin && origin !== "null" && !origins.includes(origin))
|
|
47
|
+
origins.push(origin);
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// not a URL: ignored
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return origins;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Generate a per-session token: 32 random bytes (256 bits) as hex.
|
|
57
|
+
*
|
|
58
|
+
* @returns the token
|
|
59
|
+
*/
|
|
60
|
+
export function generateToken() {
|
|
61
|
+
return randomBytes(32).toString("hex");
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Constant-time string comparison.
|
|
65
|
+
*
|
|
66
|
+
* Both inputs are hashed before `timingSafeEqual` so the comparison neither
|
|
67
|
+
* leaks the length nor the position of the first mismatching byte.
|
|
68
|
+
*
|
|
69
|
+
* @param a - first value
|
|
70
|
+
* @param b - second value
|
|
71
|
+
* @returns `true` when both are defined and equal
|
|
72
|
+
*/
|
|
73
|
+
export function safeEqual(a, b) {
|
|
74
|
+
if (typeof a !== "string" || typeof b !== "string")
|
|
75
|
+
return false;
|
|
76
|
+
const ha = createHash("sha256").update(a).digest();
|
|
77
|
+
const hb = createHash("sha256").update(b).digest();
|
|
78
|
+
return timingSafeEqual(ha, hb) && a.length === b.length;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Read the token from an `Authorization: Bearer <token>` header.
|
|
82
|
+
*
|
|
83
|
+
* @param header - the Authorization header value
|
|
84
|
+
* @returns the token, or `undefined` when the header is absent or not a bearer
|
|
85
|
+
*/
|
|
86
|
+
export function extractBearerToken(header) {
|
|
87
|
+
if (!header)
|
|
88
|
+
return undefined;
|
|
89
|
+
const match = /^Bearer\s+(\S+)$/i.exec(header.trim());
|
|
90
|
+
return match ? match[1] : undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Read the token offered as a websocket sub-protocol (`webda-token.<token>`).
|
|
94
|
+
*
|
|
95
|
+
* Browsers cannot set headers on a WebSocket, so the dashboard offers the token
|
|
96
|
+
* as a sub-protocol value, which never lands in a URL or an access log.
|
|
97
|
+
*
|
|
98
|
+
* @param header - the `Sec-WebSocket-Protocol` header value
|
|
99
|
+
* @returns the token, or `undefined`
|
|
100
|
+
*/
|
|
101
|
+
export function extractWsToken(header) {
|
|
102
|
+
if (!header)
|
|
103
|
+
return undefined;
|
|
104
|
+
for (const entry of header.split(",")) {
|
|
105
|
+
const value = entry.trim();
|
|
106
|
+
if (value.startsWith(WS_TOKEN_PREFIX)) {
|
|
107
|
+
return value.substring(WS_TOKEN_PREFIX.length) || undefined;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* DNS-rebinding guard: only loopback hosts on the debug port are accepted.
|
|
114
|
+
*
|
|
115
|
+
* @param host - the `Host` header value
|
|
116
|
+
* @param port - the port the debug server listens on
|
|
117
|
+
* @returns `true` when the host is `localhost`, `127.0.0.1` or `[::1]` on that port
|
|
118
|
+
*/
|
|
119
|
+
export function isAllowedHost(host, port) {
|
|
120
|
+
if (!host)
|
|
121
|
+
return false;
|
|
122
|
+
return host === `localhost:${port}` || host === `127.0.0.1:${port}` || host === `[::1]:${port}`;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Determine whether the given Origin header value is allowed to access the debug API.
|
|
126
|
+
*
|
|
127
|
+
* Exact comparison against {@link allowedOrigins}: `https://webda.io`, plus the
|
|
128
|
+
* dev origin when `WEBDA_DEBUG_UI_URL` is set. No wildcard.
|
|
129
|
+
*
|
|
130
|
+
* @param origin - The value of the HTTP `Origin` request header.
|
|
131
|
+
* @param origins - The allowlist (defaults to the production one).
|
|
132
|
+
* @returns `true` if the origin is allowed, `false` otherwise.
|
|
133
|
+
*/
|
|
134
|
+
export function isAllowedOrigin(origin, origins = [HOSTED_ORIGIN]) {
|
|
135
|
+
return !!origin && origins.includes(origin);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Origins of the debug server itself, for same-origin requests from the `--local` page.
|
|
139
|
+
*
|
|
140
|
+
* @param port - the debug port
|
|
141
|
+
* @returns `http://127.0.0.1:<port>`, `http://[::1]:<port>` and `http://localhost:<port>`
|
|
142
|
+
*/
|
|
143
|
+
export function debugOrigins(port) {
|
|
144
|
+
return [`http://127.0.0.1:${port}`, `http://[::1]:${port}`, `http://localhost:${port}`];
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Build the URL `webda debug --web` opens.
|
|
148
|
+
*
|
|
149
|
+
* - hosted: `https://webda.io/debug/?port=<port>#token=<token>[&telemetry=0]` —
|
|
150
|
+
* the token travels in the fragment, which browsers never send to the server
|
|
151
|
+
* and which the docs page strips before analytics can see it;
|
|
152
|
+
* - local: `http://127.0.0.1:<port>/#code=<one-time code>` — the page exchanges
|
|
153
|
+
* the code for the token on `/api/session`; the URL never carries the token.
|
|
154
|
+
*
|
|
155
|
+
* `127.0.0.1` rather than `localhost`: browsers resolve `localhost` to `::1`
|
|
156
|
+
* first, and a squatter on `[::1]:<port>` would otherwise receive the requests.
|
|
157
|
+
*
|
|
158
|
+
* @param options - port, token and mode
|
|
159
|
+
* @returns the URL to open
|
|
160
|
+
*/
|
|
161
|
+
export function buildDebugUrl(options) {
|
|
162
|
+
if (options.local) {
|
|
163
|
+
return `http://127.0.0.1:${options.port}/${options.code ? `#code=${encodeURIComponent(options.code)}` : ""}`;
|
|
164
|
+
}
|
|
165
|
+
let base = options.hostedBase || HOSTED_DASHBOARD_URL;
|
|
166
|
+
if (!base.endsWith("/"))
|
|
167
|
+
base += "/";
|
|
168
|
+
const fragment = `token=${encodeURIComponent(options.token)}${options.telemetry === false ? "&telemetry=0" : ""}`;
|
|
169
|
+
return `${base}?port=${options.port}#${fragment}`;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Resolve the telemetry opt-out from the `--no-telemetry` flag and `WEBDA_TELEMETRY`.
|
|
173
|
+
*
|
|
174
|
+
* @param flag - value of the `telemetry` command flag (`false` for `--no-telemetry`)
|
|
175
|
+
* @param env - environment variables
|
|
176
|
+
* @returns `true` when usage analytics may be sent
|
|
177
|
+
*/
|
|
178
|
+
export function resolveTelemetry(flag, env) {
|
|
179
|
+
if (flag === false)
|
|
180
|
+
return false;
|
|
181
|
+
const value = (env.WEBDA_TELEMETRY || "").trim().toLowerCase();
|
|
182
|
+
return !(value === "0" || value === "false" || value === "off" || value === "no");
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Command used to open a URL in the default browser, as an argument array (no shell).
|
|
186
|
+
*
|
|
187
|
+
* @param url - the URL to open
|
|
188
|
+
* @param os - the platform (`process.platform` by default)
|
|
189
|
+
* @returns the executable and its arguments
|
|
190
|
+
*/
|
|
191
|
+
export function browserOpenCommand(url, os = platform()) {
|
|
192
|
+
if (os === "darwin")
|
|
193
|
+
return { command: "open", args: [url] };
|
|
194
|
+
if (os === "win32") {
|
|
195
|
+
// `start` is a cmd.exe builtin; the empty string is the window title and
|
|
196
|
+
// `&` must be escaped or cmd.exe would split the command.
|
|
197
|
+
return { command: "cmd", args: ["/c", "start", "", url.replace(/&/g, "^&")] };
|
|
198
|
+
}
|
|
199
|
+
return { command: "xdg-open", args: [url] };
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Open a URL in the default browser without going through a shell.
|
|
203
|
+
*
|
|
204
|
+
* Failures are ignored: the URL is printed anyway and the user can open it by hand.
|
|
205
|
+
*
|
|
206
|
+
* @param url - the URL to open
|
|
207
|
+
*/
|
|
208
|
+
export function openInBrowser(url) {
|
|
209
|
+
const { command, args } = browserOpenCommand(url);
|
|
210
|
+
try {
|
|
211
|
+
execFile(command, args, { windowsHide: true }, () => { });
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
// Best effort
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
|