From a90687d41078c4aeb2c8d2b2e63d53db9cc78be8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Dec 2021 11:55:05 +0100 Subject: [PATCH] fix(deps): update dependency jose to v4 * fix(deps): update dependency jose to v4 * fix(deps): Update code using jose v4 Co-authored-by: Renovate Bot Co-authored-by: Joachim Van Herwegen --- package-lock.json | 53 ++++++++++++------- package.json | 4 +- .../configuration/IdentityProviderFactory.ts | 9 ++-- 3 files changed, 41 insertions(+), 25 deletions(-) diff --git a/package-lock.json b/package-lock.json index 702945d32..e57c74aca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@comunica/actor-init-sparql": "^1.21.3", "@rdfjs/data-model": "^1.2.0", - "@solid/access-token-verifier": "^1.0.1", + "@solid/access-token-verifier": "^1.1.2", "@types/arrayify-stream": "^1.0.0", "@types/async-lock": "^1.1.2", "@types/bcrypt": "^5.0.0", @@ -43,7 +43,7 @@ "escape-string-regexp": "^4.0.0", "fetch-sparql-endpoint": "^2.0.1", "handlebars": "^4.7.7", - "jose": "^3.11.6", + "jose": "^4.3.7", "lodash.orderby": "^4.6.0", "marked": "^3.0.0", "mime-types": "^2.1.32", @@ -3907,6 +3907,15 @@ "uuid": "^8.3.2" } }, + "node_modules/@inrupt/solid-client-authn-node/node_modules/jose": { + "version": "3.20.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-3.20.3.tgz", + "integrity": "sha512-Z4a5Nl4pmGivdSgaq+a5EbNjrvSO4vtBTmVy5C3HNxWfJ92aG8DTNZrQywowxyOlSqdX/BmCPAy/ieElXDM3pw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/@inrupt/solid-common-vocab": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/@inrupt/solid-common-vocab/-/solid-common-vocab-0.5.3.tgz", @@ -4389,14 +4398,14 @@ } }, "node_modules/@solid/access-token-verifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@solid/access-token-verifier/-/access-token-verifier-1.0.1.tgz", - "integrity": "sha512-6H2EPT/gnix+iDQipRa9gPZRt1JEyDSGlJN8aphoes5J8dh3YpYm4mgEVq+zbePrel4H6q+xuRuQG4dY7ecIdg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@solid/access-token-verifier/-/access-token-verifier-1.1.2.tgz", + "integrity": "sha512-8zhgNyP/repu0WObJzcShBUBd7kUgyK7PzxRlADVhdSLu73KbpiEgeC4EZTGor9cS5oCHdaDCLJCckiPoNJErg==", "dependencies": { "cross-fetch": "^3.1.4", - "jose": "^3.17.0", + "jose": "^4.3.7", "lru-cache": "^6.0.0", - "n3": "^1.11.1", + "n3": "^1.12.1", "rdf-dereference": "^1.9.0", "ts-guards": "^0.5.1" } @@ -10820,9 +10829,9 @@ "dev": true }, "node_modules/jose": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/jose/-/jose-3.17.0.tgz", - "integrity": "sha512-rLpCb/TOsk4/yjjIALNecWbBivA17a5nQk/d2BJAiBbjP0db57rgrh3W3s6BzGcc9jxOo6txFBWGbDHwYAFgdQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.3.7.tgz", + "integrity": "sha512-S7Xfsy8nN9Iw/AZxk+ZxEbd5ImIwJPM0TfAo8zI8FF+3lidQ2yiK4dqzsaPKSbZD0woNVSY0KCql6rlKc5V7ug==", "funding": { "url": "https://github.com/sponsors/panva" } @@ -18707,6 +18716,14 @@ "jose": "^3.11.6", "openid-client": "^4.2.2", "uuid": "^8.3.2" + }, + "dependencies": { + "jose": { + "version": "3.20.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-3.20.3.tgz", + "integrity": "sha512-Z4a5Nl4pmGivdSgaq+a5EbNjrvSO4vtBTmVy5C3HNxWfJ92aG8DTNZrQywowxyOlSqdX/BmCPAy/ieElXDM3pw==", + "dev": true + } } }, "@inrupt/solid-common-vocab": { @@ -19105,14 +19122,14 @@ } }, "@solid/access-token-verifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@solid/access-token-verifier/-/access-token-verifier-1.0.1.tgz", - "integrity": "sha512-6H2EPT/gnix+iDQipRa9gPZRt1JEyDSGlJN8aphoes5J8dh3YpYm4mgEVq+zbePrel4H6q+xuRuQG4dY7ecIdg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@solid/access-token-verifier/-/access-token-verifier-1.1.2.tgz", + "integrity": "sha512-8zhgNyP/repu0WObJzcShBUBd7kUgyK7PzxRlADVhdSLu73KbpiEgeC4EZTGor9cS5oCHdaDCLJCckiPoNJErg==", "requires": { "cross-fetch": "^3.1.4", - "jose": "^3.17.0", + "jose": "^4.3.7", "lru-cache": "^6.0.0", - "n3": "^1.11.1", + "n3": "^1.12.1", "rdf-dereference": "^1.9.0", "ts-guards": "^0.5.1" } @@ -24086,9 +24103,9 @@ "dev": true }, "jose": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/jose/-/jose-3.17.0.tgz", - "integrity": "sha512-rLpCb/TOsk4/yjjIALNecWbBivA17a5nQk/d2BJAiBbjP0db57rgrh3W3s6BzGcc9jxOo6txFBWGbDHwYAFgdQ==" + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.3.7.tgz", + "integrity": "sha512-S7Xfsy8nN9Iw/AZxk+ZxEbd5ImIwJPM0TfAo8zI8FF+3lidQ2yiK4dqzsaPKSbZD0woNVSY0KCql6rlKc5V7ug==" }, "js-tokens": { "version": "4.0.0", diff --git a/package.json b/package.json index ccc661051..88dd95bda 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "dependencies": { "@comunica/actor-init-sparql": "^1.21.3", "@rdfjs/data-model": "^1.2.0", - "@solid/access-token-verifier": "^1.0.1", + "@solid/access-token-verifier": "^1.1.2", "@types/arrayify-stream": "^1.0.0", "@types/async-lock": "^1.1.2", "@types/bcrypt": "^5.0.0", @@ -109,7 +109,7 @@ "escape-string-regexp": "^4.0.0", "fetch-sparql-endpoint": "^2.0.1", "handlebars": "^4.7.7", - "jose": "^3.11.6", + "jose": "^4.3.7", "lodash.orderby": "^4.6.0", "marked": "^3.0.0", "mime-types": "^2.1.32", diff --git a/src/identity/configuration/IdentityProviderFactory.ts b/src/identity/configuration/IdentityProviderFactory.ts index 5ef2ff3e1..50cc42437 100644 --- a/src/identity/configuration/IdentityProviderFactory.ts +++ b/src/identity/configuration/IdentityProviderFactory.ts @@ -1,10 +1,9 @@ -/* eslint-disable @typescript-eslint/naming-convention, import/no-unresolved, tsdoc/syntax */ +/* eslint-disable @typescript-eslint/naming-convention, tsdoc/syntax */ // import/no-unresolved can't handle jose imports // tsdoc/syntax can't handle {json} parameter import { randomBytes } from 'crypto'; -import type { JWK } from 'jose/jwk/from_key_like'; -import { fromKeyLike } from 'jose/jwk/from_key_like'; -import { generateKeyPair } from 'jose/util/generate_key_pair'; +import type { JWK } from 'jose'; +import { exportJWK, generateKeyPair } from 'jose'; import type { AnyObject, CanBePromise, KoaContextWithOIDC, @@ -148,7 +147,7 @@ export class IdentityProviderFactory implements ProviderFactory { } // If they are not, generate and save them const { privateKey } = await generateKeyPair('RS256'); - const jwk = await fromKeyLike(privateKey); + const jwk = await exportJWK(privateKey); // Required for Solid authn client jwk.alg = 'RS256'; // In node v15.12.0 the JWKS does not get accepted because the JWK is not a plain object,