@marxbiotech/signet-integration 0.1.0 → 0.1.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/README.md +18 -0
- package/dist/deployment-profile.js +2 -2
- package/dist/deployment-profile.js.map +1 -1
- package/dist/guard.js +7 -3
- package/dist/guard.js.map +1 -1
- package/dist/scope-vocabulary.js +5 -0
- package/dist/scope-vocabulary.js.map +1 -1
- package/dist/testing/fixture.js +3 -2
- package/dist/testing/fixture.js.map +1 -1
- package/dist/validate-options.js +29 -1
- package/dist/validate-options.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -109,3 +109,21 @@ issues), `startJwksServer()`, `FIXTURE_OPTIONS` and `FIXTURE_DEVELOPMENT_PROFILE
|
|
|
109
109
|
- `iat` is not required and no `maxTokenAge` is applied; `client_id` is required (RFC 9068 §2.2, Signet issues it always).
|
|
110
110
|
- JWKS options are fixed: 3 s timeout, 30 s cooldown, 10 min cache.
|
|
111
111
|
- The guard's decision log line is `metric reason <your logFields> clientId environment`; the fixed keys are reserved.
|
|
112
|
+
|
|
113
|
+
## Development and release
|
|
114
|
+
|
|
115
|
+
```sh
|
|
116
|
+
pnpm install
|
|
117
|
+
pnpm lint && pnpm typecheck && pnpm test && pnpm build
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Releases are cut by tag. Write the `CHANGELOG.md` entry, bump `version` in
|
|
121
|
+
`package.json` on `main`, then push the matching tag:
|
|
122
|
+
|
|
123
|
+
```sh
|
|
124
|
+
git tag v0.1.2 && git push origin v0.1.2
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
`.github/workflows/publish.yml` refuses a tag that does not equal
|
|
128
|
+
`v<package.json version>`, runs lint, tests and build, and publishes with npm
|
|
129
|
+
trusted publishing (OIDC). Nothing is published from a developer machine.
|
|
@@ -78,8 +78,8 @@ function resolveDeploymentProfile(options, input) {
|
|
|
78
78
|
// obtain a profile it should not have: it throws here instead.
|
|
79
79
|
//
|
|
80
80
|
// A consumer that wants `profile.environment` typed as its own union
|
|
81
|
-
// subclasses this
|
|
82
|
-
// token cannot carry the type parameter.
|
|
81
|
+
// subclasses this, re-declares `profile` with the narrower type and checks
|
|
82
|
+
// it in its constructor; the DI token cannot carry the type parameter.
|
|
83
83
|
let SignetDeploymentProfileService = class SignetDeploymentProfileService {
|
|
84
84
|
profile;
|
|
85
85
|
constructor(configService, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-profile.js","sourceRoot":"","sources":["../src/deployment-profile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAqCA,4DAyDC;AA9FD,2CAAoD;AACpD,2CAA+C;AAE/C,uCAKmB;AA0BnB,uEAAuE;AACvE,mEAAmE;AACnE,4CAA4C;AAC5C,SAAgB,wBAAwB,CACtC,OAAoC,EACpC,KAA6B;IAE7B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,GACnE,OAAO,CAAC,GAAG,CAAC;IACd,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YAC7B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG,YAAY,QAAQ,WAAW,6BAA6B;aACxE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE;gBACP,GAAG,OAAO,CAAC,kBAAkB;gBAC7B,WAAW,EAAE,iCAAuB;aACrC;SACF,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG,YAAY,QAAQ,WAAW,8BAA8B;SACzE,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GACT,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CACxC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG,YAAY,6EAA6E;SACrG,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;IACtC,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,sEAAsE;QACtE,oEAAoE;QACpE,iCAAiC;QACjC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG,WAAW,mBAAmB,YAAY,IAAI,SAAS,cAAc,gBAAgB,GAAG;SACpG,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE;YACP,iBAAiB,EAAE,gBAAgB;YACnC,WAAW;YACX,IAAI;YACJ,SAAS;SACV;KACF,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,sEAAsE;AACtE,8EAA8E;AAC9E,+DAA+D;AAC/D,EAAE;AACF,qEAAqE;AACrE,2EAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"deployment-profile.js","sourceRoot":"","sources":["../src/deployment-profile.ts"],"names":[],"mappings":"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"}
|
package/dist/guard.js
CHANGED
|
@@ -63,6 +63,7 @@ function requirePrincipalResolver() {
|
|
|
63
63
|
// resolver throws PrincipalStoreUnavailableError → 503, fail closed
|
|
64
64
|
// resolver throws an HttpException → its own status
|
|
65
65
|
// resolver throws anything else → 500, the error under its own name
|
|
66
|
+
// resolver logFields reuses a fixed key → 500, resolver_contract_error
|
|
66
67
|
// Passport passed but attached no user → 500, programming error
|
|
67
68
|
//
|
|
68
69
|
// None of these are 401: the token was valid. The 403 messages distinguish
|
|
@@ -151,8 +152,10 @@ let SignetBearerGuard = class SignetBearerGuard extends (0, passport_1.AuthGuard
|
|
|
151
152
|
throw new common_1.ForbiddenException(this.signetOptions.principalRefusalMessage ??
|
|
152
153
|
'this identity holds no authorization in this service');
|
|
153
154
|
}
|
|
154
|
-
|
|
155
|
+
// Attached before the decision line: an assignment that throws must not
|
|
156
|
+
// leave an "authorized" line behind.
|
|
155
157
|
request[this.signetOptions.requestPrincipalKey] = resolution.principal;
|
|
158
|
+
this.logDecision('authorized', identity.clientId, environment, resolution);
|
|
156
159
|
return true;
|
|
157
160
|
}
|
|
158
161
|
// The one rendering of this guard's authorization DECISION: the line that
|
|
@@ -171,8 +174,9 @@ let SignetBearerGuard = class SignetBearerGuard extends (0, passport_1.AuthGuard
|
|
|
171
174
|
const consumerFields = Object.entries(resolution.logFields ?? {});
|
|
172
175
|
for (const [key] of consumerFields) {
|
|
173
176
|
if (RESERVED_LOG_KEYS.has(key)) {
|
|
174
|
-
// A programming error in the resolver, not a decision:
|
|
175
|
-
// a 500 under its own name rather than a forged log line.
|
|
177
|
+
// A programming error in the resolver, not a decision: one alertable
|
|
178
|
+
// line, then a 500 under its own name rather than a forged log line.
|
|
179
|
+
this.logFailure('resolver logFields invalid', 'resolver_contract_error', 'Error');
|
|
176
180
|
throw new Error(`resolver logFields must not use the reserved key ${key}`);
|
|
177
181
|
}
|
|
178
182
|
}
|
package/dist/guard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
|
package/dist/scope-vocabulary.js
CHANGED
|
@@ -16,6 +16,11 @@ function createScopeVocabulary(input) {
|
|
|
16
16
|
if (actionByScope.size !== new Set(input.actions).size) {
|
|
17
17
|
throw new Error('scope vocabulary: tokenScopeFor must map actions to distinct scopes');
|
|
18
18
|
}
|
|
19
|
+
for (const scope of actionByScope.keys()) {
|
|
20
|
+
if (scope === '' || /[\s"\\]/.test(scope)) {
|
|
21
|
+
throw new Error(`scope vocabulary: ${JSON.stringify(scope)} is not a scope token (no space, quote or backslash)`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
19
24
|
if (actionByScope.has(input.admissionScope)) {
|
|
20
25
|
throw new Error(`scope vocabulary: an action is spelled as the admission scope ${input.admissionScope}`);
|
|
21
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-vocabulary.js","sourceRoot":"","sources":["../src/scope-vocabulary.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;;AAkDzE,
|
|
1
|
+
{"version":3,"file":"scope-vocabulary.js","sourceRoot":"","sources":["../src/scope-vocabulary.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;;AAkDzE,sDA2DC;AA3DD,SAAgB,qBAAqB,CACnC,KAA8B;IAE9B,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,MAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,aAAa,GAA2B,IAAI,GAAG,CACnD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAC/D,CAAC;IACF,sEAAsE;IACtE,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,qEAAqE;IACrE,iBAAiB;IACjB,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,KAAK,KAAK,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,sDAAsD,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,iEAAiE,KAAK,CAAC,cAAc,EAAE,CACxF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO;QACL,aAAa;QACb,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAK,CAAC;YAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,CAAC;QACD,eAAe,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YAChC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,eAAe,EAAE;YACf,KAAK,CAAC,cAAc;YACpB,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;SACpC;QACD,aAAa;KACd,CAAC;AACJ,CAAC"}
|
package/dist/testing/fixture.js
CHANGED
|
@@ -4,8 +4,9 @@ exports.FIXTURE_DEVELOPMENT_PROFILE = exports.FIXTURE_OPTIONS = void 0;
|
|
|
4
4
|
// A complete options object for a fictional second service, for tests of
|
|
5
5
|
// the mechanism and for consumers' tests that need "some other service".
|
|
6
6
|
// Its canonical resource keeps a PATH (`/mcp`) so every derived path and URL
|
|
7
|
-
// differs from a bare-origin consumer's
|
|
8
|
-
// shape
|
|
7
|
+
// differs from a bare-origin consumer's. A test that needs the bare-origin
|
|
8
|
+
// shape overrides `canonicalResourceFor` AND `developmentProfile.canonicalResource`
|
|
9
|
+
// together; the options validation refuses profiles whose paths differ.
|
|
9
10
|
exports.FIXTURE_OPTIONS = {
|
|
10
11
|
admissionScope: 'acme:access',
|
|
11
12
|
canonicalResourceFor: (host) => `https://${host}/mcp`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/testing/fixture.ts"],"names":[],"mappings":";;;AAEA,yEAAyE;AACzE,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/testing/fixture.ts"],"names":[],"mappings":";;;AAEA,yEAAyE;AACzE,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,oFAAoF;AACpF,wEAAwE;AAC3D,QAAA,eAAe,GAExB;IACF,cAAc,EAAE,aAAa;IAC7B,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,IAAI,MAAM;IACrD,gBAAgB,EAAE;QAChB,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE;QAClE,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,cAAc,EAAE;KACrE;IACD,kBAAkB,EAAE;QAClB,iBAAiB,EAAE,sBAAsB;QACzC,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,aAAa;KACzB;IACD,GAAG,EAAE;QACH,mBAAmB,EAAE,2BAA2B;QAChD,WAAW,EAAE,mBAAmB;QAChC,kBAAkB,EAAE,4BAA4B;QAChD,SAAS,EAAE,iBAAiB;QAC5B,UAAU,EAAE,mBAAmB;QAC/B,mBAAmB,EAAE,qBAAqB;QAC1C,aAAa,EAAE,qBAAqB;KACrC;IACD,KAAK,EAAE,MAAM;IACb,mBAAmB,EAAE,WAAW;IAChC,eAAe,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,eAAe,CAAC;CAClE,CAAC;AAEW,QAAA,2BAA2B,GAAG;IACzC,GAAG,uBAAe,CAAC,kBAAkB;IACrC,WAAW,EAAE,aAAsB;CACpC,CAAC"}
|
package/dist/validate-options.js
CHANGED
|
@@ -8,9 +8,12 @@ const options_1 = require("./options");
|
|
|
8
8
|
*/
|
|
9
9
|
const RESERVED_REQUEST_KEYS = new Set([
|
|
10
10
|
'app',
|
|
11
|
+
'baseUrl',
|
|
11
12
|
'body',
|
|
12
13
|
'cookies',
|
|
14
|
+
'fresh',
|
|
13
15
|
'headers',
|
|
16
|
+
'host',
|
|
14
17
|
'hostname',
|
|
15
18
|
'ip',
|
|
16
19
|
'ips',
|
|
@@ -23,9 +26,20 @@ const RESERVED_REQUEST_KEYS = new Set([
|
|
|
23
26
|
'rawHeaders',
|
|
24
27
|
'res',
|
|
25
28
|
'route',
|
|
29
|
+
'secure',
|
|
30
|
+
'session',
|
|
26
31
|
'signedCookies',
|
|
32
|
+
'socket',
|
|
33
|
+
'stale',
|
|
34
|
+
'subdomains',
|
|
27
35
|
'url',
|
|
36
|
+
'xhr',
|
|
28
37
|
]);
|
|
38
|
+
/**
|
|
39
|
+
* A scope token as RFC 6749 §3.3 spells it: no space (the list separator)
|
|
40
|
+
* and nothing that breaks out of the quoted `scope="…"` parameter.
|
|
41
|
+
*/
|
|
42
|
+
const SCOPE_BREAKERS = /[\s"\\]/;
|
|
29
43
|
/**
|
|
30
44
|
* Characters that would break out of the quoted value in a
|
|
31
45
|
* `WWW-Authenticate` parameter (RFC 7235 quoted-string).
|
|
@@ -51,6 +65,14 @@ function validateSignetIntegrationOptions(options) {
|
|
|
51
65
|
if (!options.scopesSupported.includes(options.admissionScope)) {
|
|
52
66
|
fail(`scopesSupported must include the admission scope ${options.admissionScope}`);
|
|
53
67
|
}
|
|
68
|
+
for (const scope of options.scopesSupported) {
|
|
69
|
+
if (scope === '' || SCOPE_BREAKERS.test(scope)) {
|
|
70
|
+
fail(`scopesSupported entry ${JSON.stringify(scope)} is not a scope token (no space, quote or backslash)`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (options.requestPrincipalKey === '') {
|
|
74
|
+
fail('requestPrincipalKey must be non-empty');
|
|
75
|
+
}
|
|
54
76
|
if (RESERVED_REQUEST_KEYS.has(options.requestPrincipalKey)) {
|
|
55
77
|
fail(`requestPrincipalKey ${options.requestPrincipalKey} is a request property Express or Nest already uses`);
|
|
56
78
|
}
|
|
@@ -70,7 +92,13 @@ function validateSignetIntegrationOptions(options) {
|
|
|
70
92
|
// same path with no query or fragment: the metadata route is mounted once,
|
|
71
93
|
// on that path, and the challenge points at it.
|
|
72
94
|
const resourcePath = (resource, label) => {
|
|
73
|
-
|
|
95
|
+
let url;
|
|
96
|
+
try {
|
|
97
|
+
url = new URL(resource);
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return fail(`${label} is not a URL: ${resource}`);
|
|
101
|
+
}
|
|
74
102
|
if (url.search !== '' || url.hash !== '') {
|
|
75
103
|
fail(`${label} must not carry a query or fragment: ${resource}`);
|
|
76
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../src/validate-options.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../src/validate-options.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marxbiotech/signet-integration",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Signet (OAuth 2.1 / OIDC) resource-server integration for NestJS: Bearer verification, RFC 6750 challenges, RFC 9728 metadata, deployment profile.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "git+https://github.com/
|
|
9
|
-
"directory": "packages/signet-integration"
|
|
8
|
+
"url": "git+https://github.com/marxbiobuilder/signet-integration.git"
|
|
10
9
|
},
|
|
11
10
|
"publishConfig": {
|
|
12
11
|
"access": "public",
|
|
13
12
|
"registry": "https://registry.npmjs.org"
|
|
14
13
|
},
|
|
14
|
+
"packageManager": "pnpm@9.1.1",
|
|
15
15
|
"main": "dist/index.js",
|
|
16
16
|
"types": "dist/index.d.ts",
|
|
17
17
|
"exports": {
|