mppx 0.6.0 → 0.6.2
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/CHANGELOG.md +12 -0
- package/dist/Method.d.ts +2 -0
- package/dist/Method.d.ts.map +1 -1
- package/dist/Method.js.map +1 -1
- package/dist/middlewares/hono.d.ts.map +1 -1
- package/dist/middlewares/hono.js +5 -1
- package/dist/middlewares/hono.js.map +1 -1
- package/dist/proxy/Proxy.d.ts.map +1 -1
- package/dist/proxy/Proxy.js +19 -1
- package/dist/proxy/Proxy.js.map +1 -1
- package/dist/proxy/internal/Route.d.ts +5 -0
- package/dist/proxy/internal/Route.d.ts.map +1 -1
- package/dist/proxy/internal/Route.js +2 -1
- package/dist/proxy/internal/Route.js.map +1 -1
- package/dist/server/Mppx.d.ts +13 -1
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +107 -36
- package/dist/server/Mppx.js.map +1 -1
- package/dist/server/internal/scope.d.ts +19 -0
- package/dist/server/internal/scope.d.ts.map +1 -0
- package/dist/server/internal/scope.js +33 -0
- package/dist/server/internal/scope.js.map +1 -0
- package/dist/tempo/server/internal/transport.js +2 -3
- package/dist/tempo/server/internal/transport.js.map +1 -1
- package/package.json +1 -1
- package/src/Method.ts +2 -0
- package/src/middlewares/hono.test.ts +95 -1
- package/src/middlewares/hono.ts +6 -1
- package/src/proxy/Proxy.test.ts +116 -0
- package/src/proxy/Proxy.ts +27 -1
- package/src/proxy/internal/Route.ts +2 -1
- package/src/server/Mppx.test-d.ts +18 -0
- package/src/server/Mppx.test.ts +283 -0
- package/src/server/Mppx.ts +153 -45
- package/src/server/internal/scope.ts +43 -0
- package/src/tempo/server/internal/transport.test.ts +84 -0
- package/src/tempo/server/internal/transport.ts +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# mppx
|
|
2
2
|
|
|
3
|
+
## 0.6.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 57354de: Added scope-bound challenge metadata for route replay protection, scope-aware `verifyCredential()` checks, and adapter auto-scoping for Hono and proxy routes.
|
|
8
|
+
|
|
9
|
+
## 0.6.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Fixed cross-route credential replay checks by binding `unitType` and allowing `verifyCredential()` to validate credentials against expected route context.
|
|
14
|
+
|
|
3
15
|
## 0.6.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/dist/Method.d.ts
CHANGED
|
@@ -67,6 +67,8 @@ export type VerifiedChallengeEnvelope<request extends Record<string, unknown> =
|
|
|
67
67
|
readonly capturedRequest: CapturedRequest;
|
|
68
68
|
readonly challenge: Challenge.Challenge<request, intent, MethodName>;
|
|
69
69
|
readonly credential: Credential.Credential<payload, Challenge.Challenge<request, intent, MethodName>>;
|
|
70
|
+
/** The authoritative route request after defaults and request-hook transforms. */
|
|
71
|
+
readonly request: request;
|
|
70
72
|
};
|
|
71
73
|
/** Request hook parameters for a single method. */
|
|
72
74
|
export type RequestContext<method extends Method> = {
|
package/dist/Method.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Method.d.ts","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,IAAI,MAAM,kCAAkC,CAAA;AAC7D,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,KAAK,CAAC,MAAM,UAAU,CAAA;AAElC;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACN,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,CAAC,WAAW,CAAA;SACvB,CAAA;QACD,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAChD,CAAA;CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAChB,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,SAAS,CAAC,CAAC,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,WAAW,GAAG,SAAS,IACnE,MAAM,GAAG;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,kBAAkB,CAClC,MAAM,EACN,OAAO,SAAS,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CACzE,CAAA;CACF,CAAA;AACD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAExC,sFAAsF;AACtF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;CAClB,CAAA;AAED,oFAAoF;AACpF,MAAM,MAAM,yBAAyB,CACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,OAAO,GAAG,OAAO,EACjB,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,UAAU,SAAS,MAAM,GAAG,MAAM,IAChC;IACF,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IACpE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CACxC,OAAO,EACP,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CACjD,CAAA;
|
|
1
|
+
{"version":3,"file":"Method.d.ts","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"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"}
|
package/dist/Method.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Method.js","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,IAAI,CAA8B,MAAc;IAC9D,OAAO,MAAM,CAAA;AACf,CAAC;
|
|
1
|
+
{"version":3,"file":"Method.js","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,IAAI,CAA8B,MAAc;IAC9D,OAAO,MAAM,CAAA;AACf,CAAC;AA4ID;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ,CAGtB,MAAc,EAAE,OAA0C;IAC1D,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;IAC7C,OAAO;QACL,GAAG,MAAM;QACT,OAAO;QACP,gBAAgB;KACU,CAAA;AAC9B,CAAC;AAYD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,QAAQ,CAKtB,MAAc,EACd,OAA8D;IAE9D,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IACvE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,OAAO;QACP,SAAS;QACT,MAAM;KACwC,CAAA;AAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono.d.ts","sourceRoot":"","sources":["../../src/middlewares/hono.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAEnD,OAAO,EAAY,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"hono.d.ts","sourceRoot":"","sources":["../../src/middlewares/hono.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAEnD,OAAO,EAAY,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEzF,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,cAAc,sBAAsB,CAAA;AAEpC,yBAAiB,IAAI,CAAC;IACpB;;;;;;;;;;;;;;;;OAgBG;IACH,SAAgB,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,SAAS,CAAC,OAAO,EAC5D,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GACvC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAEhE;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,WAAW,EACpE,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,OAAO,KAAK,GAAG,GAAG,OAAO,GAAG,KAAK,GACxE,iBAAiB,CAWnB;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;CACvB,CAAA;AAID;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EACd,IAAI,EAAE;IAAE,OAAO,EAAE,SAAS,aAAa,CAAC,SAAS,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACpE,MAAM,GAAE,eAAoB,GAC3B,IAAI,CAoBN"}
|
package/dist/middlewares/hono.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { generate } from '../discovery/OpenApi.js';
|
|
2
|
+
import * as Scope from '../server/internal/scope.js';
|
|
2
3
|
import * as Mppx_core from '../server/Mppx.js';
|
|
3
4
|
import * as Mppx_internal from './internal/mppx.js';
|
|
4
5
|
export * from '../server/Methods.js';
|
|
@@ -48,7 +49,10 @@ export var Mppx;
|
|
|
48
49
|
*/
|
|
49
50
|
export function payment(intent, options) {
|
|
50
51
|
return async (c, next) => {
|
|
51
|
-
const
|
|
52
|
+
const request = options.scope === undefined && Scope.read(options.meta) === undefined
|
|
53
|
+
? Scope.attach(c.req.raw, `${c.req.method.toUpperCase()} ${c.req.routePath || c.req.path}`)
|
|
54
|
+
: c.req.raw;
|
|
55
|
+
const result = await intent(options)(request);
|
|
52
56
|
if (result.status === 402)
|
|
53
57
|
return result.challenge;
|
|
54
58
|
await next();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono.js","sourceRoot":"","sources":["../../src/middlewares/hono.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAyC,MAAM,yBAAyB,CAAA;AACzF,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,cAAc,sBAAsB,CAAA;AAEpC,MAAM,KAAW,IAAI,CAuBpB;AAvBD,WAAiB,IAAI;IACnB;;;;;;;;;;;;;;;;OAgBG;IACH,SAAgB,MAAM,CACpB,MAAwC;QAExC,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC;IAJe,WAAM,SAIrB,CAAA;AACH,CAAC,EAvBgB,IAAI,KAAJ,IAAI,QAuBpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,OAAO,CACrB,MAAc,EACd,OAAyE;IAEzE,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"hono.js","sourceRoot":"","sources":["../../src/middlewares/hono.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/Proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"Proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/Proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AAQtC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,kFAAkF;AAClF,MAAM,MAAM,KAAK,GAAG;IAClB,sFAAsF;IACtF,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC9C,uFAAuF;IACvF,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAAA;CACxE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAkInD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAY,MAAM,GAAG;QACnB,sEAAsE;QACtE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,wDAAwD;QACxD,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;QACjC,0DAA0D;QAC1D,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,kEAAkE;QAClE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,SAAS,CAAA;QAC/B,qEAAqE;QACrE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,SAAS,CAAA;QAC3C,qEAAqE;QACrE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;QAC3B,8DAA8D;QAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,4DAA4D;QAC5D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B,CAAA;CACF"}
|
package/dist/proxy/Proxy.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Credential from '../Credential.js';
|
|
2
2
|
import { generateProxy } from '../discovery/OpenApi.js';
|
|
3
|
+
import * as Scope from '../server/internal/scope.js';
|
|
3
4
|
import * as Request from '../server/Request.js';
|
|
4
5
|
import * as Headers from './internal/Headers.js';
|
|
5
6
|
import * as Route from './internal/Route.js';
|
|
@@ -99,7 +100,13 @@ export function create(config) {
|
|
|
99
100
|
if (endpoint === true)
|
|
100
101
|
return proxyUpstream({ request, service, ctx, proxy });
|
|
101
102
|
const handler = typeof endpoint === 'function' ? endpoint : endpoint.pay;
|
|
102
|
-
const
|
|
103
|
+
const scope = getConfiguredScope(handler) ??
|
|
104
|
+
deriveRouteScope({
|
|
105
|
+
basePath: config.basePath,
|
|
106
|
+
routeKey: matched.key,
|
|
107
|
+
serviceId,
|
|
108
|
+
});
|
|
109
|
+
const result = await handler(getConfiguredScope(handler) ? request : Scope.attach(request, scope));
|
|
103
110
|
if (result.status === 402)
|
|
104
111
|
return result.challenge;
|
|
105
112
|
const managementResponse = (() => {
|
|
@@ -168,6 +175,17 @@ function buildDiscoveryRoutes(services) {
|
|
|
168
175
|
};
|
|
169
176
|
}));
|
|
170
177
|
}
|
|
178
|
+
function getConfiguredScope(handler) {
|
|
179
|
+
if (!('_internal' in handler))
|
|
180
|
+
return undefined;
|
|
181
|
+
const internal = handler._internal;
|
|
182
|
+
return Scope.read(internal.meta) ?? internal.scope;
|
|
183
|
+
}
|
|
184
|
+
function deriveRouteScope(parameters) {
|
|
185
|
+
const { basePath, routeKey, serviceId } = parameters;
|
|
186
|
+
const { method, pattern } = Route.parseRouteKey(routeKey);
|
|
187
|
+
return `${method ?? '*'} ${withBasePath(basePath, `/${serviceId}${pattern}`)}`;
|
|
188
|
+
}
|
|
171
189
|
function buildServiceInfo(config) {
|
|
172
190
|
const categories = config.categories ??
|
|
173
191
|
Array.from(new Set(config.services.flatMap((service) => service.categories ?? [])));
|
package/dist/proxy/Proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../src/proxy/Proxy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAUvC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,MAAM,CAAC,MAAqB;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAA;IAElD,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAC/D,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAU,CAAA;IAC/C,CAAC,CAAC,CACH,CAAA;IAED,2DAA2D;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAChC,aAAa,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,WAAW;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;SACnC;QACD,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC7C,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC;KACtC,CAAC,CACH,CAAA;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;QACjD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;KAC5D,CAAC,CAAA;IAEF,KAAK,UAAU,MAAM,CAAC,OAA2B;QAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEhC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAErD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAEhE,IACE,OAAO,CAAC,MAAM,KAAK,KAAK;YACxB,CAAC,QAAQ,KAAK,eAAe,IAAI,QAAQ,KAAK,gBAAgB,CAAC,EAC/D,CAAC;YACD,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE;gBAC/B,OAAO,EAAE;oBACP,eAAe,EAAE,qBAAqB;oBACtC,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,QAAQ,KAAK,WAAW;YACtD,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;gBAC3B,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE;aACzD,CAAC,CAAA;QACJ,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAE9D,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAE7D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;QAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAC5E,MAAM,eAAe,GACnB,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YAC9E,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAA;QACV,MAAM,aAAa,GACjB,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YAC9E,CAAC,CAAC,sEAAsE;gBACtE,qEAAqE;gBACrE,oEAAoE;gBACpE,yEAAyE;gBACzE,oEAAoE;gBACpE,KAAK,CAAC,SAAS,CACb,OAAO,CAAC,MAAM,EACd,YAAY;gBACZ,iDAAiD;gBACjD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,IAAI,qBAAqB,CAAC,QAAQ,EAAE,eAAe,CAAC,CACpF;YACH,CAAC,CAAC,IAAI,CAAA;QACV,MAAM,OAAO,GAAG,UAAU,IAAI,aAAa,CAAA;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAE/D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAyB,CAAA;QAClD,MAAM,GAAG,GAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;QAE/D,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAE7E,MAAM,OAAO,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAA;QACxE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../src/proxy/Proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,4 +15,9 @@ export declare function matchPath(routes: Record<string, unknown>, path: string,
|
|
|
15
15
|
key: string;
|
|
16
16
|
value: unknown;
|
|
17
17
|
} | null;
|
|
18
|
+
/** Parses a proxy route key like `"POST /v1/messages"` into method + pathname pattern. */
|
|
19
|
+
export declare function parseRouteKey(key: string): {
|
|
20
|
+
method: string | undefined;
|
|
21
|
+
pattern: string;
|
|
22
|
+
};
|
|
18
23
|
//# sourceMappingURL=Route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../../src/proxy/internal/Route.ts"],"names":[],"mappings":"AAEA,4HAA4H;AAC5H,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQnE;AAED,2FAA2F;AAC3F,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO1F;AAED,uFAAuF;AACvF,wBAAgB,KAAK,CACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAQxC;AAED,yHAAyH;AACzH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GACnC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAWxC"}
|
|
1
|
+
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../../src/proxy/internal/Route.ts"],"names":[],"mappings":"AAEA,4HAA4H;AAC5H,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQnE;AAED,2FAA2F;AAC3F,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO1F;AAED,uFAAuF;AACvF,wBAAgB,KAAK,CACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAQxC;AAED,yHAAyH;AACzH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GACnC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAWxC;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAM1F"}
|
|
@@ -47,7 +47,8 @@ export function matchPath(routes, path, filter) {
|
|
|
47
47
|
}
|
|
48
48
|
return match;
|
|
49
49
|
}
|
|
50
|
-
|
|
50
|
+
/** Parses a proxy route key like `"POST /v1/messages"` into method + pathname pattern. */
|
|
51
|
+
export function parseRouteKey(key) {
|
|
51
52
|
const tokens = key.trim().split(/\s+/);
|
|
52
53
|
if (tokens.length >= 2 && httpMethods.has(tokens[0].toUpperCase())) {
|
|
53
54
|
return { method: tokens[0].toUpperCase(), pattern: tokens.slice(1).join(' ') };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../src/proxy/internal/Route.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAEzF,4HAA4H;AAC5H,MAAM,UAAU,QAAQ,CAAC,GAAQ,EAAE,QAAiB;IAClD,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACxE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,KAAK,CAAC,QAAgB;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAE3B,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACtD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAA;AACpC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,KAAK,CACnB,MAA+B,EAC/B,MAAc,EACd,IAAY;IAEZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QAC3D,IAAI,WAAW,IAAI,WAAW,KAAK,MAAM,CAAC,WAAW,EAAE;YAAE,SAAQ;QACjE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;IAChE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,yHAAyH;AACzH,MAAM,UAAU,SAAS,CACvB,MAA+B,EAC/B,IAAY,EACZ,MAAoC;IAEpC,IAAI,KAAK,GAA2C,IAAI,CAAA;IACxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,SAAQ;QACtC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAAE,SAAQ;QAClD,IAAI,KAAK;YAAE,OAAO,IAAI,CAAA;QACtB,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;IACxB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../src/proxy/internal/Route.ts"],"names":[],"mappings":"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"}
|
package/dist/server/Mppx.d.ts
CHANGED
|
@@ -6,6 +6,15 @@ import type * as Receipt from '../Receipt.js';
|
|
|
6
6
|
import type * as z from '../zod.js';
|
|
7
7
|
import * as Transport from './Transport.js';
|
|
8
8
|
export type Methods = readonly (Method.AnyServer | readonly Method.AnyServer[])[];
|
|
9
|
+
/** Options for standalone credential verification. */
|
|
10
|
+
export type VerifyCredentialOptions = {
|
|
11
|
+
capturedRequest?: Method.CapturedRequest | undefined;
|
|
12
|
+
meta?: Record<string, string> | undefined;
|
|
13
|
+
realm?: string | undefined;
|
|
14
|
+
request?: Record<string, unknown> | undefined;
|
|
15
|
+
/** Optional expected route/resource scope bound via challenge `opaque`. */
|
|
16
|
+
scope?: string | undefined;
|
|
17
|
+
};
|
|
9
18
|
/**
|
|
10
19
|
* Payment handler.
|
|
11
20
|
*/
|
|
@@ -70,9 +79,10 @@ export type Mppx<methods extends Methods = Methods, transport extends Transport.
|
|
|
70
79
|
* ```ts
|
|
71
80
|
* const receipt = await mppx.verifyCredential('eyJjaGFsbGVuZ2...')
|
|
72
81
|
* const receipt = await mppx.verifyCredential(credential)
|
|
82
|
+
* const receipt = await mppx.verifyCredential(credential, { request: { amount: '1000' } })
|
|
73
83
|
* ```
|
|
74
84
|
*/
|
|
75
|
-
verifyCredential(credential: string | Credential.Credential): Promise<Receipt.Receipt>;
|
|
85
|
+
verifyCredential(credential: string | Credential.Credential, options?: VerifyCredentialOptions | undefined): Promise<Receipt.Receipt>;
|
|
76
86
|
};
|
|
77
87
|
/** Extracts the transport override from a method, if any. */
|
|
78
88
|
type TransportOverrideOf<mi> = mi extends {
|
|
@@ -162,6 +172,8 @@ declare namespace MethodFn {
|
|
|
162
172
|
expires?: string | undefined;
|
|
163
173
|
/** Optional server-defined correlation data (serialized as `opaque` in the request). Flat string-to-string map; clients MUST NOT modify. */
|
|
164
174
|
meta?: Record<string, string> | undefined;
|
|
175
|
+
/** Optional route/resource scope bound via reserved challenge metadata. */
|
|
176
|
+
scope?: string | undefined;
|
|
165
177
|
} & Method.WithDefaults<z.input<method['schema']['request']>, defaults>;
|
|
166
178
|
type Response<transport extends Transport.AnyTransport = Transport.Http> = {
|
|
167
179
|
challenge: Transport.ChallengeOutputOf<transport>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mppx.d.ts","sourceRoot":"","sources":["../../src/server/Mppx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGhE,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAK9C,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAA;AAE3C,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,KAAK,CAAC,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"Mppx.d.ts","sourceRoot":"","sources":["../../src/server/Mppx.ts"],"names":[],"mappings":"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"}
|
package/dist/server/Mppx.js
CHANGED
|
@@ -8,6 +8,7 @@ import * as Env from '../internal/env.js';
|
|
|
8
8
|
import * as PaymentRequest from '../PaymentRequest.js';
|
|
9
9
|
import * as Html from './internal/html/config.js';
|
|
10
10
|
import { serviceWorker } from './internal/html/serviceWorker.gen.js';
|
|
11
|
+
import * as Scope from './internal/scope.js';
|
|
11
12
|
import * as NodeListener from './NodeListener.js';
|
|
12
13
|
import * as Request from './Request.js';
|
|
13
14
|
import * as Transport from './Transport.js';
|
|
@@ -75,7 +76,7 @@ export function create(config) {
|
|
|
75
76
|
});
|
|
76
77
|
}
|
|
77
78
|
// verifyCredential: single-call end-to-end verification
|
|
78
|
-
async function verifyCredentialFn(input) {
|
|
79
|
+
async function verifyCredentialFn(input, options) {
|
|
79
80
|
const credential = typeof input === 'string' ? Credential.deserialize(input) : input;
|
|
80
81
|
// HMAC provenance check (secretKey is guaranteed non-null by the guard at the top of create())
|
|
81
82
|
if (!Challenge.verify(credential.challenge, { secretKey: secretKey }))
|
|
@@ -95,10 +96,51 @@ export function create(config) {
|
|
|
95
96
|
});
|
|
96
97
|
// Validate payload against method schema
|
|
97
98
|
mi.schema.credential.payload.parse(credential.payload);
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
const expectedMeta = Scope.merge({ meta: options?.meta, scope: options?.scope });
|
|
100
|
+
if (options?.scope !== undefined && Scope.read(credential.challenge.opaque) !== options.scope) {
|
|
101
|
+
throw new Errors.InvalidChallengeError({
|
|
102
|
+
id: credential.challenge.id,
|
|
103
|
+
reason: "credential scope does not match this route's requirements",
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
const shouldValidateRoute = options?.capturedRequest !== undefined ||
|
|
107
|
+
options?.meta !== undefined ||
|
|
108
|
+
options?.realm !== undefined ||
|
|
109
|
+
options?.request !== undefined;
|
|
110
|
+
const expectedRealm = options?.realm ??
|
|
111
|
+
realm ??
|
|
112
|
+
(options?.capturedRequest === undefined ? credential.challenge.realm : undefined);
|
|
113
|
+
const request = shouldValidateRoute
|
|
114
|
+
? await resolveRouteChallenge({
|
|
115
|
+
capturedRequest: options?.capturedRequest,
|
|
116
|
+
credential,
|
|
117
|
+
defaults: mi.defaults,
|
|
118
|
+
expires: credential.challenge.expires,
|
|
119
|
+
meta: expectedMeta,
|
|
120
|
+
method: mi,
|
|
121
|
+
realm: expectedRealm,
|
|
122
|
+
request: mi.request,
|
|
123
|
+
routeRequest: options?.request ?? {},
|
|
124
|
+
secretKey: secretKey,
|
|
125
|
+
}).then((resolved) => {
|
|
126
|
+
const mismatch = getPinnedChallengeMismatch(resolved.challenge, credential.challenge);
|
|
127
|
+
if (mismatch)
|
|
128
|
+
throw new Errors.InvalidChallengeError({
|
|
129
|
+
id: credential.challenge.id,
|
|
130
|
+
reason: `credential ${mismatch} does not match this route's requirements`,
|
|
131
|
+
});
|
|
132
|
+
return resolved.request;
|
|
133
|
+
})
|
|
134
|
+
: credential.challenge.request;
|
|
135
|
+
const envelope = options?.capturedRequest
|
|
136
|
+
? {
|
|
137
|
+
capturedRequest: options.capturedRequest,
|
|
138
|
+
challenge: credential.challenge,
|
|
139
|
+
credential,
|
|
140
|
+
request,
|
|
141
|
+
}
|
|
142
|
+
: undefined;
|
|
143
|
+
return mi.verify({ credential, envelope, request });
|
|
102
144
|
}
|
|
103
145
|
function composeFn(...entries) {
|
|
104
146
|
if (transport.name !== 'http')
|
|
@@ -132,11 +174,14 @@ export function create(config) {
|
|
|
132
174
|
function createMethodFn(parameters) {
|
|
133
175
|
const { defaults, method, realm, respond, secretKey, transport, verify } = parameters;
|
|
134
176
|
return (options) => {
|
|
135
|
-
const { description, meta, ...rest } = options;
|
|
136
|
-
const
|
|
177
|
+
const { description, meta, scope, ...rest } = options;
|
|
178
|
+
const staticMeta = Scope.merge({ meta, scope });
|
|
137
179
|
return Object.assign(async (input) => {
|
|
138
180
|
const expires = 'expires' in options ? options.expires : Expires.minutes(5);
|
|
139
181
|
const capturedRequest = await captureRequest(transport, input);
|
|
182
|
+
const effectiveMeta = scope === undefined && input instanceof globalThis.Request
|
|
183
|
+
? Scope.merge({ meta: staticMeta, scope: Scope.get(input) })
|
|
184
|
+
: staticMeta;
|
|
140
185
|
// Extract credential once — getCredential may have side effects (e.g. SSE transports).
|
|
141
186
|
const [credential, credentialError] = (() => {
|
|
142
187
|
try {
|
|
@@ -149,21 +194,17 @@ function createMethodFn(parameters) {
|
|
|
149
194
|
return [null, e];
|
|
150
195
|
}
|
|
151
196
|
})();
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
// Resolve realm: explicit > env var > request Host header.
|
|
157
|
-
const effectiveRealm = realm ?? resolveRealmFromCapturedRequest(capturedRequest);
|
|
158
|
-
// Recompute challenge from options. The HMAC-bound ID means we don't need to
|
|
159
|
-
// store challenges server-side—if the client echoes back a credential with
|
|
160
|
-
// a matching ID, we know it was issued by us with these exact parameters.
|
|
161
|
-
const challenge = Challenge.fromMethod(method, {
|
|
197
|
+
const { challenge, request } = await resolveRouteChallenge({
|
|
198
|
+
capturedRequest,
|
|
199
|
+
credential,
|
|
200
|
+
defaults,
|
|
162
201
|
description,
|
|
163
202
|
expires,
|
|
164
|
-
meta,
|
|
165
|
-
|
|
166
|
-
|
|
203
|
+
meta: effectiveMeta,
|
|
204
|
+
method,
|
|
205
|
+
realm,
|
|
206
|
+
request: parameters.request,
|
|
207
|
+
routeRequest: rest,
|
|
167
208
|
secretKey,
|
|
168
209
|
});
|
|
169
210
|
// Credential was provided but malformed
|
|
@@ -275,6 +316,7 @@ function createMethodFn(parameters) {
|
|
|
275
316
|
capturedRequest,
|
|
276
317
|
challenge: credential.challenge,
|
|
277
318
|
credential,
|
|
319
|
+
request,
|
|
278
320
|
});
|
|
279
321
|
// User-provided verification (e.g., check signature, submit tx, verify payment).
|
|
280
322
|
// If verification fails, re-issue the challenge so the client can retry.
|
|
@@ -331,9 +373,10 @@ function createMethodFn(parameters) {
|
|
|
331
373
|
...method,
|
|
332
374
|
...defaults,
|
|
333
375
|
...options,
|
|
376
|
+
...(staticMeta !== undefined ? { meta: staticMeta } : {}),
|
|
334
377
|
name: method.name,
|
|
335
378
|
intent: method.intent,
|
|
336
|
-
_canonicalRequest: PaymentRequest.fromMethod(method,
|
|
379
|
+
_canonicalRequest: PaymentRequest.fromMethod(method, { ...defaults, ...rest }),
|
|
337
380
|
},
|
|
338
381
|
});
|
|
339
382
|
};
|
|
@@ -346,24 +389,20 @@ function createMethodFn(parameters) {
|
|
|
346
389
|
function createChallengeFn(parameters) {
|
|
347
390
|
const { defaults, method, realm, secretKey } = parameters;
|
|
348
391
|
return async (options) => {
|
|
349
|
-
const { description, meta, ...rest } = options;
|
|
350
|
-
const
|
|
392
|
+
const { description, meta, scope, ...rest } = options;
|
|
393
|
+
const effectiveMeta = Scope.merge({ meta, scope });
|
|
351
394
|
const expires = 'expires' in options ? options.expires : Expires.minutes(5);
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
? await parameters.request({
|
|
355
|
-
request: merged,
|
|
356
|
-
})
|
|
357
|
-
: merged);
|
|
358
|
-
const effectiveRealm = realm ?? defaultRealm;
|
|
359
|
-
return Challenge.fromMethod(method, {
|
|
395
|
+
return resolveRouteChallenge({
|
|
396
|
+
defaults,
|
|
360
397
|
description,
|
|
361
398
|
expires,
|
|
362
|
-
meta,
|
|
363
|
-
|
|
364
|
-
|
|
399
|
+
meta: effectiveMeta,
|
|
400
|
+
method,
|
|
401
|
+
realm,
|
|
402
|
+
request: parameters.request,
|
|
403
|
+
routeRequest: rest,
|
|
365
404
|
secretKey,
|
|
366
|
-
});
|
|
405
|
+
}).then((resolved) => resolved.challenge);
|
|
367
406
|
};
|
|
368
407
|
}
|
|
369
408
|
function getSafeCredentialReason(error) {
|
|
@@ -397,6 +436,36 @@ function resolveRealmFromCapturedRequest(capturedRequest) {
|
|
|
397
436
|
warnOnce(Warnings.realmFallback, `Could not auto-detect realm from request. Falling back to "${defaultRealm}". Set \`realm\` in Mppx.create() or the MPP_REALM env var.`);
|
|
398
437
|
return defaultRealm;
|
|
399
438
|
}
|
|
439
|
+
async function resolveRouteChallenge(parameters) {
|
|
440
|
+
// Resolve the route's canonical request exactly as the handler path does:
|
|
441
|
+
const request = await (async () => {
|
|
442
|
+
// start from defaults + route options, then let the method request hook
|
|
443
|
+
const merged = { ...parameters.defaults, ...parameters.routeRequest };
|
|
444
|
+
// normalize or enrich it using the captured request and credential.
|
|
445
|
+
return parameters.request
|
|
446
|
+
? (await parameters.request({
|
|
447
|
+
capturedRequest: parameters.capturedRequest,
|
|
448
|
+
credential: parameters.credential,
|
|
449
|
+
request: merged,
|
|
450
|
+
}))
|
|
451
|
+
: merged;
|
|
452
|
+
})();
|
|
453
|
+
const effectiveRealm = parameters.realm ??
|
|
454
|
+
(parameters.capturedRequest
|
|
455
|
+
? resolveRealmFromCapturedRequest(parameters.capturedRequest)
|
|
456
|
+
: defaultRealm);
|
|
457
|
+
return {
|
|
458
|
+
challenge: Challenge.fromMethod(parameters.method, {
|
|
459
|
+
description: parameters.description,
|
|
460
|
+
expires: parameters.expires,
|
|
461
|
+
meta: parameters.meta,
|
|
462
|
+
realm: effectiveRealm,
|
|
463
|
+
request: request,
|
|
464
|
+
secretKey: parameters.secretKey,
|
|
465
|
+
}),
|
|
466
|
+
request,
|
|
467
|
+
};
|
|
468
|
+
}
|
|
400
469
|
/**
|
|
401
470
|
* Captures the transport request into a frozen snapshot at the start of the
|
|
402
471
|
* verification flow. This snapshot is threaded through request() → verify() →
|
|
@@ -424,7 +493,7 @@ function captureRequestFromInput(input) {
|
|
|
424
493
|
};
|
|
425
494
|
}
|
|
426
495
|
const coreBindingFields = ['amount', 'currency', 'recipient'];
|
|
427
|
-
const methodBindingFields = ['chainId', 'memo', 'splits'];
|
|
496
|
+
const methodBindingFields = ['chainId', 'memo', 'splits', 'unitType'];
|
|
428
497
|
const pinnedRequestBindingFields = [...coreBindingFields, ...methodBindingFields];
|
|
429
498
|
/**
|
|
430
499
|
* Compares only the fields that MUST be stable across request-hook transforms.
|
|
@@ -466,6 +535,7 @@ function getPinnedRequestBinding(request) {
|
|
|
466
535
|
const memo = normalizeHex(methodDetails.memo);
|
|
467
536
|
const recipient = normalizeScalar(request.recipient ?? methodDetails.recipient);
|
|
468
537
|
const splits = normalizeComparable(methodDetails.splits);
|
|
538
|
+
const unitType = normalizeScalar(request.unitType ?? methodDetails.unitType);
|
|
469
539
|
return {
|
|
470
540
|
coreBinding: {
|
|
471
541
|
...(amount !== undefined ? { amount } : {}),
|
|
@@ -476,6 +546,7 @@ function getPinnedRequestBinding(request) {
|
|
|
476
546
|
...(chainId !== undefined ? { chainId } : {}),
|
|
477
547
|
...(memo !== undefined ? { memo } : {}),
|
|
478
548
|
...(splits !== undefined ? { splits } : {}),
|
|
549
|
+
...(unitType !== undefined ? { unitType } : {}),
|
|
479
550
|
},
|
|
480
551
|
};
|
|
481
552
|
}
|