@tsed/jwks 8.11.0 → 8.11.2-rc.1
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/lib/esm/getJwks.js +0 -1
- package/lib/esm/index.js +0 -1
- package/package.json +7 -4
- package/lib/esm/getJwks.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/src/__mocks__/keys/enc.rsa.prv.pem +0 -51
- package/src/__mocks__/keys/enc.rsa.pub.pem +0 -14
- package/src/__mocks__/keys/sig.rsa.prv.pem +0 -51
- package/src/__mocks__/keys/sig.rsa.pub.pem +0 -14
- package/src/getJwks.spec.ts +0 -60
- package/src/getJwks.ts +0 -47
- package/src/index.ts +0 -3
- package/vitest.config.mts +0 -21
package/lib/esm/getJwks.js
CHANGED
package/lib/esm/index.js
CHANGED
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@tsed/jwks",
|
|
3
3
|
"description": "Utils to generate jwks pair keys",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "8.11.
|
|
5
|
+
"version": "8.11.2-rc.1",
|
|
6
6
|
"source": "./src/index.ts",
|
|
7
7
|
"main": "./lib/esm/index.js",
|
|
8
8
|
"module": "./lib/esm/index.js",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"tslib": "2.7.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@tsed/barrels": "8.11.
|
|
32
|
-
"@tsed/typescript": "8.11.
|
|
31
|
+
"@tsed/barrels": "8.11.2-rc.1",
|
|
32
|
+
"@tsed/typescript": "8.11.2-rc.1",
|
|
33
33
|
"eslint": "9.12.0",
|
|
34
34
|
"typescript": "5.4.5",
|
|
35
35
|
"vitest": "3.1.4"
|
|
@@ -41,5 +41,8 @@
|
|
|
41
41
|
},
|
|
42
42
|
"homepage": "https://github.com/tsedio/tsed/tree/production/packages/security/jwks",
|
|
43
43
|
"author": "Romain Lenzotti",
|
|
44
|
-
"license": "MIT"
|
|
44
|
+
"license": "MIT",
|
|
45
|
+
"publishConfig": {
|
|
46
|
+
"tag": "rc"
|
|
47
|
+
}
|
|
45
48
|
}
|
package/lib/esm/getJwks.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getJwks.js","sourceRoot":"","sources":["../../src/getJwks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,aAAa;AACb,OAAO,EAAC,GAAG,EAAE,IAAI,EAAgB,MAAM,OAAO,CAAC;AAW/C,MAAM,UAAU,YAAY,CAAC,UAAgC,EAAE;IAC7D,MAAM,EAAC,YAAY,EAAC,GAAG,OAAO,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAErC,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,EAAE,GAAG,OAAO,EAAC,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAElD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC,CAAC;QACjD,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAC,CAAC,CAAC;QACjE,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAoB;IAC1C,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;AACxE,CAAC"}
|
package/lib/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,aAAa;AACb,cAAc,OAAO,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
-
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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
ILE9Y9nDzZdwdL7LGpXnyzRyGGdJvc2yPp/BWybRMCmlLRQRTEtDOoz7y7qcEyLQ
|
|
17
|
-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
-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
-
HllGef0sxDJWMRs4oQqAFi6dg8Id4aVChPhht23JxJ8ewRf4wKd70K4PRP4nbfa/
|
|
20
|
-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
-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
-
yG1d5y2ZVUgEVy2aqECMKRob3mqHPSUgowXI1sVTy/PSlLvwlpyWBlN2pgiKhCY3
|
|
23
|
-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
-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
-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
-
EIDp17ZgvXDnuH0Jd/Y5MwvOl5wyUzslcxrO2m8ElysgkpPg4iBOqbzpNjzLL6r6
|
|
27
|
-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
-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
-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
-
J1uYQODOdVggy57YujVSBAoh1op5gaP905Bc+ZGrjO9CzbvS2bA8qfughsQOnlBF
|
|
31
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
jea5HaHuP59SBcFxwPUhlNAoK+zqKT1zif8o31lBo9e6SebADKbEprOntuOMZmhX
|
|
42
|
-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
-
3qzdxFtgBVteagFxG7+tNiEk+KWF8pFteMPtxKCc9V1uiL8kGL0GOGBq6UeI5JLZ
|
|
44
|
-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
-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
-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
-
xYRFzheNflrRJW6Jcak80B8/xNB94eEaeinIkpg/71WDh+jI4IDSolAaju5DL/M4
|
|
48
|
-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
-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
-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
|
|
51
|
-
-----END RSA PRIVATE KEY-----
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
-----BEGIN PUBLIC KEY-----
|
|
2
|
-
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAooP/p2isfqsJH+OAPT3l
|
|
3
|
-
vCJOFCxgscE0SC8zj0sWs/r/N5zm7UTaU0PgH6NLURkNSiAqDfzKFfeV9QxkzYRl
|
|
4
|
-
HJ+JFt32MC+ypk+93gOYJOMOVk4JGHi5U77D/5tD3mjWe6bQM6k8wKgp44+sboq/
|
|
5
|
-
FDauA9dM+Mw0LSeueGBo9TigQ7U0vTKfGYRWZv70X6lEePdeej5aoc3IhU5bX81f
|
|
6
|
-
jvKKutwyoza4ovXPJuOwYJOhAsMmkZjWbi8qjXCFuz1arVxsb2qNOjmQlk+Yoleg
|
|
7
|
-
j16Wfcs+W83TTU7+Heijl3YVHi+XLPstemGiPGJhAikQWCv9udYFqlZjhyX22iSt
|
|
8
|
-
qPYBDkqi0lVy0bUVs0pmD90BB46kXmvHpxiwh+oDPtGZzt0lzcjmVP1HXF2X+c9i
|
|
9
|
-
2xLsKvibbizqqQ5G7okPs5MO+Jvww0/6++T4ATM5MzxIIN1cWH/uq7SKoP/Fsphe
|
|
10
|
-
6GeeJrtD/Ww2T30ZQVzoSYMZE/PvH6wVegb0IrWhXH5tklFDYkJXyAmLPAReMXuZ
|
|
11
|
-
MTg7EXaMU2ACGShXp7bN6gxrkcVaA4TnOQgEALCI1rusORUyf8wOYIW5iLdXcnaY
|
|
12
|
-
5GZgH2OymyCZ6AzxsAc4TpwDrGNHuA5oitucfqLicUAAoGItn9rJOTQ6M2HkyqS+
|
|
13
|
-
TeKwmmz2mb1oslGfSCJ9y4UCAwEAAQ==
|
|
14
|
-
-----END PUBLIC KEY-----
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
-
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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
j9tvuN0obVilZtie9QGlRGj6wFA2EgrVKC/iy9H1rfduxvvY0kWYyiGhPAKr9gNq
|
|
26
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
ch5OOxX1jKomAjG0OTw8FQ/5Ega5Zh11ZRa6heC09i/1rrGqTEK9PbcN1nzXxz6q
|
|
36
|
-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
-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
-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
-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
-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
-
+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
-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
-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
-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
-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
-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
-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
-
6mAvTKpXjW09Y/FBi75/oFzvlmbe9YokZpD20FKoBF/ORDB8xcWr2BaRlIKfSQHW
|
|
49
|
-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
-
utHjQHvVYDpXq647VwRjSHrOI31Pd0YMSqu7SJMrRBL82hqdHH5K6y3nMN76Yg==
|
|
51
|
-
-----END RSA PRIVATE KEY-----
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
-----BEGIN PUBLIC KEY-----
|
|
2
|
-
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArQ+VYeRDY+Y6gPMCSLWL
|
|
3
|
-
zWB2CSvAIxmE1VN/IRJlvjheATFgWQT4qcsFSK7EQ1frz+DhjmCUQcFQ53ubDKz+
|
|
4
|
-
f4zHVEeH9+8H2bw2DZ0uUss3LDnA3ryZ9J1Qhxp7bcsyKQOmCDnqMhLd8Sp0B8v1
|
|
5
|
-
vKmCvXAd4NOz1BhDkCWI7LhZjEzGRqy3mPHp2JKhyM4DPa5FLlpQnWOAmy+W39gm
|
|
6
|
-
Nwfpnz6zpIBrkKglWEpHCdT59fxsyslz3anxklGKMBGwUa3ZHiwN/VTkPU39K/p2
|
|
7
|
-
Xop5mtvO9rh87vImWbAE8w8nSPO7wmCTiBJY+bgG4KeXbB1NLAyEfaty2RXMh8va
|
|
8
|
-
CAlpT+FKxO6u1DGcrsvAmkOmHsGIIYtd3syxVhYkrFKZU1vhDJq1jER9JlKGnzCY
|
|
9
|
-
SrXINJ4iNEk5gIw8YJtAmJsj2gVYdLCJx4HUXv77WC+xDQ7MAYqIYF5fL2R+k+dp
|
|
10
|
-
aJs+Fyn76vf8yr2SDC4j442P+Evt78NYl5/sIOKS47GKNx7V+JIcA2TJVZyKTmeQ
|
|
11
|
-
QCpMhFuLJIJBxBF6S998oEgM4cPtZSOfugByu0rjf3CfQXl32Qc6dVXtOeIzZlzM
|
|
12
|
-
3dxOnvzVsiM9kiYp9d7uKFGkQXgyw7umI+VrWQIDwi7ppJIX6fuemJD9KxtA34Wa
|
|
13
|
-
e3qtm9ISXV7NeZIXt5d1+DcCAwEAAQ==
|
|
14
|
-
-----END PUBLIC KEY-----
|
package/src/getJwks.spec.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import {join} from "node:path";
|
|
2
|
-
|
|
3
|
-
import fs from "fs-extra";
|
|
4
|
-
|
|
5
|
-
import {generateJwks, getJwks} from "./getJwks.js";
|
|
6
|
-
|
|
7
|
-
const rootDir = join(import.meta.dirname, "__mocks__");
|
|
8
|
-
|
|
9
|
-
describe("GetJwks", () => {
|
|
10
|
-
beforeEach(() => {
|
|
11
|
-
fs.removeSync(join(rootDir, "generated", "keys.json"));
|
|
12
|
-
});
|
|
13
|
-
describe("generateJwks()", () => {
|
|
14
|
-
it("should generate Jwks keys without certificates", async () => {
|
|
15
|
-
const output = await generateJwks();
|
|
16
|
-
|
|
17
|
-
expect(output.keys.length).toEqual(3);
|
|
18
|
-
});
|
|
19
|
-
it("should generateJwks keys from certificates", async () => {
|
|
20
|
-
const output = await generateJwks({
|
|
21
|
-
certificates: [
|
|
22
|
-
{path: join(rootDir, "keys", "sig.rsa.pub.pem"), alg: "RS256", use: "sig", kid: "key-0"},
|
|
23
|
-
{path: join(rootDir, "keys", "sig.rsa.prv.pem"), alg: "RS256", use: "sig"},
|
|
24
|
-
{path: join(rootDir, "keys", "enc.rsa.pub.pem"), alg: "RS256", use: "enc", kid: "key-1"},
|
|
25
|
-
{path: join(rootDir, "keys", "enc.rsa.prv.pem"), alg: "RS256", use: "enc"}
|
|
26
|
-
] as never[]
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
expect(output).toEqual({
|
|
30
|
-
keys: [
|
|
31
|
-
{
|
|
32
|
-
alg: "RS256",
|
|
33
|
-
e: "AQAB",
|
|
34
|
-
kid: "key-0",
|
|
35
|
-
kty: "RSA",
|
|
36
|
-
n: "rQ-VYeRDY-Y6gPMCSLWLzWB2CSvAIxmE1VN_IRJlvjheATFgWQT4qcsFSK7EQ1frz-DhjmCUQcFQ53ubDKz-f4zHVEeH9-8H2bw2DZ0uUss3LDnA3ryZ9J1Qhxp7bcsyKQOmCDnqMhLd8Sp0B8v1vKmCvXAd4NOz1BhDkCWI7LhZjEzGRqy3mPHp2JKhyM4DPa5FLlpQnWOAmy-W39gmNwfpnz6zpIBrkKglWEpHCdT59fxsyslz3anxklGKMBGwUa3ZHiwN_VTkPU39K_p2Xop5mtvO9rh87vImWbAE8w8nSPO7wmCTiBJY-bgG4KeXbB1NLAyEfaty2RXMh8vaCAlpT-FKxO6u1DGcrsvAmkOmHsGIIYtd3syxVhYkrFKZU1vhDJq1jER9JlKGnzCYSrXINJ4iNEk5gIw8YJtAmJsj2gVYdLCJx4HUXv77WC-xDQ7MAYqIYF5fL2R-k-dpaJs-Fyn76vf8yr2SDC4j442P-Evt78NYl5_sIOKS47GKNx7V-JIcA2TJVZyKTmeQQCpMhFuLJIJBxBF6S998oEgM4cPtZSOfugByu0rjf3CfQXl32Qc6dVXtOeIzZlzM3dxOnvzVsiM9kiYp9d7uKFGkQXgyw7umI-VrWQIDwi7ppJIX6fuemJD9KxtA34Wae3qtm9ISXV7NeZIXt5d1-Dc",
|
|
37
|
-
use: "sig"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
alg: "RS256",
|
|
41
|
-
e: "AQAB",
|
|
42
|
-
kid: "key-1",
|
|
43
|
-
kty: "RSA",
|
|
44
|
-
n: "ooP_p2isfqsJH-OAPT3lvCJOFCxgscE0SC8zj0sWs_r_N5zm7UTaU0PgH6NLURkNSiAqDfzKFfeV9QxkzYRlHJ-JFt32MC-ypk-93gOYJOMOVk4JGHi5U77D_5tD3mjWe6bQM6k8wKgp44-sboq_FDauA9dM-Mw0LSeueGBo9TigQ7U0vTKfGYRWZv70X6lEePdeej5aoc3IhU5bX81fjvKKutwyoza4ovXPJuOwYJOhAsMmkZjWbi8qjXCFuz1arVxsb2qNOjmQlk-Yolegj16Wfcs-W83TTU7-Heijl3YVHi-XLPstemGiPGJhAikQWCv9udYFqlZjhyX22iStqPYBDkqi0lVy0bUVs0pmD90BB46kXmvHpxiwh-oDPtGZzt0lzcjmVP1HXF2X-c9i2xLsKvibbizqqQ5G7okPs5MO-Jvww0_6--T4ATM5MzxIIN1cWH_uq7SKoP_Fsphe6GeeJrtD_Ww2T30ZQVzoSYMZE_PvH6wVegb0IrWhXH5tklFDYkJXyAmLPAReMXuZMTg7EXaMU2ACGShXp7bN6gxrkcVaA4TnOQgEALCI1rusORUyf8wOYIW5iLdXcnaY5GZgH2OymyCZ6AzxsAc4TpwDrGNHuA5oitucfqLicUAAoGItn9rJOTQ6M2HkyqS-TeKwmmz2mb1oslGfSCJ9y4U",
|
|
45
|
-
use: "enc"
|
|
46
|
-
}
|
|
47
|
-
]
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
describe("getJwks()", () => {
|
|
52
|
-
it("should generate Jwks keys without certificates", () => {
|
|
53
|
-
const output = getJwks({
|
|
54
|
-
path: join(rootDir, "generated", "keys.json")
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
expect(output.keys.length).toEqual(3);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
});
|
package/src/getJwks.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import {dirname} from "node:path";
|
|
2
|
-
|
|
3
|
-
import fs from "fs-extra";
|
|
4
|
-
// @ts-ignore
|
|
5
|
-
import {JWK, JWKS, KeyParameters} from "jose2";
|
|
6
|
-
|
|
7
|
-
export interface JwksKeyParameters extends KeyParameters {
|
|
8
|
-
path: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface JwksOptions {
|
|
12
|
-
path: string;
|
|
13
|
-
certificates?: JwksKeyParameters[];
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function generateJwks(options: Partial<JwksOptions> = {}) {
|
|
17
|
-
const {certificates} = options;
|
|
18
|
-
const keystore = new JWKS.KeyStore();
|
|
19
|
-
|
|
20
|
-
if (certificates) {
|
|
21
|
-
certificates.forEach(({path, ...options}) => {
|
|
22
|
-
const content = fs.readFileSync(path, {encoding: "utf-8"});
|
|
23
|
-
const isPrivate = content.includes("PRIVATE KEY");
|
|
24
|
-
|
|
25
|
-
if (!isPrivate) {
|
|
26
|
-
keystore.add(JWK.asKey(content, options));
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
} else {
|
|
30
|
-
keystore.generateSync("RSA", 2048, {use: "sig"});
|
|
31
|
-
keystore.generateSync("EC", "P-256", {use: "sig", alg: "ES256"});
|
|
32
|
-
keystore.generateSync("OKP", "Ed25519", {use: "sig", alg: "EdDSA"});
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return keystore.toJWKS(true);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export function getJwks(options: JwksOptions) {
|
|
39
|
-
fs.ensureDirSync(dirname(options.path));
|
|
40
|
-
|
|
41
|
-
if (!fs.existsSync(options.path)) {
|
|
42
|
-
const keys = generateJwks(options);
|
|
43
|
-
fs.writeFileSync(options.path, JSON.stringify(keys, null, 2));
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return JSON.parse(fs.readFileSync(options.path, {encoding: "utf-8"}));
|
|
47
|
-
}
|
package/src/index.ts
DELETED
package/vitest.config.mts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
// @ts-ignore
|
|
2
|
-
import {presets} from "@tsed/vitest/presets";
|
|
3
|
-
import {defineConfig} from "vitest/config";
|
|
4
|
-
|
|
5
|
-
export default defineConfig(
|
|
6
|
-
{
|
|
7
|
-
...presets,
|
|
8
|
-
test: {
|
|
9
|
-
...presets.test,
|
|
10
|
-
coverage: {
|
|
11
|
-
...presets.test.coverage,
|
|
12
|
-
thresholds: {
|
|
13
|
-
statements: 0,
|
|
14
|
-
branches: 0,
|
|
15
|
-
functions: 0,
|
|
16
|
-
lines: 0
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
);
|