@superblocksteam/shared 0.9608.1 → 0.9608.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/jwt/verifier.d.ts.map +1 -1
- package/dist/jwt/verifier.js +6 -1
- package/dist/jwt/verifier.js.map +1 -1
- package/dist/jwt/verifier.test.js +64 -2
- package/dist/jwt/verifier.test.js.map +1 -1
- package/dist/types/common/response.d.ts +8 -1
- package/dist/types/common/response.d.ts.map +1 -1
- package/dist/types/common/response.js +7 -0
- package/dist/types/common/response.js.map +1 -1
- package/dist/types/policyGate/index.d.ts +8 -0
- package/dist/types/policyGate/index.d.ts.map +1 -1
- package/dist/types/policyGate/index.js +17 -0
- package/dist/types/policyGate/index.js.map +1 -1
- package/dist/types/response/IssueSuperblocksResponseBody.d.ts +13 -0
- package/dist/types/response/IssueSuperblocksResponseBody.d.ts.map +1 -1
- package/dist-esm/jwt/verifier.d.ts.map +1 -1
- package/dist-esm/jwt/verifier.js +6 -1
- package/dist-esm/jwt/verifier.js.map +1 -1
- package/dist-esm/jwt/verifier.test.js +64 -2
- package/dist-esm/jwt/verifier.test.js.map +1 -1
- package/dist-esm/types/common/response.d.ts +8 -1
- package/dist-esm/types/common/response.d.ts.map +1 -1
- package/dist-esm/types/common/response.js +7 -0
- package/dist-esm/types/common/response.js.map +1 -1
- package/dist-esm/types/policyGate/index.d.ts +8 -0
- package/dist-esm/types/policyGate/index.d.ts.map +1 -1
- package/dist-esm/types/policyGate/index.js +15 -0
- package/dist-esm/types/policyGate/index.js.map +1 -1
- package/dist-esm/types/response/IssueSuperblocksResponseBody.d.ts +13 -0
- package/dist-esm/types/response/IssueSuperblocksResponseBody.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/jwt/verifier.test.ts +62 -4
- package/src/jwt/verifier.ts +6 -1
- package/src/types/common/response.ts +8 -1
- package/src/types/policyGate/index.ts +19 -0
- package/src/types/response/IssueSuperblocksResponseBody.ts +14 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../src/jwt/verifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAuB,MAAM,MAAM,CAAC;AAK9E;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO,CAAC,YAAY,CAAC,CAAwC;gBACjD,OAAO,EAAE,kBAAkB;IAIjC,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../src/jwt/verifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAuB,MAAM,MAAM,CAAC;AAK9E;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO,CAAC,YAAY,CAAC,CAAwC;gBACjD,OAAO,EAAE,kBAAkB;IAIjC,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;YAsC3E,aAAa;CAkC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtD,kBAAkB,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtC,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
package/dist/jwt/verifier.js
CHANGED
|
@@ -41,7 +41,12 @@ class JwtVerifier {
|
|
|
41
41
|
return result.payload;
|
|
42
42
|
}
|
|
43
43
|
catch (err) {
|
|
44
|
-
|
|
44
|
+
// Keep the original error reachable. jose tags it with a `code` that is
|
|
45
|
+
// the only reliable way to tell an expired token from a key lookup that
|
|
46
|
+
// timed out, and callers need that to answer the client honestly.
|
|
47
|
+
const failure = new index_js_1.UnauthorizedError(`JWT verification failed: ${err.message}`);
|
|
48
|
+
failure.cause = err;
|
|
49
|
+
throw failure;
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
52
|
async resolveJwkSet() {
|
package/dist/jwt/verifier.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/jwt/verifier.ts"],"names":[],"mappings":";;;AAAA,+BAA+F;AAE/F,mCAAiC;AAEjC,iDAAuD;AAEvD;;GAEG;AACH,MAAa,WAAW;IACL,OAAO,CAAqB;IAC7C,gIAAgI;IACxH,YAAY,CAAyC;IAC7D,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAuB,KAAa,EAAE,OAA0B;QAC1E,IAAI,MAAgD,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,GAAG,IAAA,4BAAqB,EAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,IAAA,gBAAO,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,4BAAiB,CAAC,uCAAuC,CAAC,CAAC;QACvE,CAAC;QAED,oEAAoE;QACpE,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,4BAAiB,CAAC,6EAA6E,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,4BAAiB,CAAC,4DAA4D,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAS,EAAI,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,4BAAiB,CAAC,4BAA6B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/jwt/verifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const node_crypto_1 = require("node:crypto");
|
|
4
|
+
const node_net_1 = require("node:net");
|
|
4
5
|
const jose_1 = require("jose");
|
|
5
6
|
const vitest_1 = require("vitest");
|
|
6
7
|
const verifier_js_1 = require("./verifier.js");
|
|
@@ -9,8 +10,13 @@ const createSigningMaterial = (kid = KEY_ID) => {
|
|
|
9
10
|
const { publicKey, privateKey } = (0, node_crypto_1.generateKeyPairSync)('rsa', {
|
|
10
11
|
modulusLength: 2048
|
|
11
12
|
});
|
|
13
|
+
const exportedJwk = publicKey.export({ format: 'jwk' });
|
|
14
|
+
if (!exportedJwk.kty) {
|
|
15
|
+
throw new Error('Generated public key is missing kty');
|
|
16
|
+
}
|
|
12
17
|
const jwk = {
|
|
13
|
-
...
|
|
18
|
+
...exportedJwk,
|
|
19
|
+
kty: exportedJwk.kty,
|
|
14
20
|
kid,
|
|
15
21
|
alg: 'RS256',
|
|
16
22
|
use: 'sig'
|
|
@@ -29,6 +35,16 @@ const buildJwtVerifier = (jwk) => {
|
|
|
29
35
|
};
|
|
30
36
|
return { verifier: new verifier_js_1.JwtVerifier(options), getKeysInterceptor };
|
|
31
37
|
};
|
|
38
|
+
const errorCodes = (error) => {
|
|
39
|
+
if (!error || typeof error !== 'object')
|
|
40
|
+
return [];
|
|
41
|
+
const codes = [];
|
|
42
|
+
if ('code' in error && typeof error.code === 'string')
|
|
43
|
+
codes.push(error.code);
|
|
44
|
+
if ('cause' in error)
|
|
45
|
+
codes.push(...errorCodes(error.cause));
|
|
46
|
+
return codes;
|
|
47
|
+
};
|
|
32
48
|
(0, vitest_1.describe)('JwtVerifier', () => {
|
|
33
49
|
let signingMaterial;
|
|
34
50
|
(0, vitest_1.beforeAll)(() => {
|
|
@@ -56,7 +72,8 @@ const buildJwtVerifier = (jwk) => {
|
|
|
56
72
|
.sign(invalidKey);
|
|
57
73
|
await (0, vitest_1.expect)(verifier.verify(invalidToken, { algorithms: ['RS256'] })).rejects.toMatchObject({
|
|
58
74
|
status: 401,
|
|
59
|
-
message: vitest_1.expect.stringContaining('signature verification failed')
|
|
75
|
+
message: vitest_1.expect.stringContaining('signature verification failed'),
|
|
76
|
+
cause: vitest_1.expect.objectContaining({ code: 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED' })
|
|
60
77
|
});
|
|
61
78
|
});
|
|
62
79
|
(0, vitest_1.it)('honors JwtVerifyOptions when audience and issuer match', async () => {
|
|
@@ -119,5 +136,50 @@ const buildJwtVerifier = (jwk) => {
|
|
|
119
136
|
await (0, vitest_1.expect)(verifier.verify(token, { algorithms: ['ES256'] })).rejects.toMatchObject({ status: 401 });
|
|
120
137
|
(0, vitest_1.expect)(getKeysInterceptor).not.toHaveBeenCalled();
|
|
121
138
|
});
|
|
139
|
+
(0, vitest_1.it)('preserves malformed remote JWKS protocol failures for callers to classify', async () => {
|
|
140
|
+
const sockets = new Set();
|
|
141
|
+
const server = (0, node_net_1.createServer)((socket) => {
|
|
142
|
+
sockets.add(socket);
|
|
143
|
+
socket.once('close', () => sockets.delete(socket));
|
|
144
|
+
socket.end('NOT HTTP\r\n\r\n');
|
|
145
|
+
});
|
|
146
|
+
await new Promise((resolve, reject) => {
|
|
147
|
+
server.once('error', reject);
|
|
148
|
+
server.listen(0, '127.0.0.1', () => {
|
|
149
|
+
server.off('error', reject);
|
|
150
|
+
resolve();
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
try {
|
|
154
|
+
const address = server.address();
|
|
155
|
+
if (!address || typeof address === 'string')
|
|
156
|
+
throw new Error('Expected a TCP address');
|
|
157
|
+
const verifier = new verifier_js_1.JwtVerifier({ jwksUri: `http://127.0.0.1:${address.port}/jwks` });
|
|
158
|
+
const key = await (0, jose_1.importPKCS8)(signingMaterial.privateKeyPem, 'RS256');
|
|
159
|
+
const token = await new jose_1.SignJWT({ sub: 'user-bad-jwks' })
|
|
160
|
+
.setProtectedHeader({ alg: 'RS256', kid: signingMaterial.jwk.kid })
|
|
161
|
+
.sign(key);
|
|
162
|
+
let failure;
|
|
163
|
+
try {
|
|
164
|
+
await verifier.verify(token, { algorithms: ['RS256'] });
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
failure = error;
|
|
168
|
+
}
|
|
169
|
+
(0, vitest_1.expect)(errorCodes(failure)).toContain('HPE_INVALID_CONSTANT');
|
|
170
|
+
}
|
|
171
|
+
finally {
|
|
172
|
+
for (const socket of sockets)
|
|
173
|
+
socket.destroy();
|
|
174
|
+
await new Promise((resolve, reject) => {
|
|
175
|
+
server.close((error) => {
|
|
176
|
+
if (error)
|
|
177
|
+
reject(error);
|
|
178
|
+
else
|
|
179
|
+
resolve();
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
});
|
|
122
184
|
});
|
|
123
185
|
//# sourceMappingURL=verifier.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.test.js","sourceRoot":"","sources":["../../src/jwt/verifier.test.ts"],"names":[],"mappings":";;AAAA,6CAAkD;
|
|
1
|
+
{"version":3,"file":"verifier.test.js","sourceRoot":"","sources":["../../src/jwt/verifier.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,14 @@ export declare enum SuperblocksError {
|
|
|
52
52
|
APIKeyInvalid = "APIKeyInvalid",
|
|
53
53
|
AuthenticatedUserNotFound = "AuthenticatedUserNotFound",
|
|
54
54
|
UserTokenInvalid = "UserTokenInvalid",
|
|
55
|
-
JWTExpired = "JWTExpired"
|
|
55
|
+
JWTExpired = "JWTExpired",
|
|
56
|
+
/**
|
|
57
|
+
* We could not tell whether the token is good, because looking up the
|
|
58
|
+
* signing key failed (the request timed out, or the connection was
|
|
59
|
+
* refused). The token itself may be perfectly valid, so this is not a
|
|
60
|
+
* reason for the client to give up the way an expiry or a bad signature is.
|
|
61
|
+
*/
|
|
62
|
+
JWTVerificationUnavailable = "JWTVerificationUnavailable"
|
|
56
63
|
}
|
|
57
64
|
/**
|
|
58
65
|
* Type guard to check if an object is a ResponseMeta
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/types/common/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,eAAe,CAAC,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;gBAE5C,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE;CAQlC;AAED,qBAAa,oCAAoC,CAAC,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC;IACP,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;KAAE,CAAC;gBAGlD,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACrD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;KAAE;CAOtD;AAED,qBAAa,YAAY;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;CAKhG;AAED,qBAAa,QAAQ;IACnB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;gBAExB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;KAAE;CAKzG;AAED;;;;GAIG;AACH,oBAAY,gBAAgB;IAC1B,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,yBAAyB,8BAA8B;IACvD,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/types/common/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,eAAe,CAAC,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;gBAE5C,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE;CAQlC;AAED,qBAAa,oCAAoC,CAAC,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC;IACP,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;KAAE,CAAC;gBAGlD,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACrD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;KAAE;CAOtD;AAED,qBAAa,YAAY;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;CAKhG;AAED,qBAAa,QAAQ;IACnB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;gBAExB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;KAAE;CAKzG;AAED;;;;GAIG;AACH,oBAAY,gBAAgB;IAC1B,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,yBAAyB,8BAA8B;IACvD,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB;;;;;OAKG;IACH,0BAA0B,+BAA+B;CAC1D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,GAAG,gBAAgB,IAAI,YAAY,CAa9F"}
|
|
@@ -66,6 +66,13 @@ var SuperblocksError;
|
|
|
66
66
|
SuperblocksError["AuthenticatedUserNotFound"] = "AuthenticatedUserNotFound";
|
|
67
67
|
SuperblocksError["UserTokenInvalid"] = "UserTokenInvalid";
|
|
68
68
|
SuperblocksError["JWTExpired"] = "JWTExpired";
|
|
69
|
+
/**
|
|
70
|
+
* We could not tell whether the token is good, because looking up the
|
|
71
|
+
* signing key failed (the request timed out, or the connection was
|
|
72
|
+
* refused). The token itself may be perfectly valid, so this is not a
|
|
73
|
+
* reason for the client to give up the way an expiry or a bad signature is.
|
|
74
|
+
*/
|
|
75
|
+
SuperblocksError["JWTVerificationUnavailable"] = "JWTVerificationUnavailable";
|
|
69
76
|
})(SuperblocksError || (exports.SuperblocksError = SuperblocksError = {}));
|
|
70
77
|
/**
|
|
71
78
|
* Type guard to check if an object is a ResponseMeta
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/types/common/response.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/types/common/response.ts"],"names":[],"mappings":";;;AAwFA,gDAaC;AAlGD,MAAa,eAAe;IAC1B,YAAY,CAAe;IAC3B,IAAI,CAAK;IACT,GAAG,CAAK;IACR,aAAa,CAA2C;IAExD,YAAY,EAAE,IAAI,EAAe;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;YACnC,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAdD,0CAcC;AAED,MAAa,oCAAoC;IAC/C,GAAG,CAAI;IACP,YAAY,CAA0C;IACtD,QAAQ,CAAyB;IACjC,MAAM,CAA8C;IAEpD,YACE,GAAM,EACN,YAAqD,EACrD,QAAgC,EAChC,MAAmD;QAEnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAjBD,oFAiBC;AAED,MAAa,YAAY;IACvB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,OAAO,CAAW;IAClB,KAAK,CAAY;IACjB,MAAM,CAAU;IAEhB,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAyD;QAC7F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAZD,oCAYC;AAED,MAAa,QAAQ;IACnB,IAAI,CAAkB;IACtB,OAAO,CAAS;IAChB,gBAAgB,CAAoB;IAEpC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAuE;QACtG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;CACF;AAVD,4BAUC;AAED;;;;GAIG;AACH,IAAY,gBAaX;AAbD,WAAY,gBAAgB;IAC1B,yDAAqC,CAAA;IACrC,mDAA+B,CAAA;IAC/B,2EAAuD,CAAA;IACvD,yDAAqC,CAAA;IACrC,6CAAyB,CAAA;IACzB;;;;;OAKG;IACH,6EAAyD,CAAA;AAC3D,CAAC,EAbW,gBAAgB,gCAAhB,gBAAgB,QAa3B;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,gBAAyB;IAC1D,IAAI,gBAAgB,YAAY,YAAY,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,OAAO,gBAAgB,KAAK,QAAQ;QACpC,gBAAgB,KAAK,IAAI;QACzB,QAAQ,IAAI,gBAAgB;QAC5B,OAAO,gBAAgB,CAAC,MAAM,KAAK,QAAQ;QAC3C,SAAS,IAAI,gBAAgB;QAC7B,OAAO,gBAAgB,CAAC,OAAO,KAAK,QAAQ,CAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -51,6 +51,14 @@ export type PolicyGateReadinessItem = {
|
|
|
51
51
|
staleReason?: string;
|
|
52
52
|
status: PolicyGateReadinessItemStatus;
|
|
53
53
|
};
|
|
54
|
+
export declare function isHardBlockingPolicyItem(item: Pick<PolicyGateReadinessItem, 'mode' | 'status'>): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Whether every item is an outcome an acknowledged "Publish anyway" hold is
|
|
57
|
+
* allowed to bypass. `missing`/`stale`/`running`/`failed`/`approval_required`
|
|
58
|
+
* mean some gate has not finished or hard-blocks unconditionally; an ack
|
|
59
|
+
* granted while any of those exist could waive a review that never happened.
|
|
60
|
+
*/
|
|
61
|
+
export declare function areReadinessItemsAckEligible(items: Pick<PolicyGateReadinessItem, 'status'>[]): boolean;
|
|
54
62
|
export type PolicyGateReadinessRun = {
|
|
55
63
|
completedAt?: string;
|
|
56
64
|
createdAt?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.POLICY_GATE_STALE_LIVE_EDIT_ERROR = exports.POLICY_GATE_BLOCKED_ERROR = exports.SECURITY_SCANS_ENABLED = void 0;
|
|
4
|
+
exports.isHardBlockingPolicyItem = isHardBlockingPolicyItem;
|
|
5
|
+
exports.areReadinessItemsAckEligible = areReadinessItemsAckEligible;
|
|
4
6
|
/**
|
|
5
7
|
* @deprecated Use the `superblocks.policy-gates.security-scans.enabled` LaunchDarkly flag instead.
|
|
6
8
|
* Kept as `false` to match the fail-closed LD default; create and enable the
|
|
7
9
|
* LD flag to turn built-in scans on.
|
|
8
10
|
*/
|
|
9
11
|
exports.SECURITY_SCANS_ENABLED = false;
|
|
12
|
+
function isHardBlockingPolicyItem(item) {
|
|
13
|
+
if (item.mode !== 'blocking' && item.mode !== 'approval') {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return item.status === 'blocked' || item.status === 'failed';
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Whether every item is an outcome an acknowledged "Publish anyway" hold is
|
|
20
|
+
* allowed to bypass. `missing`/`stale`/`running`/`failed`/`approval_required`
|
|
21
|
+
* mean some gate has not finished or hard-blocks unconditionally; an ack
|
|
22
|
+
* granted while any of those exist could waive a review that never happened.
|
|
23
|
+
*/
|
|
24
|
+
function areReadinessItemsAckEligible(items) {
|
|
25
|
+
return (items.length > 0 && items.every((item) => item.status === 'blocked' || item.status === 'passed' || item.status === 'advisory_findings'));
|
|
26
|
+
}
|
|
10
27
|
/**
|
|
11
28
|
* Stable error code used in BadRequestError messages when a deploy is rejected
|
|
12
29
|
* due to unresolved policy gate findings. Both server and client reference this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":";;;AAsEA,4DAKC;AAQD,oEAIC;AAvFD;;;;GAIG;AACU,QAAA,sBAAsB,GAAY,KAAK,CAAC;AAiErD,SAAgB,wBAAwB,CAAC,IAAsD;IAC7F,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,4BAA4B,CAAC,KAAgD;IAC3F,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC,CACxI,CAAC;AACJ,CAAC;AAuCD;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,qBAAqB,CAAC;AAE/D;;;;;;;GAOG;AACU,QAAA,iCAAiC,GAC5C,4HAA4H,CAAC"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { OAuthTokenResponse } from '../../index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Tells the browser to link the user's login connection to the Token Vault, so
|
|
4
|
+
* later logins and token mints can refresh the identity provider token instead
|
|
5
|
+
* of reusing the one captured at login. Sent only when the organization has
|
|
6
|
+
* refresh enabled and Auth0 holds no refresh token for this user yet.
|
|
7
|
+
*/
|
|
8
|
+
export type TokenVaultSeedRequest = {
|
|
9
|
+
/** Auth0 connection name to link. */
|
|
10
|
+
connection: string;
|
|
11
|
+
/** Email to preselect at the identity provider, so the linked account is the one that logged in. */
|
|
12
|
+
login_hint: string;
|
|
13
|
+
};
|
|
2
14
|
export type IssueSuperblocksTokenResponseBody = OAuthTokenResponse & {
|
|
3
15
|
access_token: string;
|
|
4
16
|
token_type: string;
|
|
17
|
+
token_vault_seed?: TokenVaultSeedRequest;
|
|
5
18
|
};
|
|
6
19
|
//# sourceMappingURL=IssueSuperblocksResponseBody.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IssueSuperblocksResponseBody.d.ts","sourceRoot":"","sources":["../../../src/types/response/IssueSuperblocksResponseBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,iCAAiC,GAAG,kBAAkB,GAAG;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"IssueSuperblocksResponseBody.d.ts","sourceRoot":"","sources":["../../../src/types/response/IssueSuperblocksResponseBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,oGAAoG;IACpG,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,kBAAkB,GAAG;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../src/jwt/verifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAuB,MAAM,MAAM,CAAC;AAK9E;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO,CAAC,YAAY,CAAC,CAAwC;gBACjD,OAAO,EAAE,kBAAkB;IAIjC,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../src/jwt/verifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAuB,MAAM,MAAM,CAAC;AAK9E;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO,CAAC,YAAY,CAAC,CAAwC;gBACjD,OAAO,EAAE,kBAAkB;IAIjC,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;YAsC3E,aAAa;CAkC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtD,kBAAkB,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtC,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
package/dist-esm/jwt/verifier.js
CHANGED
|
@@ -38,7 +38,12 @@ export class JwtVerifier {
|
|
|
38
38
|
return result.payload;
|
|
39
39
|
}
|
|
40
40
|
catch (err) {
|
|
41
|
-
|
|
41
|
+
// Keep the original error reachable. jose tags it with a `code` that is
|
|
42
|
+
// the only reliable way to tell an expired token from a key lookup that
|
|
43
|
+
// timed out, and callers need that to answer the client honestly.
|
|
44
|
+
const failure = new UnauthorizedError(`JWT verification failed: ${err.message}`);
|
|
45
|
+
failure.cause = err;
|
|
46
|
+
throw failure;
|
|
42
47
|
}
|
|
43
48
|
}
|
|
44
49
|
async resolveJwkSet() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/jwt/verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAE/F,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,MAAM,OAAO,WAAW;IACL,OAAO,CAAqB;IAC7C,gIAAgI;IACxH,YAAY,CAAyC;IAC7D,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAuB,KAAa,EAAE,OAA0B;QAC1E,IAAI,MAAgD,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,uCAAuC,CAAC,CAAC;QACvE,CAAC;QAED,oEAAoE;QACpE,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,iBAAiB,CAAC,6EAA6E,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,iBAAiB,CAAC,4DAA4D,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAI,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,iBAAiB,CAAC,4BAA6B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/jwt/verifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { generateKeyPairSync } from 'node:crypto';
|
|
2
|
+
import { createServer } from 'node:net';
|
|
2
3
|
import { SignJWT, importPKCS8 } from 'jose';
|
|
3
4
|
import { vi, describe, it, expect, beforeAll } from 'vitest';
|
|
4
5
|
import { JwtVerifier } from './verifier.js';
|
|
@@ -7,8 +8,13 @@ const createSigningMaterial = (kid = KEY_ID) => {
|
|
|
7
8
|
const { publicKey, privateKey } = generateKeyPairSync('rsa', {
|
|
8
9
|
modulusLength: 2048
|
|
9
10
|
});
|
|
11
|
+
const exportedJwk = publicKey.export({ format: 'jwk' });
|
|
12
|
+
if (!exportedJwk.kty) {
|
|
13
|
+
throw new Error('Generated public key is missing kty');
|
|
14
|
+
}
|
|
10
15
|
const jwk = {
|
|
11
|
-
...
|
|
16
|
+
...exportedJwk,
|
|
17
|
+
kty: exportedJwk.kty,
|
|
12
18
|
kid,
|
|
13
19
|
alg: 'RS256',
|
|
14
20
|
use: 'sig'
|
|
@@ -27,6 +33,16 @@ const buildJwtVerifier = (jwk) => {
|
|
|
27
33
|
};
|
|
28
34
|
return { verifier: new JwtVerifier(options), getKeysInterceptor };
|
|
29
35
|
};
|
|
36
|
+
const errorCodes = (error) => {
|
|
37
|
+
if (!error || typeof error !== 'object')
|
|
38
|
+
return [];
|
|
39
|
+
const codes = [];
|
|
40
|
+
if ('code' in error && typeof error.code === 'string')
|
|
41
|
+
codes.push(error.code);
|
|
42
|
+
if ('cause' in error)
|
|
43
|
+
codes.push(...errorCodes(error.cause));
|
|
44
|
+
return codes;
|
|
45
|
+
};
|
|
30
46
|
describe('JwtVerifier', () => {
|
|
31
47
|
let signingMaterial;
|
|
32
48
|
beforeAll(() => {
|
|
@@ -54,7 +70,8 @@ describe('JwtVerifier', () => {
|
|
|
54
70
|
.sign(invalidKey);
|
|
55
71
|
await expect(verifier.verify(invalidToken, { algorithms: ['RS256'] })).rejects.toMatchObject({
|
|
56
72
|
status: 401,
|
|
57
|
-
message: expect.stringContaining('signature verification failed')
|
|
73
|
+
message: expect.stringContaining('signature verification failed'),
|
|
74
|
+
cause: expect.objectContaining({ code: 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED' })
|
|
58
75
|
});
|
|
59
76
|
});
|
|
60
77
|
it('honors JwtVerifyOptions when audience and issuer match', async () => {
|
|
@@ -117,5 +134,50 @@ describe('JwtVerifier', () => {
|
|
|
117
134
|
await expect(verifier.verify(token, { algorithms: ['ES256'] })).rejects.toMatchObject({ status: 401 });
|
|
118
135
|
expect(getKeysInterceptor).not.toHaveBeenCalled();
|
|
119
136
|
});
|
|
137
|
+
it('preserves malformed remote JWKS protocol failures for callers to classify', async () => {
|
|
138
|
+
const sockets = new Set();
|
|
139
|
+
const server = createServer((socket) => {
|
|
140
|
+
sockets.add(socket);
|
|
141
|
+
socket.once('close', () => sockets.delete(socket));
|
|
142
|
+
socket.end('NOT HTTP\r\n\r\n');
|
|
143
|
+
});
|
|
144
|
+
await new Promise((resolve, reject) => {
|
|
145
|
+
server.once('error', reject);
|
|
146
|
+
server.listen(0, '127.0.0.1', () => {
|
|
147
|
+
server.off('error', reject);
|
|
148
|
+
resolve();
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
try {
|
|
152
|
+
const address = server.address();
|
|
153
|
+
if (!address || typeof address === 'string')
|
|
154
|
+
throw new Error('Expected a TCP address');
|
|
155
|
+
const verifier = new JwtVerifier({ jwksUri: `http://127.0.0.1:${address.port}/jwks` });
|
|
156
|
+
const key = await importPKCS8(signingMaterial.privateKeyPem, 'RS256');
|
|
157
|
+
const token = await new SignJWT({ sub: 'user-bad-jwks' })
|
|
158
|
+
.setProtectedHeader({ alg: 'RS256', kid: signingMaterial.jwk.kid })
|
|
159
|
+
.sign(key);
|
|
160
|
+
let failure;
|
|
161
|
+
try {
|
|
162
|
+
await verifier.verify(token, { algorithms: ['RS256'] });
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
failure = error;
|
|
166
|
+
}
|
|
167
|
+
expect(errorCodes(failure)).toContain('HPE_INVALID_CONSTANT');
|
|
168
|
+
}
|
|
169
|
+
finally {
|
|
170
|
+
for (const socket of sockets)
|
|
171
|
+
socket.destroy();
|
|
172
|
+
await new Promise((resolve, reject) => {
|
|
173
|
+
server.close((error) => {
|
|
174
|
+
if (error)
|
|
175
|
+
reject(error);
|
|
176
|
+
else
|
|
177
|
+
resolve();
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
});
|
|
120
182
|
});
|
|
121
183
|
//# sourceMappingURL=verifier.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.test.js","sourceRoot":"","sources":["../../src/jwt/verifier.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"verifier.test.js","sourceRoot":"","sources":["../../src/jwt/verifier.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,14 @@ export declare enum SuperblocksError {
|
|
|
52
52
|
APIKeyInvalid = "APIKeyInvalid",
|
|
53
53
|
AuthenticatedUserNotFound = "AuthenticatedUserNotFound",
|
|
54
54
|
UserTokenInvalid = "UserTokenInvalid",
|
|
55
|
-
JWTExpired = "JWTExpired"
|
|
55
|
+
JWTExpired = "JWTExpired",
|
|
56
|
+
/**
|
|
57
|
+
* We could not tell whether the token is good, because looking up the
|
|
58
|
+
* signing key failed (the request timed out, or the connection was
|
|
59
|
+
* refused). The token itself may be perfectly valid, so this is not a
|
|
60
|
+
* reason for the client to give up the way an expiry or a bad signature is.
|
|
61
|
+
*/
|
|
62
|
+
JWTVerificationUnavailable = "JWTVerificationUnavailable"
|
|
56
63
|
}
|
|
57
64
|
/**
|
|
58
65
|
* Type guard to check if an object is a ResponseMeta
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/types/common/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,eAAe,CAAC,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;gBAE5C,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE;CAQlC;AAED,qBAAa,oCAAoC,CAAC,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC;IACP,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;KAAE,CAAC;gBAGlD,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACrD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;KAAE;CAOtD;AAED,qBAAa,YAAY;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;CAKhG;AAED,qBAAa,QAAQ;IACnB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;gBAExB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;KAAE;CAKzG;AAED;;;;GAIG;AACH,oBAAY,gBAAgB;IAC1B,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,yBAAyB,8BAA8B;IACvD,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/types/common/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,eAAe,CAAC,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;gBAE5C,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE;CAQlC;AAED,qBAAa,oCAAoC,CAAC,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC;IACP,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;KAAE,CAAC;gBAGlD,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACrD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;KAAE;CAOtD;AAED,qBAAa,YAAY;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;CAKhG;AAED,qBAAa,QAAQ;IACnB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;gBAExB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;KAAE;CAKzG;AAED;;;;GAIG;AACH,oBAAY,gBAAgB;IAC1B,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,yBAAyB,8BAA8B;IACvD,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB;;;;;OAKG;IACH,0BAA0B,+BAA+B;CAC1D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,GAAG,gBAAgB,IAAI,YAAY,CAa9F"}
|
|
@@ -58,6 +58,13 @@ export var SuperblocksError;
|
|
|
58
58
|
SuperblocksError["AuthenticatedUserNotFound"] = "AuthenticatedUserNotFound";
|
|
59
59
|
SuperblocksError["UserTokenInvalid"] = "UserTokenInvalid";
|
|
60
60
|
SuperblocksError["JWTExpired"] = "JWTExpired";
|
|
61
|
+
/**
|
|
62
|
+
* We could not tell whether the token is good, because looking up the
|
|
63
|
+
* signing key failed (the request timed out, or the connection was
|
|
64
|
+
* refused). The token itself may be perfectly valid, so this is not a
|
|
65
|
+
* reason for the client to give up the way an expiry or a bad signature is.
|
|
66
|
+
*/
|
|
67
|
+
SuperblocksError["JWTVerificationUnavailable"] = "JWTVerificationUnavailable";
|
|
61
68
|
})(SuperblocksError || (SuperblocksError = {}));
|
|
62
69
|
/**
|
|
63
70
|
* Type guard to check if an object is a ResponseMeta
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/types/common/response.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,eAAe;IAC1B,YAAY,CAAe;IAC3B,IAAI,CAAK;IACT,GAAG,CAAK;IACR,aAAa,CAA2C;IAExD,YAAY,EAAE,IAAI,EAAe;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;YACnC,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,oCAAoC;IAC/C,GAAG,CAAI;IACP,YAAY,CAA0C;IACtD,QAAQ,CAAyB;IACjC,MAAM,CAA8C;IAEpD,YACE,GAAM,EACN,YAAqD,EACrD,QAAgC,EAChC,MAAmD;QAEnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACvB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,OAAO,CAAW;IAClB,KAAK,CAAY;IACjB,MAAM,CAAU;IAEhB,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAyD;QAC7F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,QAAQ;IACnB,IAAI,CAAkB;IACtB,OAAO,CAAS;IAChB,gBAAgB,CAAoB;IAEpC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAuE;QACtG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/types/common/response.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,eAAe;IAC1B,YAAY,CAAe;IAC3B,IAAI,CAAK;IACT,GAAG,CAAK;IACR,aAAa,CAA2C;IAExD,YAAY,EAAE,IAAI,EAAe;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;YACnC,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,oCAAoC;IAC/C,GAAG,CAAI;IACP,YAAY,CAA0C;IACtD,QAAQ,CAAyB;IACjC,MAAM,CAA8C;IAEpD,YACE,GAAM,EACN,YAAqD,EACrD,QAAgC,EAChC,MAAmD;QAEnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACvB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,OAAO,CAAW;IAClB,KAAK,CAAY;IACjB,MAAM,CAAU;IAEhB,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAyD;QAC7F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,QAAQ;IACnB,IAAI,CAAkB;IACtB,OAAO,CAAS;IAChB,gBAAgB,CAAoB;IAEpC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAuE;QACtG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAN,IAAY,gBAaX;AAbD,WAAY,gBAAgB;IAC1B,yDAAqC,CAAA;IACrC,mDAA+B,CAAA;IAC/B,2EAAuD,CAAA;IACvD,yDAAqC,CAAA;IACrC,6CAAyB,CAAA;IACzB;;;;;OAKG;IACH,6EAAyD,CAAA;AAC3D,CAAC,EAbW,gBAAgB,KAAhB,gBAAgB,QAa3B;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,gBAAyB;IAC1D,IAAI,gBAAgB,YAAY,YAAY,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,OAAO,gBAAgB,KAAK,QAAQ;QACpC,gBAAgB,KAAK,IAAI;QACzB,QAAQ,IAAI,gBAAgB;QAC5B,OAAO,gBAAgB,CAAC,MAAM,KAAK,QAAQ;QAC3C,SAAS,IAAI,gBAAgB;QAC7B,OAAO,gBAAgB,CAAC,OAAO,KAAK,QAAQ,CAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -51,6 +51,14 @@ export type PolicyGateReadinessItem = {
|
|
|
51
51
|
staleReason?: string;
|
|
52
52
|
status: PolicyGateReadinessItemStatus;
|
|
53
53
|
};
|
|
54
|
+
export declare function isHardBlockingPolicyItem(item: Pick<PolicyGateReadinessItem, 'mode' | 'status'>): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Whether every item is an outcome an acknowledged "Publish anyway" hold is
|
|
57
|
+
* allowed to bypass. `missing`/`stale`/`running`/`failed`/`approval_required`
|
|
58
|
+
* mean some gate has not finished or hard-blocks unconditionally; an ack
|
|
59
|
+
* granted while any of those exist could waive a review that never happened.
|
|
60
|
+
*/
|
|
61
|
+
export declare function areReadinessItemsAckEligible(items: Pick<PolicyGateReadinessItem, 'status'>[]): boolean;
|
|
54
62
|
export type PolicyGateReadinessRun = {
|
|
55
63
|
completedAt?: string;
|
|
56
64
|
createdAt?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,21 @@
|
|
|
4
4
|
* LD flag to turn built-in scans on.
|
|
5
5
|
*/
|
|
6
6
|
export const SECURITY_SCANS_ENABLED = false;
|
|
7
|
+
export function isHardBlockingPolicyItem(item) {
|
|
8
|
+
if (item.mode !== 'blocking' && item.mode !== 'approval') {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
return item.status === 'blocked' || item.status === 'failed';
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Whether every item is an outcome an acknowledged "Publish anyway" hold is
|
|
15
|
+
* allowed to bypass. `missing`/`stale`/`running`/`failed`/`approval_required`
|
|
16
|
+
* mean some gate has not finished or hard-blocks unconditionally; an ack
|
|
17
|
+
* granted while any of those exist could waive a review that never happened.
|
|
18
|
+
*/
|
|
19
|
+
export function areReadinessItemsAckEligible(items) {
|
|
20
|
+
return (items.length > 0 && items.every((item) => item.status === 'blocked' || item.status === 'passed' || item.status === 'advisory_findings'));
|
|
21
|
+
}
|
|
7
22
|
/**
|
|
8
23
|
* Stable error code used in BadRequestError messages when a deploy is rejected
|
|
9
24
|
* due to unresolved policy gate findings. Both server and client reference this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAY,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAY,KAAK,CAAC;AAiErD,MAAM,UAAU,wBAAwB,CAAC,IAAsD;IAC7F,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAgD;IAC3F,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC,CACxI,CAAC;AACJ,CAAC;AAuCD;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAC5C,4HAA4H,CAAC"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { OAuthTokenResponse } from '../../index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Tells the browser to link the user's login connection to the Token Vault, so
|
|
4
|
+
* later logins and token mints can refresh the identity provider token instead
|
|
5
|
+
* of reusing the one captured at login. Sent only when the organization has
|
|
6
|
+
* refresh enabled and Auth0 holds no refresh token for this user yet.
|
|
7
|
+
*/
|
|
8
|
+
export type TokenVaultSeedRequest = {
|
|
9
|
+
/** Auth0 connection name to link. */
|
|
10
|
+
connection: string;
|
|
11
|
+
/** Email to preselect at the identity provider, so the linked account is the one that logged in. */
|
|
12
|
+
login_hint: string;
|
|
13
|
+
};
|
|
2
14
|
export type IssueSuperblocksTokenResponseBody = OAuthTokenResponse & {
|
|
3
15
|
access_token: string;
|
|
4
16
|
token_type: string;
|
|
17
|
+
token_vault_seed?: TokenVaultSeedRequest;
|
|
5
18
|
};
|
|
6
19
|
//# sourceMappingURL=IssueSuperblocksResponseBody.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IssueSuperblocksResponseBody.d.ts","sourceRoot":"","sources":["../../../src/types/response/IssueSuperblocksResponseBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,iCAAiC,GAAG,kBAAkB,GAAG;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"IssueSuperblocksResponseBody.d.ts","sourceRoot":"","sources":["../../../src/types/response/IssueSuperblocksResponseBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,oGAAoG;IACpG,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,kBAAkB,GAAG;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C,CAAC"}
|
package/package.json
CHANGED
package/src/jwt/verifier.test.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { generateKeyPairSync } from 'node:crypto';
|
|
2
|
+
import { createServer, type Socket } from 'node:net';
|
|
2
3
|
|
|
3
4
|
import { SignJWT, importPKCS8 } from 'jose';
|
|
4
5
|
import { type JWTPayload } from 'jose';
|
|
@@ -17,12 +18,17 @@ const createSigningMaterial = (kid = KEY_ID): SigningMaterial => {
|
|
|
17
18
|
modulusLength: 2048
|
|
18
19
|
});
|
|
19
20
|
|
|
20
|
-
const
|
|
21
|
-
|
|
21
|
+
const exportedJwk = publicKey.export({ format: 'jwk' });
|
|
22
|
+
if (!exportedJwk.kty) {
|
|
23
|
+
throw new Error('Generated public key is missing kty');
|
|
24
|
+
}
|
|
25
|
+
const jwk: JwtKey = {
|
|
26
|
+
...exportedJwk,
|
|
27
|
+
kty: exportedJwk.kty,
|
|
22
28
|
kid,
|
|
23
29
|
alg: 'RS256',
|
|
24
30
|
use: 'sig'
|
|
25
|
-
}
|
|
31
|
+
};
|
|
26
32
|
|
|
27
33
|
return {
|
|
28
34
|
jwk,
|
|
@@ -42,6 +48,14 @@ const buildJwtVerifier = (jwk: SigningMaterial['jwk']) => {
|
|
|
42
48
|
return { verifier: new JwtVerifier(options), getKeysInterceptor };
|
|
43
49
|
};
|
|
44
50
|
|
|
51
|
+
const errorCodes = (error: unknown): string[] => {
|
|
52
|
+
if (!error || typeof error !== 'object') return [];
|
|
53
|
+
const codes: string[] = [];
|
|
54
|
+
if ('code' in error && typeof error.code === 'string') codes.push(error.code);
|
|
55
|
+
if ('cause' in error) codes.push(...errorCodes(error.cause));
|
|
56
|
+
return codes;
|
|
57
|
+
};
|
|
58
|
+
|
|
45
59
|
describe('JwtVerifier', () => {
|
|
46
60
|
let signingMaterial: SigningMaterial;
|
|
47
61
|
beforeAll(() => {
|
|
@@ -79,7 +93,8 @@ describe('JwtVerifier', () => {
|
|
|
79
93
|
|
|
80
94
|
await expect(verifier.verify(invalidToken, { algorithms: ['RS256'] })).rejects.toMatchObject({
|
|
81
95
|
status: 401,
|
|
82
|
-
message: expect.stringContaining('signature verification failed')
|
|
96
|
+
message: expect.stringContaining('signature verification failed'),
|
|
97
|
+
cause: expect.objectContaining({ code: 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED' })
|
|
83
98
|
});
|
|
84
99
|
});
|
|
85
100
|
|
|
@@ -163,4 +178,47 @@ describe('JwtVerifier', () => {
|
|
|
163
178
|
await expect(verifier.verify(token, { algorithms: ['ES256'] })).rejects.toMatchObject({ status: 401 });
|
|
164
179
|
expect(getKeysInterceptor).not.toHaveBeenCalled();
|
|
165
180
|
});
|
|
181
|
+
|
|
182
|
+
it('preserves malformed remote JWKS protocol failures for callers to classify', async () => {
|
|
183
|
+
const sockets = new Set<Socket>();
|
|
184
|
+
const server = createServer((socket) => {
|
|
185
|
+
sockets.add(socket);
|
|
186
|
+
socket.once('close', () => sockets.delete(socket));
|
|
187
|
+
socket.end('NOT HTTP\r\n\r\n');
|
|
188
|
+
});
|
|
189
|
+
await new Promise<void>((resolve, reject) => {
|
|
190
|
+
server.once('error', reject);
|
|
191
|
+
server.listen(0, '127.0.0.1', () => {
|
|
192
|
+
server.off('error', reject);
|
|
193
|
+
resolve();
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
try {
|
|
198
|
+
const address = server.address();
|
|
199
|
+
if (!address || typeof address === 'string') throw new Error('Expected a TCP address');
|
|
200
|
+
const verifier = new JwtVerifier({ jwksUri: `http://127.0.0.1:${address.port}/jwks` });
|
|
201
|
+
const key = await importPKCS8(signingMaterial.privateKeyPem, 'RS256');
|
|
202
|
+
const token = await new SignJWT({ sub: 'user-bad-jwks' })
|
|
203
|
+
.setProtectedHeader({ alg: 'RS256', kid: signingMaterial.jwk.kid })
|
|
204
|
+
.sign(key);
|
|
205
|
+
|
|
206
|
+
let failure: unknown;
|
|
207
|
+
try {
|
|
208
|
+
await verifier.verify(token, { algorithms: ['RS256'] });
|
|
209
|
+
} catch (error) {
|
|
210
|
+
failure = error;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
expect(errorCodes(failure)).toContain('HPE_INVALID_CONSTANT');
|
|
214
|
+
} finally {
|
|
215
|
+
for (const socket of sockets) socket.destroy();
|
|
216
|
+
await new Promise<void>((resolve, reject) => {
|
|
217
|
+
server.close((error) => {
|
|
218
|
+
if (error) reject(error);
|
|
219
|
+
else resolve();
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
});
|
|
166
224
|
});
|
package/src/jwt/verifier.ts
CHANGED
|
@@ -44,7 +44,12 @@ export class JwtVerifier {
|
|
|
44
44
|
const result = await jwtVerify<T>(token, jwkSet, options);
|
|
45
45
|
return result.payload;
|
|
46
46
|
} catch (err) {
|
|
47
|
-
|
|
47
|
+
// Keep the original error reachable. jose tags it with a `code` that is
|
|
48
|
+
// the only reliable way to tell an expired token from a key lookup that
|
|
49
|
+
// timed out, and callers need that to answer the client honestly.
|
|
50
|
+
const failure = new UnauthorizedError(`JWT verification failed: ${(err as Error).message}`);
|
|
51
|
+
failure.cause = err;
|
|
52
|
+
throw failure;
|
|
48
53
|
}
|
|
49
54
|
}
|
|
50
55
|
|
|
@@ -72,7 +72,14 @@ export enum SuperblocksError {
|
|
|
72
72
|
APIKeyInvalid = 'APIKeyInvalid',
|
|
73
73
|
AuthenticatedUserNotFound = 'AuthenticatedUserNotFound',
|
|
74
74
|
UserTokenInvalid = 'UserTokenInvalid',
|
|
75
|
-
JWTExpired = 'JWTExpired'
|
|
75
|
+
JWTExpired = 'JWTExpired',
|
|
76
|
+
/**
|
|
77
|
+
* We could not tell whether the token is good, because looking up the
|
|
78
|
+
* signing key failed (the request timed out, or the connection was
|
|
79
|
+
* refused). The token itself may be perfectly valid, so this is not a
|
|
80
|
+
* reason for the client to give up the way an expiry or a bad signature is.
|
|
81
|
+
*/
|
|
82
|
+
JWTVerificationUnavailable = 'JWTVerificationUnavailable'
|
|
76
83
|
}
|
|
77
84
|
|
|
78
85
|
/**
|
|
@@ -68,6 +68,25 @@ export type PolicyGateReadinessItem = {
|
|
|
68
68
|
status: PolicyGateReadinessItemStatus;
|
|
69
69
|
};
|
|
70
70
|
|
|
71
|
+
export function isHardBlockingPolicyItem(item: Pick<PolicyGateReadinessItem, 'mode' | 'status'>): boolean {
|
|
72
|
+
if (item.mode !== 'blocking' && item.mode !== 'approval') {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return item.status === 'blocked' || item.status === 'failed';
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Whether every item is an outcome an acknowledged "Publish anyway" hold is
|
|
80
|
+
* allowed to bypass. `missing`/`stale`/`running`/`failed`/`approval_required`
|
|
81
|
+
* mean some gate has not finished or hard-blocks unconditionally; an ack
|
|
82
|
+
* granted while any of those exist could waive a review that never happened.
|
|
83
|
+
*/
|
|
84
|
+
export function areReadinessItemsAckEligible(items: Pick<PolicyGateReadinessItem, 'status'>[]): boolean {
|
|
85
|
+
return (
|
|
86
|
+
items.length > 0 && items.every((item) => item.status === 'blocked' || item.status === 'passed' || item.status === 'advisory_findings')
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
|
|
71
90
|
export type PolicyGateReadinessRun = {
|
|
72
91
|
completedAt?: string;
|
|
73
92
|
createdAt?: string;
|
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import { OAuthTokenResponse } from '../../index.js';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Tells the browser to link the user's login connection to the Token Vault, so
|
|
5
|
+
* later logins and token mints can refresh the identity provider token instead
|
|
6
|
+
* of reusing the one captured at login. Sent only when the organization has
|
|
7
|
+
* refresh enabled and Auth0 holds no refresh token for this user yet.
|
|
8
|
+
*/
|
|
9
|
+
export type TokenVaultSeedRequest = {
|
|
10
|
+
/** Auth0 connection name to link. */
|
|
11
|
+
connection: string;
|
|
12
|
+
/** Email to preselect at the identity provider, so the linked account is the one that logged in. */
|
|
13
|
+
login_hint: string;
|
|
14
|
+
};
|
|
15
|
+
|
|
3
16
|
export type IssueSuperblocksTokenResponseBody = OAuthTokenResponse & {
|
|
4
17
|
access_token: string;
|
|
5
18
|
token_type: string;
|
|
19
|
+
token_vault_seed?: TokenVaultSeedRequest;
|
|
6
20
|
};
|