@spine-event-engine/auth 2.0.0-snapshot.25 → 2.0.0-snapshot.28
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 +128 -11
- package/REFERENCE.md +166 -12
- package/dist/gateway/dynamic-unary-forwarder.d.ts +62 -3
- package/dist/gateway/dynamic-unary-forwarder.d.ts.map +1 -1
- package/dist/gateway/dynamic-unary-forwarder.js +189 -10
- package/dist/gateway/dynamic-unary-forwarder.js.map +1 -1
- package/dist/gateway/index.d.ts +5 -0
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +65 -7
- package/dist/gateway/index.js.map +1 -1
- package/dist/index.d.ts +60 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/native/index.d.ts +43 -3
- package/dist/native/index.d.ts.map +1 -1
- package/dist/native/index.js +178 -32
- package/dist/native/index.js.map +1 -1
- package/dist/oidc/contracts.d.ts +18 -4
- package/dist/oidc/contracts.d.ts.map +1 -1
- package/dist/oidc/flow-store.d.ts +143 -0
- package/dist/oidc/flow-store.d.ts.map +1 -0
- package/dist/oidc/flow-store.js +184 -0
- package/dist/oidc/flow-store.js.map +1 -0
- package/dist/oidc/index.d.ts +29 -9
- package/dist/oidc/index.d.ts.map +1 -1
- package/dist/oidc/index.js +611 -152
- package/dist/oidc/index.js.map +1 -1
- package/dist/oidc/persistent-flow-store.d.ts +117 -0
- package/dist/oidc/persistent-flow-store.d.ts.map +1 -0
- package/dist/oidc/persistent-flow-store.js +413 -0
- package/dist/oidc/persistent-flow-store.js.map +1 -0
- package/dist/oidc/records.d.ts +15 -0
- package/dist/oidc/records.d.ts.map +1 -0
- package/dist/oidc/records.js +91 -0
- package/dist/oidc/records.js.map +1 -0
- package/dist/providers/index.d.ts +10 -5
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +103 -30
- package/dist/providers/index.js.map +1 -1
- package/dist/request/index.d.ts +3 -0
- package/dist/request/index.d.ts.map +1 -1
- package/dist/request/index.js +17 -1
- package/dist/request/index.js.map +1 -1
- package/dist/sessions/cookies.d.ts +46 -8
- package/dist/sessions/cookies.d.ts.map +1 -1
- package/dist/sessions/cookies.js +269 -47
- package/dist/sessions/cookies.js.map +1 -1
- package/dist/sessions/opaque-session-store.d.ts +143 -0
- package/dist/sessions/opaque-session-store.d.ts.map +1 -0
- package/dist/sessions/opaque-session-store.js +185 -0
- package/dist/sessions/opaque-session-store.js.map +1 -0
- package/dist/sessions/opaque.d.ts +93 -106
- package/dist/sessions/opaque.d.ts.map +1 -1
- package/dist/sessions/opaque.js +501 -232
- package/dist/sessions/opaque.js.map +1 -1
- package/dist/sessions/persistent-opaque-session-store.d.ts +105 -0
- package/dist/sessions/persistent-opaque-session-store.d.ts.map +1 -0
- package/dist/sessions/persistent-opaque-session-store.js +333 -0
- package/dist/sessions/persistent-opaque-session-store.js.map +1 -0
- package/dist/sessions/persistent-token-revocations.d.ts +90 -0
- package/dist/sessions/persistent-token-revocations.d.ts.map +1 -0
- package/dist/sessions/persistent-token-revocations.js +422 -0
- package/dist/sessions/persistent-token-revocations.js.map +1 -0
- package/dist/sessions/session-lifetime.d.ts +67 -0
- package/dist/sessions/session-lifetime.d.ts.map +1 -0
- package/dist/sessions/session-lifetime.js +165 -0
- package/dist/sessions/session-lifetime.js.map +1 -0
- package/dist/sessions/session-record.d.ts +15 -0
- package/dist/sessions/session-record.d.ts.map +1 -0
- package/dist/sessions/session-record.js +109 -0
- package/dist/sessions/session-record.js.map +1 -0
- package/dist/sessions/signed.d.ts +5 -4
- package/dist/sessions/signed.d.ts.map +1 -1
- package/dist/sessions/signed.js +212 -74
- package/dist/sessions/signed.js.map +1 -1
- package/dist/subscriptions/index.d.ts +35 -3
- package/dist/subscriptions/index.d.ts.map +1 -1
- package/dist/subscriptions/index.js +680 -134
- package/dist/subscriptions/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -6
|
@@ -15,11 +15,17 @@ import { clone, fromBinary, toBinary } from "@bufbuild/protobuf";
|
|
|
15
15
|
import { ApplicationNode } from "@spine-event-engine/deployment";
|
|
16
16
|
import { BackendMembershipKernel, } from "@spine-event-engine/deployment/spi/backend-membership";
|
|
17
17
|
import { SubscriptionSchema, SubscriptionUpdateSchema } from "@spine-event-engine/proto/client";
|
|
18
|
+
import { snapshotTrustedReader, } from "@spine-event-engine/core/spi/trusted-reader";
|
|
18
19
|
/**
|
|
19
20
|
* Adapts Gateway unary operations to the deployment-owned membership kernel.
|
|
20
21
|
* Durable logical ownership remains in the Gateway's subscription bindings.
|
|
21
22
|
*/
|
|
22
23
|
export class DynamicUnaryForwarder {
|
|
24
|
+
#readers = new Map();
|
|
25
|
+
#children = new Map();
|
|
26
|
+
#associationsById = new Map();
|
|
27
|
+
#pendingAssociations = new WeakMap();
|
|
28
|
+
#activeAssociations = new WeakMap();
|
|
23
29
|
#kernel;
|
|
24
30
|
/**
|
|
25
31
|
* Creates the Gateway adapter around the deployment membership kernel.
|
|
@@ -32,11 +38,11 @@ export class DynamicUnaryForwarder {
|
|
|
32
38
|
options.maxBackendEnvelopeBytes < 1))
|
|
33
39
|
throw new RangeError("maxBackendEnvelopeBytes must be a positive safe integer.");
|
|
34
40
|
this.#kernel = new BackendMembershipKernel({
|
|
35
|
-
create: async (node, signal) =>
|
|
41
|
+
create: async (node, signal) => this.memberClient(await options.create(node, signal)),
|
|
36
42
|
memberKey: (node) => node.id,
|
|
37
43
|
sameMember: (left, right) => left.endpoint === right.endpoint && left.tlsServerName === right.tlsServerName,
|
|
38
44
|
definitionKey: (definition) => DynamicUnaryForwarder.definitionKey(definition),
|
|
39
|
-
childDefinition: (definition, node) =>
|
|
45
|
+
childDefinition: (definition, node) => this.childDefinition(definition, node),
|
|
40
46
|
childSize: (child) => child.bytes.byteLength,
|
|
41
47
|
isActivationAck: (update) => DynamicUnaryForwarder.isActivationAck(update),
|
|
42
48
|
logicalActivationAck: (definition, childAck) => DynamicUnaryForwarder.logicalActivationAck(definition, childAck),
|
|
@@ -48,24 +54,159 @@ export class DynamicUnaryForwarder {
|
|
|
48
54
|
: { maxChildBytes: options.maxBackendEnvelopeBytes }),
|
|
49
55
|
});
|
|
50
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Records the native child definition and its admitted logical reader.
|
|
59
|
+
*
|
|
60
|
+
* @param definition The serialized logical subscription definition.
|
|
61
|
+
* @param node Selected managed application node.
|
|
62
|
+
* @returns The child subscription definition.
|
|
63
|
+
*/
|
|
64
|
+
childDefinition(definition, node) {
|
|
65
|
+
const child = DynamicUnaryForwarder.childDefinition(definition, node);
|
|
66
|
+
const logicalId = DynamicUnaryForwarder.definitionKey(definition);
|
|
67
|
+
const reader = this.#readers.get(logicalId ?? "");
|
|
68
|
+
const childId = DynamicUnaryForwarder.definitionKey(child);
|
|
69
|
+
if (logicalId !== undefined && childId !== undefined) {
|
|
70
|
+
const association = { logicalId, initialId: childId, ids: new Set() };
|
|
71
|
+
this.#pendingAssociations.set(child, association);
|
|
72
|
+
this.associateChildId(association, childId, reader);
|
|
73
|
+
}
|
|
74
|
+
return child;
|
|
75
|
+
}
|
|
51
76
|
/**
|
|
52
77
|
* Builds membership operations for one connected gateway client.
|
|
53
78
|
*
|
|
54
79
|
* @param client The connected gateway client.
|
|
55
80
|
* @returns The member's forwarding and subscription operations.
|
|
56
81
|
*/
|
|
57
|
-
|
|
82
|
+
memberClient(client) {
|
|
58
83
|
return {
|
|
59
84
|
forward: (request) => client.forward(request),
|
|
60
|
-
subscribe: (definition, signal) =>
|
|
85
|
+
subscribe: (definition, signal) => this.subscribeChild(client, definition, signal),
|
|
61
86
|
activate: (child, updates, signal) => client.activate({
|
|
62
|
-
wire: {
|
|
87
|
+
wire: {
|
|
88
|
+
kind: "backend-subscription-envelope",
|
|
89
|
+
bytes: child.bytes.slice(),
|
|
90
|
+
...this.readerField(child.bytes),
|
|
91
|
+
},
|
|
63
92
|
updates,
|
|
64
93
|
}, signal),
|
|
65
|
-
dispose: (child, signal) =>
|
|
94
|
+
dispose: (child, signal) => this.disposeChild(client, child, signal),
|
|
66
95
|
close: () => client.close(),
|
|
67
96
|
};
|
|
68
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Removes one native child and then retires its reader associations.
|
|
100
|
+
*
|
|
101
|
+
* @param client Connected member client that created this child.
|
|
102
|
+
* @param child Backend-issued child envelope.
|
|
103
|
+
* @param signal Cancellation signal for native disposal.
|
|
104
|
+
* @returns Completion after native disposal and reader cleanup.
|
|
105
|
+
*/
|
|
106
|
+
async disposeChild(client, child, signal) {
|
|
107
|
+
await client.dispose({
|
|
108
|
+
kind: "backend-subscription-envelope",
|
|
109
|
+
bytes: child.bytes.slice(),
|
|
110
|
+
...this.readerField(child.bytes),
|
|
111
|
+
}, signal);
|
|
112
|
+
const association = this.#activeAssociations.get(child);
|
|
113
|
+
if (association !== undefined)
|
|
114
|
+
this.retireChild(association);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Starts a native child and tracks an assigned ID for its admitted reader.
|
|
118
|
+
*
|
|
119
|
+
* @param client Native subscription client.
|
|
120
|
+
* @param definition The serialized subscription definition.
|
|
121
|
+
* @param signal The cancellation signal for this operation.
|
|
122
|
+
* @returns The managed-child subscription.
|
|
123
|
+
*/
|
|
124
|
+
subscribeChild(client, definition, signal) {
|
|
125
|
+
const reader = this.readerField(definition);
|
|
126
|
+
const association = this.#pendingAssociations.get(definition);
|
|
127
|
+
const result = client.subscribe({ kind: "public-subscription", bytes: definition.slice(), ...reader }, signal);
|
|
128
|
+
return result.then((child) => {
|
|
129
|
+
if (association !== undefined) {
|
|
130
|
+
this.#activeAssociations.set(child, association);
|
|
131
|
+
this.rememberProducedChild(association, child.bytes);
|
|
132
|
+
}
|
|
133
|
+
return child;
|
|
134
|
+
}, (error) => {
|
|
135
|
+
if (association !== undefined)
|
|
136
|
+
this.retireChild(association);
|
|
137
|
+
throw error;
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Finds detached reader facts for one retained logical or native child definition.
|
|
142
|
+
*
|
|
143
|
+
* @param bytes The serialized message bytes.
|
|
144
|
+
* @returns The persisted reader binding field.
|
|
145
|
+
*/
|
|
146
|
+
readerField(bytes) {
|
|
147
|
+
let id;
|
|
148
|
+
try {
|
|
149
|
+
id = DynamicUnaryForwarder.definitionKey(bytes);
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return {};
|
|
153
|
+
}
|
|
154
|
+
const reader = this.#readers.get(id ?? "");
|
|
155
|
+
return reader === undefined ? {} : { reader: snapshotTrustedReader(reader) };
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Records a backend-assigned child ID to its admitted logical reader.
|
|
159
|
+
*
|
|
160
|
+
* @param association Native child attempt that produced the backend ID.
|
|
161
|
+
* @param produced Backend update produced for a subscription.
|
|
162
|
+
*/
|
|
163
|
+
rememberProducedChild(association, produced) {
|
|
164
|
+
if (this.#associationsById.get(association.initialId) !== association)
|
|
165
|
+
return;
|
|
166
|
+
let producedId;
|
|
167
|
+
try {
|
|
168
|
+
producedId = DynamicUnaryForwarder.definitionKey(produced);
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (producedId === undefined)
|
|
174
|
+
return;
|
|
175
|
+
this.associateChildId(association, producedId, this.#readers.get(association.initialId));
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Records one child ID with its attempt and current logical reader.
|
|
179
|
+
*
|
|
180
|
+
* @param association Native child attempt that introduced the ID.
|
|
181
|
+
* @param childId Initial or backend-issued child ID.
|
|
182
|
+
* @param reader Current verified reader facts, if supplied.
|
|
183
|
+
*/
|
|
184
|
+
associateChildId(association, childId, reader) {
|
|
185
|
+
association.ids.add(childId);
|
|
186
|
+
const children = this.#children.get(association.logicalId) ?? new Set();
|
|
187
|
+
children.add(childId);
|
|
188
|
+
this.#children.set(association.logicalId, children);
|
|
189
|
+
this.#associationsById.set(childId, association);
|
|
190
|
+
if (reader !== undefined)
|
|
191
|
+
this.#readers.set(childId, reader);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Removes only IDs still associated with this retired child attempt.
|
|
195
|
+
*
|
|
196
|
+
* @param association Native child attempt after successful disposal.
|
|
197
|
+
*/
|
|
198
|
+
retireChild(association) {
|
|
199
|
+
const children = this.#children.get(association.logicalId);
|
|
200
|
+
for (const id of association.ids) {
|
|
201
|
+
if (this.#associationsById.get(id) !== association)
|
|
202
|
+
continue;
|
|
203
|
+
this.#associationsById.delete(id);
|
|
204
|
+
this.#readers.delete(id);
|
|
205
|
+
children?.delete(id);
|
|
206
|
+
}
|
|
207
|
+
if (children?.size === 0)
|
|
208
|
+
this.#children.delete(association.logicalId);
|
|
209
|
+
}
|
|
69
210
|
/**
|
|
70
211
|
* Checks a response-only successful child activation acknowledgement.
|
|
71
212
|
*
|
|
@@ -114,7 +255,11 @@ export class DynamicUnaryForwarder {
|
|
|
114
255
|
* @returns Completion of backend cleanup.
|
|
115
256
|
*/
|
|
116
257
|
close() {
|
|
117
|
-
return this.#kernel.close()
|
|
258
|
+
return this.#kernel.close().finally(() => {
|
|
259
|
+
this.#readers.clear();
|
|
260
|
+
this.#children.clear();
|
|
261
|
+
this.#associationsById.clear();
|
|
262
|
+
});
|
|
118
263
|
}
|
|
119
264
|
/**
|
|
120
265
|
* Creates backend children for one logical Gateway subscription.
|
|
@@ -128,6 +273,7 @@ export class DynamicUnaryForwarder {
|
|
|
128
273
|
if (maxBackendEnvelopeBytes !== undefined &&
|
|
129
274
|
(!Number.isSafeInteger(maxBackendEnvelopeBytes) || maxBackendEnvelopeBytes < 1))
|
|
130
275
|
throw new RangeError("maxBackendEnvelopeBytes must be a positive safe integer.");
|
|
276
|
+
this.rememberReader(request);
|
|
131
277
|
return this.#kernel
|
|
132
278
|
.subscribe(request.bytes, signal, maxBackendEnvelopeBytes)
|
|
133
279
|
.catch((error) => DynamicUnaryForwarder.#gatewayError(error));
|
|
@@ -143,6 +289,7 @@ export class DynamicUnaryForwarder {
|
|
|
143
289
|
if (maxBackendEnvelopeBytes !== undefined &&
|
|
144
290
|
(!Number.isSafeInteger(maxBackendEnvelopeBytes) || maxBackendEnvelopeBytes < 1))
|
|
145
291
|
throw new RangeError("maxBackendEnvelopeBytes must be a positive safe integer.");
|
|
292
|
+
this.rememberReader(request);
|
|
146
293
|
await this.#kernel
|
|
147
294
|
.rehydrate(request.bytes, maxBackendEnvelopeBytes)
|
|
148
295
|
.catch((error) => DynamicUnaryForwarder.#gatewayError(error));
|
|
@@ -153,10 +300,10 @@ export class DynamicUnaryForwarder {
|
|
|
153
300
|
* @param wire Supplies the public subscription wire.
|
|
154
301
|
* @param updates Receives relayed subscription updates.
|
|
155
302
|
* @param signal Cancels update relay.
|
|
156
|
-
* @returns Completion after cancellation; rejects on unexpected child failure
|
|
157
|
-
* including bounded cleanup failure.
|
|
303
|
+
* @returns Completion after cancellation; rejects on unexpected child or bounded cleanup failure.
|
|
158
304
|
*/
|
|
159
305
|
activateDefinition(wire, updates, signal) {
|
|
306
|
+
this.rememberReader(wire);
|
|
160
307
|
return this.#kernel.activate(wire.bytes, updates, signal);
|
|
161
308
|
}
|
|
162
309
|
/**
|
|
@@ -167,7 +314,34 @@ export class DynamicUnaryForwarder {
|
|
|
167
314
|
* @returns Completion of child cleanup.
|
|
168
315
|
*/
|
|
169
316
|
cancelDefinition(wire, signal) {
|
|
170
|
-
|
|
317
|
+
this.rememberReader(wire);
|
|
318
|
+
return this.#kernel.cancel(wire.bytes, signal).then(() => {
|
|
319
|
+
const id = DynamicUnaryForwarder.definitionKey(wire.bytes);
|
|
320
|
+
if (id === undefined)
|
|
321
|
+
return;
|
|
322
|
+
this.#readers.delete(id);
|
|
323
|
+
for (const childId of this.#children.get(id) ?? []) {
|
|
324
|
+
this.#readers.delete(childId);
|
|
325
|
+
this.#associationsById.delete(childId);
|
|
326
|
+
}
|
|
327
|
+
this.#children.delete(id);
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Updates current reader facts for a retained definition and its native children.
|
|
332
|
+
*
|
|
333
|
+
* @param wire The admitted definition with current verified reader facts.
|
|
334
|
+
*/
|
|
335
|
+
rememberReader(wire) {
|
|
336
|
+
if (wire.reader === undefined)
|
|
337
|
+
return;
|
|
338
|
+
const id = DynamicUnaryForwarder.definitionKey(wire.bytes);
|
|
339
|
+
if (id === undefined)
|
|
340
|
+
return;
|
|
341
|
+
const reader = snapshotTrustedReader(wire.reader);
|
|
342
|
+
this.#readers.set(id, reader);
|
|
343
|
+
for (const childId of this.#children.get(id) ?? [])
|
|
344
|
+
this.#readers.set(childId, reader);
|
|
171
345
|
}
|
|
172
346
|
/**
|
|
173
347
|
* Resolves when the supplied signal aborts.
|
|
@@ -205,6 +379,11 @@ export class DynamicUnaryForwarder {
|
|
|
205
379
|
subscriptionId.value = `${id}/${node.id}`;
|
|
206
380
|
return toBinary(SubscriptionSchema, subscription);
|
|
207
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* Sanitizes a gateway failure before returning it to the caller.
|
|
384
|
+
*
|
|
385
|
+
* @param error The failure being classified or propagated.
|
|
386
|
+
*/
|
|
208
387
|
static #gatewayError(error) {
|
|
209
388
|
if (error instanceof Error && error.message === "backend membership is unavailable.")
|
|
210
389
|
throw new Error("Gateway backend is absent.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-unary-forwarder.js","sourceRoot":"","sources":["../../src/gateway/dynamic-unary-forwarder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dynamic-unary-forwarder.js","sourceRoot":"","sources":["../../src/gateway/dynamic-unary-forwarder.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TypeRegistryLookup } from "@spine-event-engine/core";
|
|
2
|
+
import { type TrustedReaderContext } from "@spine-event-engine/core/spi/trusted-reader";
|
|
2
3
|
import type { AuthorizationPolicy, Clock, ContextResolver, RequestCredential, SessionResolver, TransportRequestContext } from "../index.js";
|
|
3
4
|
/**
|
|
4
5
|
* Owned request bytes and canonical operation identity accepted by the B2 gateway.
|
|
@@ -43,6 +44,10 @@ export interface UnaryForwarder {
|
|
|
43
44
|
readonly service: string;
|
|
44
45
|
readonly method: string;
|
|
45
46
|
readonly value: Uint8Array;
|
|
47
|
+
/**
|
|
48
|
+
* Verified reader data, detached from the session and context resolver.
|
|
49
|
+
*/
|
|
50
|
+
readonly reader?: TrustedReaderContext;
|
|
46
51
|
readonly signal?: AbortSignal;
|
|
47
52
|
}): Promise<Uint8Array>;
|
|
48
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAEV,mBAAmB,EACnB,KAAK,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway/index.js
CHANGED
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
import { clone, create, fromBinary, toBinary } from "@bufbuild/protobuf";
|
|
15
15
|
import { ActorContextSchema, CommandContextSchema, CommandSchema, TenantIdSchema, } from "@spine-event-engine/proto";
|
|
16
16
|
import { ResolveContextRequestSchema, ResolveContextResponseSchema, } from "@spine-event-engine/proto/auth";
|
|
17
|
-
import { QuerySchema } from "@spine-event-engine/proto/client";
|
|
17
|
+
import { AppQuerySchema, QuerySchema } from "@spine-event-engine/proto/client";
|
|
18
|
+
import { snapshotTrustedReader, } from "@spine-event-engine/core/spi/trusted-reader";
|
|
18
19
|
import { IncomingRequests } from "../request/index.js";
|
|
19
20
|
/**
|
|
20
21
|
* Transport-neutral unary admission pipeline for Commands and Queries.
|
|
@@ -52,31 +53,74 @@ export class UnaryGateway {
|
|
|
52
53
|
const source = UnaryGatewayValues.decode(operation, value, transport, this.#options.registry);
|
|
53
54
|
if (source === undefined)
|
|
54
55
|
return UnaryGatewayValues.reject("malformed-request");
|
|
56
|
+
return this.#handleAuthorized(operation, source, value, transport, request);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Authorizes one decoded request and resolves its trusted actor and tenant.
|
|
60
|
+
*
|
|
61
|
+
* @param operation Accepted asynchronous operation.
|
|
62
|
+
* @param source Decoded incoming Command or Query request.
|
|
63
|
+
* @param value Decoded request bytes to authorize.
|
|
64
|
+
* @param transport The connected native transport.
|
|
65
|
+
* @param request The request being processed.
|
|
66
|
+
* @returns The authorized gateway response.
|
|
67
|
+
*/
|
|
68
|
+
async #handleAuthorized(operation, source, value, transport, request) {
|
|
55
69
|
const requestedContext = clone(ActorContextSchema, source.requestedContext);
|
|
56
70
|
const session = await this.#session(request.credential);
|
|
57
71
|
if (session === undefined)
|
|
58
72
|
return UnaryGatewayValues.reject("unauthenticated");
|
|
59
|
-
const authorizationRequest =
|
|
73
|
+
const authorizationRequest = this.#decodeRequest(operation, value, transport);
|
|
60
74
|
// The same immutable owned bytes and fixed registry decoded above already proved this shape.
|
|
61
75
|
/* v8 ignore next */
|
|
62
76
|
if (authorizationRequest === undefined)
|
|
63
77
|
return UnaryGatewayValues.reject("malformed-request");
|
|
64
78
|
if (!(await this.#options.authorize(session.principal, authorizationRequest)))
|
|
65
79
|
return UnaryGatewayValues.reject("forbidden");
|
|
66
|
-
const contextRequest =
|
|
80
|
+
const contextRequest = this.#decodeRequest(operation, value, transport);
|
|
67
81
|
if (contextRequest === undefined)
|
|
68
82
|
return UnaryGatewayValues.reject("malformed-request");
|
|
69
83
|
const trusted = await this.#options.contexts.resolve(session.principal, contextRequest, this.#options.clock);
|
|
70
84
|
if (!UnaryGatewayValues.matches(requestedContext, trusted))
|
|
71
85
|
return UnaryGatewayValues.reject("context-stale");
|
|
86
|
+
return this.#forwardTrusted(operation, source, trusted, session.principal, request.signal);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Decodes a fresh collaborator view from admitted bytes and fixed transport facts.
|
|
90
|
+
*
|
|
91
|
+
* @param operation Accepted asynchronous operation.
|
|
92
|
+
* @param value Canonical request bytes decoded for the collaborator.
|
|
93
|
+
* @param transport The connected native transport.
|
|
94
|
+
* @returns The decoded request, if well formed.
|
|
95
|
+
*/
|
|
96
|
+
#decodeRequest(operation, value, transport) {
|
|
97
|
+
return UnaryGatewayValues.decode(operation, value, UnaryGatewayValues.snapshotTransport(operation, transport), this.#options.registry);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Forwards the rewritten request with detached verified reader facts.
|
|
101
|
+
*
|
|
102
|
+
* @param operation Accepted asynchronous operation.
|
|
103
|
+
* @param source Decoded incoming Command or Query request.
|
|
104
|
+
* @param trusted Verified principal and authority context.
|
|
105
|
+
* @param principal Verified principal from session resolution.
|
|
106
|
+
* @param signal The cancellation signal for this operation.
|
|
107
|
+
* @returns The verified forwarded request.
|
|
108
|
+
*/
|
|
109
|
+
async #forwardTrusted(operation, source, trusted, principal, signal) {
|
|
72
110
|
return {
|
|
73
111
|
kind: "forwarded",
|
|
74
112
|
value: await UnaryGatewayValues.abortable(this.#options.forward({
|
|
75
113
|
service: operation.service,
|
|
76
114
|
method: operation.method,
|
|
77
115
|
value: UnaryGatewayValues.rewrite(source, trusted),
|
|
78
|
-
|
|
79
|
-
|
|
116
|
+
reader: snapshotTrustedReader({
|
|
117
|
+
...(this.#options.publicAccess === true ? {} : { principal }),
|
|
118
|
+
...(this.#options.publicAccess === true || trusted.authorityFacts === undefined
|
|
119
|
+
? {}
|
|
120
|
+
: { authorityFacts: trusted.authorityFacts }),
|
|
121
|
+
}),
|
|
122
|
+
...(signal === undefined ? {} : { signal }),
|
|
123
|
+
}), signal),
|
|
80
124
|
};
|
|
81
125
|
}
|
|
82
126
|
/**
|
|
@@ -105,7 +149,12 @@ export class UnaryGateway {
|
|
|
105
149
|
})),
|
|
106
150
|
};
|
|
107
151
|
}
|
|
108
|
-
|
|
152
|
+
/**
|
|
153
|
+
* Resolves the current gateway session from the incoming credential.
|
|
154
|
+
*
|
|
155
|
+
* @param credential Incoming gateway credential, if present.
|
|
156
|
+
* @returns The resolved session, if authenticated.
|
|
157
|
+
*/ async #session(credential) {
|
|
109
158
|
if (this.#options.publicAccess === true)
|
|
110
159
|
return { principal: UnaryGatewayValues.publicPrincipal };
|
|
111
160
|
if (credential === undefined)
|
|
@@ -135,6 +184,8 @@ const UnaryGatewayValues = Object.freeze({
|
|
|
135
184
|
return { kind: "command", service: request.service, method: request.method };
|
|
136
185
|
if (request.service === "spine.client.QueryService" && request.method === "Read")
|
|
137
186
|
return { kind: "query", service: request.service, method: request.method };
|
|
187
|
+
if (request.service === "spine.client.QueryService" && request.method === "Execute")
|
|
188
|
+
return { kind: "app-query", service: request.service, method: request.method };
|
|
138
189
|
if (request.service === "spine.auth.AuthenticationService" &&
|
|
139
190
|
request.method === "ResolveContext")
|
|
140
191
|
return { kind: "resolve-context", service: request.service, method: request.method };
|
|
@@ -177,7 +228,9 @@ const UnaryGatewayValues = Object.freeze({
|
|
|
177
228
|
}
|
|
178
229
|
: { kind: operation.kind, value, transport };
|
|
179
230
|
const result = IncomingRequests.decode(input);
|
|
180
|
-
return result?.kind === "command" || result?.kind === "query"
|
|
231
|
+
return result?.kind === "command" || result?.kind === "query" || result?.kind === "app-query"
|
|
232
|
+
? result
|
|
233
|
+
: undefined;
|
|
181
234
|
},
|
|
182
235
|
/**
|
|
183
236
|
* Checks the requested actor and tenant against trusted resolution.
|
|
@@ -229,6 +282,11 @@ const UnaryGatewayValues = Object.freeze({
|
|
|
229
282
|
...(trusted.zoneId === undefined ? {} : { zoneId: trusted.zoneId }),
|
|
230
283
|
...(trusted.language === undefined ? {} : { language: trusted.language }),
|
|
231
284
|
});
|
|
285
|
+
if (source.kind === "app-query") {
|
|
286
|
+
const query = clone(AppQuerySchema, source.query);
|
|
287
|
+
query.context = context;
|
|
288
|
+
return toBinary(AppQuerySchema, query);
|
|
289
|
+
}
|
|
232
290
|
const query = clone(QuerySchema, source.query);
|
|
233
291
|
query.context = context;
|
|
234
292
|
return toBinary(QuerySchema, query);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,cAAc,GAGf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Message } from "@bufbuild/protobuf";
|
|
2
2
|
import type { TypeRegistryLookup } from "@spine-event-engine/core";
|
|
3
|
+
import type { AuthorityFact } from "@spine-event-engine/core/spi/trusted-reader";
|
|
3
4
|
import type { ActorContext, Command, Language, TenantId, UserId, ZoneId } from "@spine-event-engine/proto";
|
|
4
|
-
import { type Query, type Subscription, type Target, type Topic } from "@spine-event-engine/proto/client";
|
|
5
|
+
import { type Query, type AppQuery, type Subscription, type Target, type Topic } from "@spine-event-engine/proto/client";
|
|
5
6
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
6
7
|
/**
|
|
7
8
|
* Allowlisted RPC facts exposed to authorization policy and diagnostics.
|
|
@@ -99,6 +100,27 @@ export interface IncomingQuery {
|
|
|
99
100
|
*/
|
|
100
101
|
readonly transport: TransportRequestContext;
|
|
101
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Application Query facts available to authorization policy.
|
|
105
|
+
*/
|
|
106
|
+
export interface IncomingAppQuery {
|
|
107
|
+
/**
|
|
108
|
+
* Identifies application query execution.
|
|
109
|
+
*/
|
|
110
|
+
readonly kind: "app-query";
|
|
111
|
+
/**
|
|
112
|
+
* Carries the received App Query envelope and packed Q.
|
|
113
|
+
*/
|
|
114
|
+
readonly query: AppQuery;
|
|
115
|
+
/**
|
|
116
|
+
* Carries the caller-requested actor and tenant.
|
|
117
|
+
*/
|
|
118
|
+
readonly requestedContext: ActorContext;
|
|
119
|
+
/**
|
|
120
|
+
* Carries allowlisted transport facts.
|
|
121
|
+
*/
|
|
122
|
+
readonly transport: TransportRequestContext;
|
|
123
|
+
}
|
|
102
124
|
/**
|
|
103
125
|
* Subscription-creation facts available to authorization policy.
|
|
104
126
|
*/
|
|
@@ -169,7 +191,7 @@ export interface IncomingSubscriptionCancellation {
|
|
|
169
191
|
/**
|
|
170
192
|
* Exhaustive request model used at the authorization boundary.
|
|
171
193
|
*/
|
|
172
|
-
export type IncomingRequest = IncomingCommand | IncomingQuery | IncomingSubscription | IncomingSubscriptionActivation | IncomingSubscriptionCancellation;
|
|
194
|
+
export type IncomingRequest = IncomingCommand | IncomingQuery | IncomingAppQuery | IncomingSubscription | IncomingSubscriptionActivation | IncomingSubscriptionCancellation;
|
|
173
195
|
/**
|
|
174
196
|
* Identity established by an application-specific authenticator.
|
|
175
197
|
*/
|
|
@@ -226,6 +248,10 @@ export interface ResolvedSession {
|
|
|
226
248
|
* Specifies when the resolved session expires.
|
|
227
249
|
*/
|
|
228
250
|
readonly expiresAt: Timestamp;
|
|
251
|
+
/**
|
|
252
|
+
* Ends this monitored operation on local logout, expiry, or strategy close.
|
|
253
|
+
*/
|
|
254
|
+
readonly invalidated?: AbortSignal;
|
|
229
255
|
}
|
|
230
256
|
/**
|
|
231
257
|
* Provider-neutral authentication boundary. Credentials do not reach policy request facts.
|
|
@@ -245,9 +271,10 @@ export interface SessionResolver {
|
|
|
245
271
|
/**
|
|
246
272
|
* Resolves a presented credential into a valid session.
|
|
247
273
|
* @param credential Supplies the credential to resolve.
|
|
274
|
+
* @param lifetime Optional operation signal; omission retains no monitor.
|
|
248
275
|
* @returns Returns the resolved session or `undefined` when it is invalid.
|
|
249
276
|
*/
|
|
250
|
-
resolve(credential: RequestCredential): Promise<ResolvedSession | undefined>;
|
|
277
|
+
resolve(credential: RequestCredential, lifetime?: AbortSignal): Promise<ResolvedSession | undefined>;
|
|
251
278
|
}
|
|
252
279
|
/**
|
|
253
280
|
* Authorization policy boundary evaluated separately for every incoming request.
|
|
@@ -287,6 +314,11 @@ export interface AuthorizedRequestContext {
|
|
|
287
314
|
* Identifies the actor's resolved language for Query and subscription contexts.
|
|
288
315
|
*/
|
|
289
316
|
readonly language?: Language;
|
|
317
|
+
/**
|
|
318
|
+
* Application-resolved authority facts for the admitted invocation.
|
|
319
|
+
* These facts are independent of provider credentials and may be absent.
|
|
320
|
+
*/
|
|
321
|
+
readonly authorityFacts?: Readonly<Record<string, AuthorityFact>>;
|
|
290
322
|
}
|
|
291
323
|
/**
|
|
292
324
|
* Application actor and tenant resolution boundary. Command actor and tenant must
|
|
@@ -346,6 +378,19 @@ export type IncomingRequestInput = CommandRequestInput | {
|
|
|
346
378
|
* Carries allowlisted transport facts.
|
|
347
379
|
*/
|
|
348
380
|
readonly transport: TransportRequestContext;
|
|
381
|
+
} | {
|
|
382
|
+
/**
|
|
383
|
+
* Identifies an App Query wire envelope.
|
|
384
|
+
*/
|
|
385
|
+
readonly kind: "app-query";
|
|
386
|
+
/**
|
|
387
|
+
* Carries serialized App Query bytes.
|
|
388
|
+
*/
|
|
389
|
+
readonly value: Uint8Array;
|
|
390
|
+
/**
|
|
391
|
+
* Carries allowlisted transport facts.
|
|
392
|
+
*/
|
|
393
|
+
readonly transport: TransportRequestContext;
|
|
349
394
|
} | {
|
|
350
395
|
/**
|
|
351
396
|
* Identifies this input as subscription creation.
|
|
@@ -407,6 +452,9 @@ export interface CommandRequestInput {
|
|
|
407
452
|
*/
|
|
408
453
|
readonly registry?: TypeRegistryLookup;
|
|
409
454
|
}
|
|
455
|
+
/**
|
|
456
|
+
* Builds the allowlisted transport facts exposed to admission policies.
|
|
457
|
+
*/
|
|
410
458
|
interface TransportFactsApi {
|
|
411
459
|
/**
|
|
412
460
|
* Builds allowlisted transport facts without credentials.
|
|
@@ -423,6 +471,15 @@ export { IncomingRequests } from "./request/index.js";
|
|
|
423
471
|
export { UnaryGateway } from "./gateway/index.js";
|
|
424
472
|
export { OpaqueSessionCookies } from "./sessions/cookies.js";
|
|
425
473
|
export { OpaqueSessions } from "./sessions/opaque.js";
|
|
474
|
+
export { MemoryOpaqueSessionStore } from "./sessions/opaque-session-store.js";
|
|
475
|
+
export type { OpaqueSessionStore } from "./sessions/opaque-session-store.js";
|
|
476
|
+
export { PersistentOpaqueSessionStore } from "./sessions/persistent-opaque-session-store.js";
|
|
477
|
+
export type { PersistentOpaqueStoreOptions } from "./sessions/persistent-opaque-session-store.js";
|
|
478
|
+
export { PersistentOidcFlowStore } from "./oidc/persistent-flow-store.js";
|
|
479
|
+
export type { PersistentOidcFlowOptions } from "./oidc/persistent-flow-store.js";
|
|
480
|
+
export { PersistentTokenRevocations } from "./sessions/persistent-token-revocations.js";
|
|
481
|
+
export type { PersistentTokenRevocationsOptions } from "./sessions/persistent-token-revocations.js";
|
|
482
|
+
export type { OidcFlowStore } from "./oidc/flow-store.js";
|
|
426
483
|
export { SignedSessions } from "./sessions/signed.js";
|
|
427
484
|
export { OidcFlow } from "./oidc/index.js";
|
|
428
485
|
export { createGitHubProvider, createGoogleProvider, createOidcProvider, discoverOidcProvider, } from "./providers/index.js";
|