From 0ca48fc8c52c1639be6535707af178ec56d69877 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Fri, 2 Jan 2026 23:38:28 +0100 Subject: [PATCH 01/17] replace node-fetch with fetch native --- eslint.config.mjs | 4 +- lib/acl-checker.mjs | 3 +- lib/ldp.mjs | 1 - lib/webid/lib/get.mjs | 1 - package-lock.json | 297 +++++- package.json | 3 +- test/index.mjs | 1 - test/integration/account-manager-test.mjs | 4 +- test/integration/acl-oidc-test.mjs | 1 - test/integration/authentication-oidc-test.mjs | 19 +- ...dc-with-strict-origins-turned-off-test.mjs | 23 +- test/integration/params-test.mjs | 10 +- .../alice/db/oidc/op/provider.json | 851 +++++++++++------- .../bob/db/oidc/op/provider.json | 851 +++++++++++------- test/unit/utils-test.mjs | 4 +- test/utils.mjs | 7 +- test/utils/index.mjs | 1 - 17 files changed, 1370 insertions(+), 711 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index cc2ca5e34..be92f658f 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -21,7 +21,7 @@ export default [ }, rules: { // StandardJS-like rules - 'no-unused-vars': ['error', { + 'no-unused-vars': ['warn', { args: 'none', caughtErrors: 'none', ignoreRestSiblings: true, @@ -99,4 +99,4 @@ export default [ 'resources/**' ] } -] +] diff --git a/lib/acl-checker.mjs b/lib/acl-checker.mjs index 147298daf..2aee192e9 100644 --- a/lib/acl-checker.mjs +++ b/lib/acl-checker.mjs @@ -9,7 +9,6 @@ import aclCheck from '@solid/acl-check' import Url, { URL } from 'url' import { promisify } from 'util' import fs from 'fs' -import httpFetch from 'node-fetch' export const DEFAULT_ACL_SUFFIX = '.acl' const ACL = rdf.Namespace('http://www.w3.org/ns/auth/acl#') @@ -308,7 +307,7 @@ function fetchLocalOrRemote (mapper, serverUri) { body = await promisify(fs.readFile)(path, { encoding: 'utf8' }) } else { // Fetch the acl from the internet - const response = await httpFetch(url) + const response = await fetch(url) body = await response.text() contentType = response.headers.get('content-type') } diff --git a/lib/ldp.mjs b/lib/ldp.mjs index ef913ba45..83dc25904 100644 --- a/lib/ldp.mjs +++ b/lib/ldp.mjs @@ -12,7 +12,6 @@ import extend from 'extend' import rimraf from 'rimraf' import { exec } from 'child_process' import * as ldpContainer from './ldp-container.mjs' -import fetch from 'node-fetch' import { promisify } from 'util' import withLock from './lock.mjs' import { clearAclCache } from './acl-checker.mjs' diff --git a/lib/webid/lib/get.mjs b/lib/webid/lib/get.mjs index 39fab066f..1865a0ce9 100644 --- a/lib/webid/lib/get.mjs +++ b/lib/webid/lib/get.mjs @@ -1,4 +1,3 @@ -import fetch from 'node-fetch' import { URL } from 'url' export default function get (webid, callback) { diff --git a/package-lock.json b/package-lock.json index 128e9bafe..55ce8e1f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@solid/oidc-auth-manager": "^0.25.1", "@solid/oidc-op": "^0.12.1", "@solid/oidc-rp": "^0.12.0", - "@solid/solid-multi-rp-client": "^0.7.0", + "@solid/solid-multi-rp-client": "^0.7.2", "async-lock": "^1.4.1", "body-parser": "^1.20.4", "bootstrap": "^3.4.1", @@ -49,7 +49,6 @@ "mashlib": "^1.11.1", "mime-types": "^2.1.35", "negotiator": "^0.6.4", - "node-fetch": "^2.7.0", "node-forge": "^1.3.3", "node-mailer": "^0.1.1", "nodemailer": "^7.0.12", @@ -4853,6 +4852,48 @@ "node": ">=14.14" } }, + "node_modules/@solid/oidc-auth-manager/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@solid/oidc-auth-manager/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/@solid/oidc-auth-manager/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/@solid/oidc-auth-manager/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/@solid/oidc-op": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@solid/oidc-op/-/oidc-op-0.12.1.tgz", @@ -4924,6 +4965,48 @@ "node": ">=10" } }, + "node_modules/@solid/oidc-rp/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@solid/oidc-rp/node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/@solid/oidc-rp/node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/@solid/oidc-rp/node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/@solid/oidc-rp/node_modules/tr46": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", @@ -4971,6 +5054,48 @@ "node-fetch": "^2.7.0" } }, + "node_modules/@solid/oidc-rs/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@solid/oidc-rs/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/@solid/oidc-rs/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/@solid/oidc-rs/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/@solid/solid-auth-oidc": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/@solid/solid-auth-oidc/-/solid-auth-oidc-0.6.1.tgz", @@ -7222,6 +7347,48 @@ "node-fetch": "^2.7.0" } }, + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/cross-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/cross-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/cross-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -10034,6 +10201,48 @@ "whatwg-fetch": "^3.4.1" } }, + "node_modules/isomorphic-fetch/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/isomorphic-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/isomorphic-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/isomorphic-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/isomorphic-webcrypto": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/isomorphic-webcrypto/-/isomorphic-webcrypto-2.3.8.tgz", @@ -12736,48 +12945,6 @@ "node": ">= 10.13" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/node-forge": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", @@ -15247,6 +15414,48 @@ "node": ">= 6" } }, + "node_modules/solid-auth-client/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/solid-auth-client/node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/solid-auth-client/node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/solid-auth-client/node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/solid-auth-client/node_modules/tr46": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", diff --git a/package.json b/package.json index 817da5e8d..0f06c9a64 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "@solid/oidc-auth-manager": "^0.25.1", "@solid/oidc-op": "^0.12.1", "@solid/oidc-rp": "^0.12.0", - "@solid/solid-multi-rp-client": "^0.7.0", + "@solid/solid-multi-rp-client": "^0.7.2", "async-lock": "^1.4.1", "body-parser": "^1.20.4", "bootstrap": "^3.4.1", @@ -99,7 +99,6 @@ "mashlib": "^1.11.1", "mime-types": "^2.1.35", "negotiator": "^0.6.4", - "node-fetch": "^2.7.0", "node-forge": "^1.3.3", "node-mailer": "^0.1.1", "nodemailer": "^7.0.12", diff --git a/test/index.mjs b/test/index.mjs index dcf6b3d62..bf46ef1e3 100644 --- a/test/index.mjs +++ b/test/index.mjs @@ -7,7 +7,6 @@ import dns from 'dns' import ldnode from '../../index.mjs' // import ldnode from '../index.mjs' import supertest from 'supertest' -import fetch from 'node-fetch' import https from 'https' const __filename = fileURLToPath(import.meta.url) diff --git a/test/integration/account-manager-test.mjs b/test/integration/account-manager-test.mjs index af7b353e8..865b174a9 100644 --- a/test/integration/account-manager-test.mjs +++ b/test/integration/account-manager-test.mjs @@ -51,7 +51,7 @@ describe('AccountManager', () => { // Note: test/resources/accounts/tim.localhost/ exists in this repo return accountManager.accountExists('tim') .then(exists => { - console.log('DEBUG tim exists:', exists, typeof exists) + // console.log('DEBUG tim exists:', exists, typeof exists) expect(exists).to.not.be.false }) }) @@ -60,7 +60,7 @@ describe('AccountManager', () => { // Note: test/resources/accounts/alice.localhost/ does NOT exist return accountManager.accountExists('alice') .then(exists => { - console.log('DEBUG alice exists:', exists, typeof exists) + // console.log('DEBUG alice exists:', exists, typeof exists) expect(exists).to.not.be.false }) }) diff --git a/test/integration/acl-oidc-test.mjs b/test/integration/acl-oidc-test.mjs index f56d86d2f..507a29768 100644 --- a/test/integration/acl-oidc-test.mjs +++ b/test/integration/acl-oidc-test.mjs @@ -1,6 +1,5 @@ import { assert } from 'chai' import fs from 'fs-extra' -import fetch from 'node-fetch' import path from 'path' import { fileURLToPath } from 'url' import { loadProvider, rm, checkDnsSettings, cleanDir } from '../utils.mjs' diff --git a/test/integration/authentication-oidc-test.mjs b/test/integration/authentication-oidc-test.mjs index bf00b57db..1c6097544 100644 --- a/test/integration/authentication-oidc-test.mjs +++ b/test/integration/authentication-oidc-test.mjs @@ -6,7 +6,6 @@ import { UserStore } from '@solid/oidc-auth-manager' import UserAccount from '../../lib/models/user-account.mjs' import SolidAuthOIDC from '@solid/solid-auth-oidc' -import fetch from 'node-fetch' import localStorage from 'localstorage-memory' import { URL, URLSearchParams } from 'whatwg-url' import { cleanDir, cp } from '../utils.mjs' @@ -642,7 +641,7 @@ describe('Authentication API (OIDC)', () => { // Since user is not logged in, /authorize redirects to /login expect(res.status).to.equal(302) - loginUri = new URL(res.headers.get('location')) + loginUri = new URL(res.headers.get('location'), aliceServerUri) expect(loginUri.toString().startsWith(aliceServerUri + '/login')) .to.be.true() @@ -686,9 +685,11 @@ describe('Authentication API (OIDC)', () => { }) .then(res => { expect(res.status).to.equal(302) - postLoginUri = res.headers.get('location') - cookie = res.headers.get('set-cookie') - + const location = res.headers.get('location') + postLoginUri = new URL(location, aliceServerUri).toString() + // Native fetch: get first set-cookie header + const setCookieHeaders = res.headers.getSetCookie ? res.headers.getSetCookie() : [res.headers.get('set-cookie')] + cookie = setCookieHeaders[0] // Successful login gets redirected back to /authorize and then // back to app expect(postLoginUri.startsWith(aliceServerUri + '/sharing')) @@ -712,7 +713,9 @@ describe('Authentication API (OIDC)', () => { }) .then(res => { expect(res.status).to.equal(302) - postSharingUri = res.headers.get('location') + const location = res.headers.get('location') + postSharingUri = new URL(location, aliceServerUri).toString() + // cookie = res.headers.get('set-cookie') // Successful login gets redirected back to /authorize and then @@ -724,7 +727,9 @@ describe('Authentication API (OIDC)', () => { .then(res => { // User gets redirected back to original app expect(res.status).to.equal(302) - callbackUri = res.headers.get('location') + const location = res.headers.get('location') + callbackUri = location.startsWith('http') ? location : new URL(location, aliceServerUri).toString() + expect(callbackUri.startsWith('https://app.example.com#')) }) }) diff --git a/test/integration/authentication-oidc-with-strict-origins-turned-off-test.mjs b/test/integration/authentication-oidc-with-strict-origins-turned-off-test.mjs index 25345e6cd..daac501b7 100644 --- a/test/integration/authentication-oidc-with-strict-origins-turned-off-test.mjs +++ b/test/integration/authentication-oidc-with-strict-origins-turned-off-test.mjs @@ -6,7 +6,6 @@ import { UserStore } from '@solid/oidc-auth-manager' import UserAccount from '../../lib/models/user-account.mjs' import SolidAuthOIDC from '@solid/solid-auth-oidc' -import fetch from 'node-fetch' import localStorage from 'localstorage-memory' import { URL, URLSearchParams } from 'whatwg-url' import { cleanDir, cp } from '../utils.mjs' @@ -463,7 +462,7 @@ describe('Authentication API (OIDC) - With strict origins turned off', () => { // Since user is not logged in, /authorize redirects to /login expect(res.status).to.equal(302) - loginUri = new URL(res.headers.get('location')) + loginUri = new URL(res.headers.get('location'), aliceServerUri) expect(loginUri.toString().startsWith(aliceServerUri + '/login')) .to.be.true() @@ -507,8 +506,11 @@ describe('Authentication API (OIDC) - With strict origins turned off', () => { }) .then(res => { expect(res.status).to.equal(302) - postLoginUri = res.headers.get('location') - cookie = res.headers.get('set-cookie') + const location = res.headers.get('location') + postLoginUri = new URL(location, aliceServerUri).toString() + // Native fetch: get first set-cookie header + const setCookieHeaders = res.headers.getSetCookie ? res.headers.getSetCookie() : [res.headers.get('set-cookie')] + cookie = setCookieHeaders[0] // Successful login gets redirected back to /authorize and then // back to app @@ -533,20 +535,23 @@ describe('Authentication API (OIDC) - With strict origins turned off', () => { }) .then(res => { expect(res.status).to.equal(302) - const postLoginUri = res.headers.get('location') - const cookie = res.headers.get('set-cookie') + const location = res.headers.get('location') + const postSharingUri = new URL(location, aliceServerUri).toString() + const setCookieHeaders = res.headers.getSetCookie ? res.headers.getSetCookie() : [res.headers.get('set-cookie')] + const cookieFromSharing = setCookieHeaders[0] || cookie // Successful login gets redirected back to /authorize and then // back to app - expect(postLoginUri.startsWith(aliceServerUri + '/authorize')) + expect(postSharingUri.startsWith(aliceServerUri + '/authorize')) .to.be.true() - return fetch(postLoginUri, { redirect: 'manual', headers: { cookie } }) + return fetch(postSharingUri, { redirect: 'manual', headers: { cookie: cookieFromSharing } }) }) .then(res => { // User gets redirected back to original app expect(res.status).to.equal(302) - callbackUri = res.headers.get('location') + const location = res.headers.get('location') + callbackUri = location.startsWith('http') ? location : new URL(location, aliceServerUri).toString() expect(callbackUri.startsWith('https://app.example.com#')) }) }) diff --git a/test/integration/params-test.mjs b/test/integration/params-test.mjs index e06241d8a..d7ac3533c 100644 --- a/test/integration/params-test.mjs +++ b/test/integration/params-test.mjs @@ -11,7 +11,7 @@ import ldnode, { createServer } from '../../index.mjs' const __filename = fileURLToPath(import.meta.url) const __dirname = path.dirname(__filename) -console.log(getTestRoot()) +// console.log(getTestRoot()) describe('LDNODE params', function () { describe('suffixMeta', function () { @@ -46,7 +46,7 @@ describe('LDNODE params', function () { it('should fallback on current working directory', function () { assert.equal(path.normalize(ldp.locals.ldp.resourceMapper._rootPath), path.normalize(process.cwd())) - console.log('Root path is', ldp.locals.ldp.resourceMapper._rootPath) + // console.log('Root path is', ldp.locals.ldp.resourceMapper._rootPath) }) it('new : should find resource in correct path', function (done) { @@ -57,7 +57,7 @@ describe('LDNODE params', function () { const fileContent = '<#current> <#temp> 123 .' fs.mkdirSync(dirPath, { recursive: true }) fs.writeFileSync(filePath, fileContent) - console.log('Wrote file to', filePath) + // console.log('Wrote file to', filePath) server.get('/sampleContainer/example.ttl') .expect('Link', /http:\/\/www.w3.org\/ns\/ldp#Resource/) .expect(200) @@ -71,7 +71,7 @@ describe('LDNODE params', function () { it.skip('initial : should find resource in correct path', function (done) { // Write to the default resources directory, matching the server's root const resourcePath = path.join('sampleContainer', 'example.ttl') - console.log('initial : Writing test resource to', resourcePath) + // console.log('initial : Writing test resource to', resourcePath) setTestRoot(path.join(__dirname, '../resources/')) write('<#current> <#temp> 123 .', resourcePath) @@ -102,7 +102,7 @@ describe('LDNODE params', function () { const fileContent = '<#current> <#temp> 123 .' fs.mkdirSync(dirPath, { recursive: true }) fs.writeFileSync(filePath, fileContent) - console.log('Wrote file to', filePath) + // console.log('Wrote file to', filePath) server.get('/sampleContainer/example.ttl') .expect('Link', /http:\/\/www.w3.org\/ns\/ldp#Resource/) diff --git a/test/resources/accounts-scenario/alice/db/oidc/op/provider.json b/test/resources/accounts-scenario/alice/db/oidc/op/provider.json index 4f538b71d..2aaeed9f4 100644 --- a/test/resources/accounts-scenario/alice/db/oidc/op/provider.json +++ b/test/resources/accounts-scenario/alice/db/oidc/op/provider.json @@ -3,7 +3,8 @@ "jwks_uri": "https://localhost:7000/jwks", "scopes_supported": [ "openid", - "offline_access" + "offline_access", + "webid" ], "response_types_supported": [ "code", @@ -33,19 +34,28 @@ "public" ], "id_token_signing_alg_values_supported": [ - "RS256" + "RS256", + "ES256" ], "token_endpoint_auth_methods_supported": [ "client_secret_basic" ], "token_endpoint_auth_signing_alg_values_supported": [ - "RS256" + "RS256", + "ES256" ], "display_values_supported": [], "claim_types_supported": [ "normal" ], - "claims_supported": [], + "claims_supported": [ + "sub", + "iss", + "aud", + "exp", + "iat", + "webid" + ], "claims_parameter_supported": false, "request_parameter_supported": true, "request_uri_parameter_supported": false, @@ -71,6 +81,18 @@ "RS512": { "alg": "RS512", "modulusLength": 2048 + }, + "ES256": { + "alg": "ES256", + "namedCurve": "P-256" + }, + "ES384": { + "alg": "ES384", + "namedCurve": "P-384" + }, + "ES512": { + "alg": "ES512", + "namedCurve": "P-521" } }, "encryption": {} @@ -88,6 +110,10 @@ "RS512": { "alg": "RS512", "modulusLength": 2048 + }, + "ES256": { + "alg": "ES256", + "namedCurve": "P-256" } }, "encryption": {} @@ -100,319 +126,14 @@ "RS256": { "alg": "RS256", "modulusLength": 2048 - } - } - } - }, - "jwks": { - "keys": [ - { - "kid": "IEugrGmoVhE", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "slOIKREoQE-tkYExh3PsIY6ZUb26RkFky630zDd19VLcTBbhy75Re2-zS6-kOg5oaaNDYyhmUlzBSMwE4Gmijg5tzJDF7rGxVZ4ssSC_Qnm20q4letTpH7Z2rm1-f2pl6HQ22HmIe2AFKGIgq1rc3Wog_ZcCTAhct9TYWGXd8qigE7XvtisdlMgsaYoteotRFeuJAp5h0If0uJzKiPBHDKubAuHcUVRtBGzPet0mEi8--rr5TluTRzZ2M4JwBir1DElkp9r35pjAkHkhycdY8R4fSyD0ZwLoSHPY9JImuIJvv3ydJBgfZv6JPdf8tuOzrc7y6enr8v2_dkZJmmV3rQ", - "e": "AQAB" - }, - { - "kid": "kil_mOY0JHc", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "0GqTqfwKoOGcY1MuvRQpUm8dwhfu6aUcpmfrPQNlu8Xa9AnBkC6alt8XEc3MXLguIxwHAML0ED0qe0rwP0RrhAyD3cunnMUUmIF32wp5dfg95f9YwiJMUZ0xp2ZlOdEmYoo4eGypyZWgO_qDCmxU9OHXQZhs3Cz97CIV5nsJT7bnjdS_I89TURYoNX4X01mCLBTyj_hPlzx11BYpqQR-q2mjCVvNDWWCpRaxm8HyzRIGOsaKcl_BErYzBgWa4F78KjX_clOzYdOjCr7ApUqbDgym4I-1wiyhD3gEmw5w9SUxM8C5XUouZYpUOhGlLlxjIwiWvH9OHOIeDlO8wgoW2Q", - "e": "AQAB" - }, - { - "kid": "6zO-vPfHW14", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "jenKPnEdaE_jZjTILrcqk2asKf3BmORh2zcKGDr__ty0TLj5jkTnK96Mc4Vbs2GiDLj_k34Kx_BpiHT7u-Lu3tDQN2__DnVC3Q7YKMeiLcSmKE5v_uqC1PIlnDdlHjSYbrxjQx1HEExqoqefuSJLxmIPRJOLNA7FKnI88Xa3QF7xd9yOizVhCUby8QTAtq-7a0CqcY6itlY2kLLfmdvnOVdwKYlffdAbmvHn-oFCwn8m7w4On23m14n4GnkryH_39Rb9kIhQAmJgxIVsPsucimrGB6NL8MKaPqrQXQXCQsLJGg3Dcf6fDN7cEUaFnSIx9h3jkHQXkp5YbZ5OwIURCw", - "e": "AQAB" - }, - { - "kid": "pFKYrVuwZdQ", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "sCA1rGY58hQPiDZmEb3zfv5-be9rQM13ibh75mPenR57uX-pqlntcXnn1xLj6radqE9wukyKHZ42AZP5ZjzkrqjsJgLH90PwdPc_yICbvSEHKPG6rc9J3hyZ1P1wRB5pPW2CL_rx4uuBWTSGnQr39vhuU5UhBSXo56_73H9ciDbL0JLBVZayjRGR4_soEX2Vhv0C_iakfbJTZWdcVYKKWgeQzg1gwJFa5ma0ucCxckN9_5Lt__4aBDWjAr8pymKV64hQrUh5gWYLiw2_-8yIMCfZObwn-mBmA7qbNdmLGUPSv9iEA9gJBxTb_ocmSFpvkoVYnv6Qvit-1_uxu_4icw", - "e": "AQAB" - }, - { - "kid": "b-2kLic6p78", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "nQ1uvwF1fNvj9ByNluGPyqurgXaEIuJw3jbxz2C_U9XI8wj-fknHFRfev6SgBQ5dp-Dq0A90dTmDTKYVKi4OAZu8Owq_-dvA2bodFxu6ZPfkzqOrfSi3fyRVIdzabwchR2_Kfn-JeZyjascSHQ0MbONiydyDwU_OJqBjLn4oodCL3TOd-1EJd5LPApmxLK6bmjANTV4DDud-xf7Bsu0K1p7jAy81EywHMj6GS14xTxYD2BnRfgfrwbiCVmOsRNmswLatWfBnm6jEPxLIN_s9dMRRjspL3xyGts4ePrNoFGhfDP7gaLRNcY-gqy3NTKhYr31Pm4r4Db6hWKS-MzJzwQ", - "e": "AQAB" - }, - { - "kid": "hWkCdNoLtbE", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "peXPdx-67ojnNPB_LiYv3fCIRJ0ayDo0IZtfXvvnIThr7Ai6Q24YsTCQ_XHUL9dcxEpFiccUqDTkO5t0FMHFKNsnOClnwDznPpidbApRrQMto9j1k25ISi3AkEEVO6l7pfM19GJghmE78Aw_OlQrB5i_dR2fkSLYydOXN-LT3rXcE-GtWqrZkKmcyVbvKiTKRra5sVrvMIlHXK0C-qXJz28BbhvIagHMoJinTOLHXXfYE3-ZJ3dpmtcuMjEj2DJPZi49ebfDHjR_dnsZd8f0tEde6J0_OIhsXsNs7XXvMQh5A2Ii7UhXDq_hv9-NIatbH2_cTjUoK_mFhjXip-EzQw", - "e": "AQAB" - }, - { - "kid": "bkuONxzFN3c", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "jOZ8e_qd-rflLN2cS_Mp8NXUl54CsiRaHvZbLW2YXTppLri6mVzKRRliDVKDsI3u6KtEa7B_UrqfEbgRyN_lcZGd3EcVpdWSdrtbfd4dEYjKzgH71OF1zRY-OE1ukIsyWC49yyf4AIUY1jf93LuMQa5iUh9_khwDtycjvYd5g_QuES6ifHy3fn7Nmu9Wd45a_FCfR35kaJAwg-rJnrpB9Y2kf4TKBLXfKwGhEFzZPYTtpcx44DxVSdJdowMugBdpNErILjiV0DhwmOra6P8eHBBXodM9BMyWFdsQki2W6YOo5cCmdvgz4MKmp5K0fRGAv0Qnnr89NZnvxoTCGNsyFw", - "e": "AQAB" - } - ] - }, - "id_token": { - "signing": { - "RS256": { - "privateJwk": { - "kid": "xM42QK3SEYk", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "slOIKREoQE-tkYExh3PsIY6ZUb26RkFky630zDd19VLcTBbhy75Re2-zS6-kOg5oaaNDYyhmUlzBSMwE4Gmijg5tzJDF7rGxVZ4ssSC_Qnm20q4letTpH7Z2rm1-f2pl6HQ22HmIe2AFKGIgq1rc3Wog_ZcCTAhct9TYWGXd8qigE7XvtisdlMgsaYoteotRFeuJAp5h0If0uJzKiPBHDKubAuHcUVRtBGzPet0mEi8--rr5TluTRzZ2M4JwBir1DElkp9r35pjAkHkhycdY8R4fSyD0ZwLoSHPY9JImuIJvv3ydJBgfZv6JPdf8tuOzrc7y6enr8v2_dkZJmmV3rQ", - "e": "AQAB", - "d": "VNmxNpUu2VbwSAU4m3J5n0f6RO4pZYd1HgMyMT-MdYQNRXk3zBnNLJYsMm2rD2LOpMEl7dcJxNPUtj45bcxlqAFOlmEmhRpwvkPqkQd7afZ_GsT5GXaYTFomI33_DEKEpfQyKpO9cLLyEVKLp-0unX4Dn5ZMZgAumdwBayJhVrXBRUSsqPC_-FUeJNxnFDoisjKnVKimsBHBtRU3jcgK0QNqvGF961XtzNlpmVx1kI9o4SCx9Alg_NmOq4775kZajYb4_upRfmYxfjZ7o19y8qkOGWrkntaFMeo3NFVi8lMGqusTAfByiqh7vD_xe-mG1PUaZHt6ARoJeWgqhfUhEw", - "p": "2U1PwkcWwAcxNlmmtoUJoeveL4KWZUYdUPm1zCuVV9_tRhb_9s3K91Zvtaq6A8gCdcrUfWKv0BkMTRZ-DB5aZWRoFtn--BLsddsZ8vYDBrRn0jppvFYv4CB4vWlYGWohOWsIvpxYClvjBgU6K4xQA7ydj0RqRi80HovgKbc3rP8", - "q": "0hVWdgZzWpWt7WfFQRuhLSgHnXSexFhVzDDkNJNvLqAUnHf2e8G5lR2S-0aSF_-_g6T2cEHTnGnQd8aJjnDWPUqIu1TqNe34c7QHnipMTvgJKDaU-hxubsiFm8u_k6LQeakKf0m6Z892G-tjdlRofbuxPZtxbtSauBMy5vMan1M", - "dp": "zXtB9KBsbuFeM9rKvsVGuorj62E8_j8y8aNvucVsz0-8ew68tJEdYI2nzM3IYFL9oI1QKdDsF4fYDf067BK3wDEWDKXPaJ3cZAXvn8PqUKi_lBgQbDvDwdhy1AmNeVrWWAlSl4wX5JPHNaYzv4JLF32AMD2tkPiJ_GigbFIIn9k", - "dq": "Yh21E8pPda8SXB5q8c2FqSFY7SDaRbk72PG8oxF4i74X4jvk0kfX9NyrGNAMy0iWmVUiA6u6uQJyan4_IFdyt41n7pXqDOXnc6JRLH10xizxmeZkDavZp8PfIrQ19S3FUAyy6l_0vycVclStT0Z8xrwyOyOuBqUk3XOaAmLnvCE", - "qi": "cU9caw4Hh0D2eFgZj_W8bQx6JSiTQaIDT1XMIFA6zGsLAZhcJZWU7sxrXKeLLBSweEKVyLyXv1m9IOoQlQ8C_AWjPIKOWSxQCK5Sn8GtqakOdneN1gIEBzd3Ck2pKSqOcHNkdJFkDXvgMccFg6zS2dVSoKt1gc7J1taH2vtkm64" - }, - "publicJwk": { - "kid": "IEugrGmoVhE", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "slOIKREoQE-tkYExh3PsIY6ZUb26RkFky630zDd19VLcTBbhy75Re2-zS6-kOg5oaaNDYyhmUlzBSMwE4Gmijg5tzJDF7rGxVZ4ssSC_Qnm20q4letTpH7Z2rm1-f2pl6HQ22HmIe2AFKGIgq1rc3Wog_ZcCTAhct9TYWGXd8qigE7XvtisdlMgsaYoteotRFeuJAp5h0If0uJzKiPBHDKubAuHcUVRtBGzPet0mEi8--rr5TluTRzZ2M4JwBir1DElkp9r35pjAkHkhycdY8R4fSyD0ZwLoSHPY9JImuIJvv3ydJBgfZv6JPdf8tuOzrc7y6enr8v2_dkZJmmV3rQ", - "e": "AQAB" - } - }, - "RS384": { - "privateJwk": { - "kid": "SCQ3ePoZ-54", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "0GqTqfwKoOGcY1MuvRQpUm8dwhfu6aUcpmfrPQNlu8Xa9AnBkC6alt8XEc3MXLguIxwHAML0ED0qe0rwP0RrhAyD3cunnMUUmIF32wp5dfg95f9YwiJMUZ0xp2ZlOdEmYoo4eGypyZWgO_qDCmxU9OHXQZhs3Cz97CIV5nsJT7bnjdS_I89TURYoNX4X01mCLBTyj_hPlzx11BYpqQR-q2mjCVvNDWWCpRaxm8HyzRIGOsaKcl_BErYzBgWa4F78KjX_clOzYdOjCr7ApUqbDgym4I-1wiyhD3gEmw5w9SUxM8C5XUouZYpUOhGlLlxjIwiWvH9OHOIeDlO8wgoW2Q", - "e": "AQAB", - "d": "BLvO88bqNOI665SZlKjPEXS9n8lsXzklT_A_Swj3OA8T3IQWNeChGTki7IAYmqiCP8DktdM3uOCyxM8castyh7LDEfgMrAZb4-TY5Iw12wSS31Tv3qTpx9bCqHMubGRAM2_BPZb2OkJgO8yCSmvQeCli-rXsDwokkEbr6Wq0-O77jxSr-Trs_yCivWIWvI33Q_EsQ8QTCizpoCTdyNedGnF3Yfluhqt_xrwtXiCOgnmOdITo_PuQbAv7glA8n6cjP1oZjGShERqjpOTdoRGZVmkEJwJ6F8b-FJ4GC5-FzHnUhCGmINtHl_9Ghdto_AMZJtq4Jmkez1Gg9z8IUlRBQQ", - "p": "7fAaloK3Z3prHevRV-hgr7xkalykufT0IkL2urG80n6xfTBr7Ps7JGIiARlodcsxT6bN5MmFwvT5QYIRWkUBdkSFG-9Le0337ryIT3gezfUBVkrP8mE1Zd8fioIoC6Hja8QtQnYie_iL_T0KfKtNT74w9XqvGXbKN0lEvGhf-gk", - "q": "4DzGGjMKS6AKQb_xsfZfyUA7deUD0RkL6GkNNx7wqEuUJZmBofeA4tJmRJ9Bjw90B9P5E2eS-qhJ4C4XWSI-JyKZmhNMEvmCULhpboWeRgB5t_GRIzeAq_4Fo1k189Cyrk947x6i2NEchQ7BA_p9CDkYH6TUjalfI-6X49MSqlE", - "dp": "pwK-luDfvUlnQJRS1-JrY07YKPQoR8KRTi80oey5_gIhsR640pmxdKNQ_PaJpQzf6unJYYq2UhbDkmCqr3L6SLpluCrqD321xqQdBbLp5GTR8HEIrzfeVEgeCom7dBbI287SefET2XKnSDR9VO6kkJGOKfBYUYZZAB90mM6md4k", - "dq": "3sNBQjHGXo6k4eCfaV4KllGbQGm8uvMY40_JcyLnjSlYCWpQX-kTP0Ipmq5jYI3HhSdN37sbRqv8iBsB0uizugkjcu8MuiTpEuvAwa04KO67_MKcntG6oCKA02ACuy5u87-7skFLIf3LSVv438zufUbK8lS7W-gQvg9_ETNU7aE", - "qi": "Oi6HZdy29kvau4K1SDw797ol5OL_N4GFaU0PsQc1uiT9Pyoe6ro2XHAOmRQ0LG1uWGChnJtqrIdwCtCGdd4AakzbCWLnMVDtE3mDEy0yxL2QqUo0GYqLUbfj1GKTPII9L5wyJ_FWB3E-u3RsVGIE1SaYBDFYUDx-CH-ZrFm_N7Y" - }, - "publicJwk": { - "kid": "kil_mOY0JHc", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "0GqTqfwKoOGcY1MuvRQpUm8dwhfu6aUcpmfrPQNlu8Xa9AnBkC6alt8XEc3MXLguIxwHAML0ED0qe0rwP0RrhAyD3cunnMUUmIF32wp5dfg95f9YwiJMUZ0xp2ZlOdEmYoo4eGypyZWgO_qDCmxU9OHXQZhs3Cz97CIV5nsJT7bnjdS_I89TURYoNX4X01mCLBTyj_hPlzx11BYpqQR-q2mjCVvNDWWCpRaxm8HyzRIGOsaKcl_BErYzBgWa4F78KjX_clOzYdOjCr7ApUqbDgym4I-1wiyhD3gEmw5w9SUxM8C5XUouZYpUOhGlLlxjIwiWvH9OHOIeDlO8wgoW2Q", - "e": "AQAB" - } - }, - "RS512": { - "privateJwk": { - "kid": "9lCMuW0o4PY", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "jenKPnEdaE_jZjTILrcqk2asKf3BmORh2zcKGDr__ty0TLj5jkTnK96Mc4Vbs2GiDLj_k34Kx_BpiHT7u-Lu3tDQN2__DnVC3Q7YKMeiLcSmKE5v_uqC1PIlnDdlHjSYbrxjQx1HEExqoqefuSJLxmIPRJOLNA7FKnI88Xa3QF7xd9yOizVhCUby8QTAtq-7a0CqcY6itlY2kLLfmdvnOVdwKYlffdAbmvHn-oFCwn8m7w4On23m14n4GnkryH_39Rb9kIhQAmJgxIVsPsucimrGB6NL8MKaPqrQXQXCQsLJGg3Dcf6fDN7cEUaFnSIx9h3jkHQXkp5YbZ5OwIURCw", - "e": "AQAB", - "d": "FmlT_l14bUdPMbkR3h12H1YpHUPiWuYXtXob4YIRI0Db8SaLNBZvQu8qqM8S5swl6TLJcJOzWdT-ovAFQKxQ2KZgePN6c7WSttIdJ_-IU120IeG_78w9l39FmkXooFxiWvvsWdEvWQRrGL82db3T-q30xvndaNNmUX2TYKIaGZOeAI796W2NLtsZm-vwkfHDqsD4q0FOYrLSsBqXlDj25j59r74ZqqTiomHqNLYuMbf0eB6mPO5SUfYwaQwwZQWOWVHKQzEzrUGgq9lp7hIEtw7pJIJgRB2kuaN7ykYkE7uMqN--TaP6DK605vNkgAUPi23fkB-UouIfBmdbVuXVzQ", - "p": "wvolLyu_5KrHrs9Bggcm5m60NksQ575I5cMN-v3tXrm2Dj5ScSzC1Gydy5ZqD_i6W5WvnleuqcDCoLyDJPd2pTmULbt4hupe7EYlVAMxNlatvFZU5_C6vC5HYgJ93QGbR8DbGPDk90BPS7ZAxlwhXtmBIrvj7kRmyiqyHtxo8H8", - "q": "ulQWg-qQS6Thho1gxaljTXTXqVYza3JgXX1pAojQnRKaQanBXoDGs_yFGIVfvDd1lLh90nu3n1QEdsDuK7DWUb313P7lrH9VzYKhusG1Kt_AtcpVSOhXXEYqKvpq6g1S4VZielpTZeXURlhvO8l70Pwd-LwlfI4gBuu4H22NWXU", - "dp": "uQsaezg0OFr0hC1i6HrNKmjqU5TOiIIJQTXrcMfJndr2s3HmYE6w4VXsNCmeo2XVx9G6CLcCp0yv6ki-1jidu5V30idX7gNE70xrZN5auE1vOY1dq3rGXo41ZQkkVrmNm32m8na9dwLrvtlLhHYvnYsjicl0Os9kFn6K6csZNRU", - "dq": "isiDFLKr04v15zB6uf9W1aSH1bs9BXTlzfzRMHATYksu1mXIf8lPN1SJFiCRlDGCxMk9_n7j4CrGQGWngKdwmuXwsTCyhW86y53XNLF_bXXHpiAUsf9MwpAIbIalB7vw1aJwK04H_EfZeqP4BgIm1RxUfqY1DbcWp9D_DXmd5Nk", - "qi": "W3kw3UoXBu3LfJenmHz3MdYTaeZhmhWKP6BlRW0m1c0h2OmVm25al8JomKnAqGMwjaWNWLcQKXmq9gXfHji6gywR3qHsvD_0LjClory1_U9apfE3S1Uk2zZrZQu7CfcfRLwLe-BeJxuaTND9-GqaOwwEFLKR23DVatC9cxUAq74" - }, - "publicJwk": { - "kid": "6zO-vPfHW14", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "jenKPnEdaE_jZjTILrcqk2asKf3BmORh2zcKGDr__ty0TLj5jkTnK96Mc4Vbs2GiDLj_k34Kx_BpiHT7u-Lu3tDQN2__DnVC3Q7YKMeiLcSmKE5v_uqC1PIlnDdlHjSYbrxjQx1HEExqoqefuSJLxmIPRJOLNA7FKnI88Xa3QF7xd9yOizVhCUby8QTAtq-7a0CqcY6itlY2kLLfmdvnOVdwKYlffdAbmvHn-oFCwn8m7w4On23m14n4GnkryH_39Rb9kIhQAmJgxIVsPsucimrGB6NL8MKaPqrQXQXCQsLJGg3Dcf6fDN7cEUaFnSIx9h3jkHQXkp5YbZ5OwIURCw", - "e": "AQAB" - } - } - }, - "encryption": {} - }, - "token": { - "signing": { - "RS256": { - "privateJwk": { - "kid": "nUg2cf6I0oc", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "sCA1rGY58hQPiDZmEb3zfv5-be9rQM13ibh75mPenR57uX-pqlntcXnn1xLj6radqE9wukyKHZ42AZP5ZjzkrqjsJgLH90PwdPc_yICbvSEHKPG6rc9J3hyZ1P1wRB5pPW2CL_rx4uuBWTSGnQr39vhuU5UhBSXo56_73H9ciDbL0JLBVZayjRGR4_soEX2Vhv0C_iakfbJTZWdcVYKKWgeQzg1gwJFa5ma0ucCxckN9_5Lt__4aBDWjAr8pymKV64hQrUh5gWYLiw2_-8yIMCfZObwn-mBmA7qbNdmLGUPSv9iEA9gJBxTb_ocmSFpvkoVYnv6Qvit-1_uxu_4icw", - "e": "AQAB", - "d": "OQLUHPAiRagUtwTU2V1hWnRKvI9JanqX_S6IfLVLNBTP--XFJ-1gHOFXGJl2yV0_f2HnnYZ1Fs1FshESI_QGGjt35X30-Kc3SMVYEjD_OKNeS_Sjduuof4tGiFlZY9NsQYQXJizW65tMDXIhOOh6B6m3HLsjKyVwVL70ihV4AGcizQZNpVLYtlHEWbvtrHccv733tGDwOV4ZiXv_GR6TQKyX84FCuhtDikQ7ZUsQ9IWaFjjrBOPsHTrXhI-PmW4bMn0vtaFdnUsp8hCYzIG7NmmRRWAytM_KiWcIT8vHnObRQA5Mphcre3LGRqpAZTmsHLpfz5rc5f_aiIML9KOHcQ", - "p": "3crMj0C501epsYjKQdJJPpuWnQCitjAjEE3TOJK3xH7Tp5RAvdJS1MwvqvFKpVOGVtWfEVqMJIj7Cd-5mEO_rG3syq7lDFWjYrf7PyUIbZkgXWOwH96gja6sbapNB1bZM_M038WxbMFxfweDN5Upp2a5uGCiRx2PJmDSMWHKXT0", - "q": "y0pUE8W-BuWJiWEyf9yH8-Ifnfq1Oz3eMl8e1idFIgNEzElmbAHLL9l81znXgGIkJ2IaRRSsCizgCN1tcY8o2pFq7--_5ZKQ7Sj2U8opQc6_X0XlIAOVkYF4D8bSx2Cj8GnWALkxefHQbTC9a9ilsys11m1LgfjjMxNw-86D2W8", - "dp": "k0qx7NS8U8lc7YT9ZRcFA2oKbPvWEw4GyzYT9vcgyYK8hwbis-0wixeK9IhH3WGJzrMRb1HlzgGWTelg9OjRKu7ZmYTqofVhixbJ6RZr8XUG1F52wcN0doMxCadWfnBD0MdMLuu4N5SEDitsDgamYgDLh9HNE1NjFMap8JeT77U", - "dq": "esSGhfJTUiLornhuYN0zlUsnwOYY8I_qUg0zuCy7CVFkCOMC4ZMru9fiFrAtvrCGGOqb5sAXLYXwPipK39uO1oAfTotBHkknELI-IFfkFoPe-pBhULYZa2f-s7hkrldkadngjUtJ39TzBB39JtYNK2ia-MXEZdeCjePdxZPv-C0", - "qi": "3RZt4R4rLCfTJmKwpChlzjZziutToPvyvOCNDU7O1J5UjYF__xVyhDfEWBwaq5rfltfs-beLCbhQTNyhbZ3kY2MkXxaRcAXepwD9Ofa7b3T10XszIHisI-nJvoNzGK6dKxv3E8uluHnUABBPWdQRh_cR3ioamxVuA3RE1-Ic4CM" - }, - "publicJwk": { - "kid": "pFKYrVuwZdQ", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "sCA1rGY58hQPiDZmEb3zfv5-be9rQM13ibh75mPenR57uX-pqlntcXnn1xLj6radqE9wukyKHZ42AZP5ZjzkrqjsJgLH90PwdPc_yICbvSEHKPG6rc9J3hyZ1P1wRB5pPW2CL_rx4uuBWTSGnQr39vhuU5UhBSXo56_73H9ciDbL0JLBVZayjRGR4_soEX2Vhv0C_iakfbJTZWdcVYKKWgeQzg1gwJFa5ma0ucCxckN9_5Lt__4aBDWjAr8pymKV64hQrUh5gWYLiw2_-8yIMCfZObwn-mBmA7qbNdmLGUPSv9iEA9gJBxTb_ocmSFpvkoVYnv6Qvit-1_uxu_4icw", - "e": "AQAB" - } - }, - "RS384": { - "privateJwk": { - "kid": "aH-zrOZm27Q", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "nQ1uvwF1fNvj9ByNluGPyqurgXaEIuJw3jbxz2C_U9XI8wj-fknHFRfev6SgBQ5dp-Dq0A90dTmDTKYVKi4OAZu8Owq_-dvA2bodFxu6ZPfkzqOrfSi3fyRVIdzabwchR2_Kfn-JeZyjascSHQ0MbONiydyDwU_OJqBjLn4oodCL3TOd-1EJd5LPApmxLK6bmjANTV4DDud-xf7Bsu0K1p7jAy81EywHMj6GS14xTxYD2BnRfgfrwbiCVmOsRNmswLatWfBnm6jEPxLIN_s9dMRRjspL3xyGts4ePrNoFGhfDP7gaLRNcY-gqy3NTKhYr31Pm4r4Db6hWKS-MzJzwQ", - "e": "AQAB", - "d": "IYBoC16oTUYqzjv5CCJ9peIQ58D8VuSu5vgZhP9CUQPdpdpZT181lI5O-dqIOAvkdpdH_7IMSaVHGOakxSal3jn2YTHd2dLCxK8q3W8Qx9EJgfrv7fbtjbWWY27VObHvq2lxbKKQFN0RDwoAFypdaCzpOd5MTMRVWXAFODm5OSsJf2lmHvnvyRsdqf3n1n0oVRbqOpuVQy3_hyzPv--msLGZDNt4kqGHeni-7bFyNpbq1w4_9O75rmZ8CSdHx6gDm3qKsEOYLMQnWxKzH3AXnrKKBj1tMfbd_KEXIbmrtYd4a9LPALHe0HqpiR-tp1CknoCrCIBIOuuh__Gua6tFMQ", - "p": "3CbWR10_zrodUICDLo3TcSjTFWiQPzGJd80qngz5iQfFSf6RKGXRwPoDOip9rECwvJSLC-feN24RJ7KYSsnEzaBWCQgGyzSXYlUU8TsW6W2bwrLd2hc7NPvmMxOqpifPlLQtzdnAQveaYCcN_8CAikk_Xr4XuCvNi6OzQIAASEM", - "q": "tqBDmbSNoFoVDLwI2kpiLrko1B8AmeqjfVGGcX8kGGYHDW_E2DGGn6ejED2VS9lqvuoHgHS1Vuk42iubmzgjGFeRF49mDOd2-XotoVTgY98gMdILlcGnKWFElMH7i_SYiPMpy_T4l1yPCOzYjjTy7DoM1kE5z2OXofvHjNZlpas", - "dp": "oKnnL2WqL2A8DIf9NHhkmuzEP5dzzeqE_F1KgNXPNmXpYTrbDLRiA4dx230vAgqj8LwnTaUF00YMVwBLjCj762Tb5PNqodnbsPOOuQ36hphrWAfZSFQz7VL4iMYNf_0FzOxBkT0cxsKUcx-NY9xE8qbKDIaGIO42r3XkV2oSyqk", - "dq": "cXOEK1Nf_DKaCwwxD7LP5ai_NW-BBx0drXdc5tsOCF4xmWZKyeeSc1JH2Yn4WmNZjfqC6IkYMkK2P8qBY17vZmrXxuQdiHyui3McL7Izp7dwH6MV8VWZS_qSCTus0hgEPmeZGow3dohYjznbmhRIqPmzCdMBX9XF2Co6oEJ8aPs", - "qi": "HMexj4B5KxLZvRbq65hMfaGan8KXHCOevZDv-GtrBPDwJOGQ1zA_AFUGnhWvA5ru80fe2Qv_rCSQKd8ywiJjYlvsl5isn9_uz3mHxJp4rP-il9DooAzimClcKPAYz-m9UiVbQTiLasahibEhIlpjyhKuGV-3AsY9C7eIlnuIbuU" - }, - "publicJwk": { - "kid": "b-2kLic6p78", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "nQ1uvwF1fNvj9ByNluGPyqurgXaEIuJw3jbxz2C_U9XI8wj-fknHFRfev6SgBQ5dp-Dq0A90dTmDTKYVKi4OAZu8Owq_-dvA2bodFxu6ZPfkzqOrfSi3fyRVIdzabwchR2_Kfn-JeZyjascSHQ0MbONiydyDwU_OJqBjLn4oodCL3TOd-1EJd5LPApmxLK6bmjANTV4DDud-xf7Bsu0K1p7jAy81EywHMj6GS14xTxYD2BnRfgfrwbiCVmOsRNmswLatWfBnm6jEPxLIN_s9dMRRjspL3xyGts4ePrNoFGhfDP7gaLRNcY-gqy3NTKhYr31Pm4r4Db6hWKS-MzJzwQ", - "e": "AQAB" - } - }, - "RS512": { - "privateJwk": { - "kid": "Eez5CGZEhRU", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "peXPdx-67ojnNPB_LiYv3fCIRJ0ayDo0IZtfXvvnIThr7Ai6Q24YsTCQ_XHUL9dcxEpFiccUqDTkO5t0FMHFKNsnOClnwDznPpidbApRrQMto9j1k25ISi3AkEEVO6l7pfM19GJghmE78Aw_OlQrB5i_dR2fkSLYydOXN-LT3rXcE-GtWqrZkKmcyVbvKiTKRra5sVrvMIlHXK0C-qXJz28BbhvIagHMoJinTOLHXXfYE3-ZJ3dpmtcuMjEj2DJPZi49ebfDHjR_dnsZd8f0tEde6J0_OIhsXsNs7XXvMQh5A2Ii7UhXDq_hv9-NIatbH2_cTjUoK_mFhjXip-EzQw", - "e": "AQAB", - "d": "KvegikvvkIRoza9UYVGGqEb6JDtEioN4qROi2ekIbfQ9D38bLwe-4XWgt-PZfyKaZkSOSicD1KUOT9ntcMrXE8PfHo6qzoF3qyC_9RGfId5m3b79q9euZXgAHdydcTxuSAb7_HXWZjec3Ilvft353xfSzrSDdYW-_FcPHWxkT5QDyMotiTWvUP80aqJ6-MqscY6C_hhkJxXJ3aSSxdkra_VlHZNnSPxP_BXzAk_EZVLzfEF0_P7J6RNEzVgUWzZrxiOpbv0Ig_GsRFj_oHxRuq_HSrbVcJn6RO_k8dV3_AVJdtIIxMY2k10rV6EWUddIvq-DOEjFCAvGzIzfyLVGMQ", - "p": "0224h8l3PBIKKVmoYlteLkJ_gH3jJKaC-XcwcRd-d20u8V5kSvHUWmQEkuXuIV81FWIgbAnrleFQcq6rIDaijYguT0g0N2jufe7NHZWwxs8T2YDgAptlaZLyLyuSWogatpwIM8w9h7BcceQWKomEXrdFZsF7Jc5t-iPvJ9PgRs8", - "q": "yN7mPRLyom5jCq4MCJSn0uGDUYD_hkGaLtYYsPrVQdZHKkoLscR_eiIvpeDOPT-Dz8QHaTmaFLMVaLR3THzAASRwz0u_0gkJEmvhM9CJOayXXRGepfwCuPi6j1MH5o_vGChgfF-1L1NpFXnO5-d9L2oP8lcgLy0uLMFTySHPaU0", - "dp": "LgA6XPjdg2ldYp_KPhQpCqGXQiqhqBC-gG6JUKHO90b_Jq7l3VR-YmhOgnOaexJO52chLMB_zG1oZntQakLY3Tha8w7_pWqkMSwq3pv6CVd2tyUOGCMdTnoVTWQKhL4GKeMK-dIfNQ2PH4yDsh-XeFAhvnisRY6DaSA2YZD8xAs", - "dq": "it5u1jJPRDSEjFGfSB9dltEJdEN2ZF7eNRsWnuQKoyV8taPTSebLKqiPwGIWswlCG1UuunR0LXNRjb2V7G8iXqfOxcFcr9xHRVEHtEarWBAV5OXVhHMhfreWYpfIkoFXjp_7dIDGRh2oPIylmnXTegAdXjEVswfNMGvHfPm-5tE", - "qi": "WrGCPQgvAjyKAiHC3klYlmh5DSZd1b4eejqcWSmV8J7l6ydQt60S1o6dMwqyOzfPzJnmElR3g0AUCPfsPSB3Qt8qL_qaizFcemvlZwmzMGVUDh4ie1NO0Ym_25fzHVuR0WwdbnksVTci0Avh9QMGMbKi0DO8Q5ONO8CTauW_rz8" }, - "publicJwk": { - "kid": "hWkCdNoLtbE", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "peXPdx-67ojnNPB_LiYv3fCIRJ0ayDo0IZtfXvvnIThr7Ai6Q24YsTCQ_XHUL9dcxEpFiccUqDTkO5t0FMHFKNsnOClnwDznPpidbApRrQMto9j1k25ISi3AkEEVO6l7pfM19GJghmE78Aw_OlQrB5i_dR2fkSLYydOXN-LT3rXcE-GtWqrZkKmcyVbvKiTKRra5sVrvMIlHXK0C-qXJz28BbhvIagHMoJinTOLHXXfYE3-ZJ3dpmtcuMjEj2DJPZi49ebfDHjR_dnsZd8f0tEde6J0_OIhsXsNs7XXvMQh5A2Ii7UhXDq_hv9-NIatbH2_cTjUoK_mFhjXip-EzQw", - "e": "AQAB" - } - } - }, - "encryption": {} - }, - "userinfo": { - "encryption": {} - }, - "register": { - "signing": { - "RS256": { - "privateJwk": { - "kid": "X5m7hIWRMTs", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "jOZ8e_qd-rflLN2cS_Mp8NXUl54CsiRaHvZbLW2YXTppLri6mVzKRRliDVKDsI3u6KtEa7B_UrqfEbgRyN_lcZGd3EcVpdWSdrtbfd4dEYjKzgH71OF1zRY-OE1ukIsyWC49yyf4AIUY1jf93LuMQa5iUh9_khwDtycjvYd5g_QuES6ifHy3fn7Nmu9Wd45a_FCfR35kaJAwg-rJnrpB9Y2kf4TKBLXfKwGhEFzZPYTtpcx44DxVSdJdowMugBdpNErILjiV0DhwmOra6P8eHBBXodM9BMyWFdsQki2W6YOo5cCmdvgz4MKmp5K0fRGAv0Qnnr89NZnvxoTCGNsyFw", - "e": "AQAB", - "d": "Lyl9FICcPY4tUzmwdcmkSb1BRii5LUi2s7NxbIDJJbeF-oIRz4C8Ianv5JawhrnTdKTTJ5qx246k7OjoZwzuf3em19MhX1tgBYcMBlMA9twLSi5mzWhUJnwiAnWEozQ8e0CrJWOxAveKCzY9rpNGTLvipCtv54eiBL3AnFGK7owfURkgMGP8Qw1LP1YCcn7Y9albjAiaXB404UfMl397Lr6ByTgh9B8EqJ5E3IO8wObMJqn1u4z82T4tC2mL8g-e7cZy8p8SZQ86etmPCBEiB3B-YpV5JVb_mVNTE5KVKid1vzcvXUTK3oHqFuX-ep7iphhuHx7mKkaATHmHqZ-FQQ", - "p": "xwLLpcoFe66sLULUWE8bgdeWS7xT2lf-uH4f1czV6YzX2u0SsjQ_TPH6cd5E1hkQY766HChiKa4ymozcBe2Wx7pAMZ5-JrUD2UPboD_gQ8KvH0WQTVqAeAruskMi5XYMrlwRIQhQ_jdIz7LijwAxdn6iGfTLY7iZOO3ZhhTsP9c", - "q": "tT-v_RIEoEvbcgYzuWLoAptnFljfUj6Kp09P3rMQj6EKCfh3V6_2YNbgws6KkvHn5AHsV6W83Li2HNh-QnGKJdbxNANNZot1S5Y_d_q7qwa4di57RUphKL8EMaYQPs68GH4oCu6qecJS8TiwPz-Cgd7lPD0KpMdK2OxVvPG7V8E", - "dp": "f_BYI5kgtUayAdb41Fzm_i4uvTmxXqk7ZDgRF028J40YJ_JJFq9oEntt2k5eSpWKZ9VxqDB-CvWmKp1rxZPcX0Jpinyt9QxiEQcC5p6p-mXqV1xNTK1l8cZ1dbybbpDZzi36BRZnm0bHVF9YLz6cjeUTKUSqjM1cE7E1KnHA_7k", - "dq": "KAsFB6VGbl-0ANIL9WY7me_Za5-A3zvACEzGeY4YF5Ndk2xYeX__r89pYsCc7vAQ6lfeblLIkf8hBOhzpJxPCCMfsP0VyZT_-g4cwZYchiF6-Wk1hM50_rqM46crqaSk-8hLcnbeJP5gsrhyf9a5L5YeERvvUQ5So_A61P6XBEE", - "qi": "Ji-egZIa2rkYe9apFLTj3AWc2USETJi4j48pE7GzVAemm352P9V0gXj3aKnbZVZPC2to_jmazho7VgO5yLxMTqjAaYjNYgRCrsk7Lw7IudAjknGmJrqNfKFdkkwGA0_qgFIuJNvM--SN1r3tuWRyCPqDw12pP2mPCZ5GTOMtmiw" - }, - "publicJwk": { - "kid": "bkuONxzFN3c", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "jOZ8e_qd-rflLN2cS_Mp8NXUl54CsiRaHvZbLW2YXTppLri6mVzKRRliDVKDsI3u6KtEa7B_UrqfEbgRyN_lcZGd3EcVpdWSdrtbfd4dEYjKzgH71OF1zRY-OE1ukIsyWC49yyf4AIUY1jf93LuMQa5iUh9_khwDtycjvYd5g_QuES6ifHy3fn7Nmu9Wd45a_FCfR35kaJAwg-rJnrpB9Y2kf4TKBLXfKwGhEFzZPYTtpcx44DxVSdJdowMugBdpNErILjiV0DhwmOra6P8eHBBXodM9BMyWFdsQki2W6YOo5cCmdvgz4MKmp5K0fRGAv0Qnnr89NZnvxoTCGNsyFw", - "e": "AQAB" + "ES256": { + "alg": "ES256", + "namedCurve": "P-256" } } } }, - "jwkSet": "{\"keys\":[{\"kid\":\"IEugrGmoVhE\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"slOIKREoQE-tkYExh3PsIY6ZUb26RkFky630zDd19VLcTBbhy75Re2-zS6-kOg5oaaNDYyhmUlzBSMwE4Gmijg5tzJDF7rGxVZ4ssSC_Qnm20q4letTpH7Z2rm1-f2pl6HQ22HmIe2AFKGIgq1rc3Wog_ZcCTAhct9TYWGXd8qigE7XvtisdlMgsaYoteotRFeuJAp5h0If0uJzKiPBHDKubAuHcUVRtBGzPet0mEi8--rr5TluTRzZ2M4JwBir1DElkp9r35pjAkHkhycdY8R4fSyD0ZwLoSHPY9JImuIJvv3ydJBgfZv6JPdf8tuOzrc7y6enr8v2_dkZJmmV3rQ\",\"e\":\"AQAB\"},{\"kid\":\"kil_mOY0JHc\",\"kty\":\"RSA\",\"alg\":\"RS384\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"0GqTqfwKoOGcY1MuvRQpUm8dwhfu6aUcpmfrPQNlu8Xa9AnBkC6alt8XEc3MXLguIxwHAML0ED0qe0rwP0RrhAyD3cunnMUUmIF32wp5dfg95f9YwiJMUZ0xp2ZlOdEmYoo4eGypyZWgO_qDCmxU9OHXQZhs3Cz97CIV5nsJT7bnjdS_I89TURYoNX4X01mCLBTyj_hPlzx11BYpqQR-q2mjCVvNDWWCpRaxm8HyzRIGOsaKcl_BErYzBgWa4F78KjX_clOzYdOjCr7ApUqbDgym4I-1wiyhD3gEmw5w9SUxM8C5XUouZYpUOhGlLlxjIwiWvH9OHOIeDlO8wgoW2Q\",\"e\":\"AQAB\"},{\"kid\":\"6zO-vPfHW14\",\"kty\":\"RSA\",\"alg\":\"RS512\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"jenKPnEdaE_jZjTILrcqk2asKf3BmORh2zcKGDr__ty0TLj5jkTnK96Mc4Vbs2GiDLj_k34Kx_BpiHT7u-Lu3tDQN2__DnVC3Q7YKMeiLcSmKE5v_uqC1PIlnDdlHjSYbrxjQx1HEExqoqefuSJLxmIPRJOLNA7FKnI88Xa3QF7xd9yOizVhCUby8QTAtq-7a0CqcY6itlY2kLLfmdvnOVdwKYlffdAbmvHn-oFCwn8m7w4On23m14n4GnkryH_39Rb9kIhQAmJgxIVsPsucimrGB6NL8MKaPqrQXQXCQsLJGg3Dcf6fDN7cEUaFnSIx9h3jkHQXkp5YbZ5OwIURCw\",\"e\":\"AQAB\"},{\"kid\":\"pFKYrVuwZdQ\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"sCA1rGY58hQPiDZmEb3zfv5-be9rQM13ibh75mPenR57uX-pqlntcXnn1xLj6radqE9wukyKHZ42AZP5ZjzkrqjsJgLH90PwdPc_yICbvSEHKPG6rc9J3hyZ1P1wRB5pPW2CL_rx4uuBWTSGnQr39vhuU5UhBSXo56_73H9ciDbL0JLBVZayjRGR4_soEX2Vhv0C_iakfbJTZWdcVYKKWgeQzg1gwJFa5ma0ucCxckN9_5Lt__4aBDWjAr8pymKV64hQrUh5gWYLiw2_-8yIMCfZObwn-mBmA7qbNdmLGUPSv9iEA9gJBxTb_ocmSFpvkoVYnv6Qvit-1_uxu_4icw\",\"e\":\"AQAB\"},{\"kid\":\"b-2kLic6p78\",\"kty\":\"RSA\",\"alg\":\"RS384\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"nQ1uvwF1fNvj9ByNluGPyqurgXaEIuJw3jbxz2C_U9XI8wj-fknHFRfev6SgBQ5dp-Dq0A90dTmDTKYVKi4OAZu8Owq_-dvA2bodFxu6ZPfkzqOrfSi3fyRVIdzabwchR2_Kfn-JeZyjascSHQ0MbONiydyDwU_OJqBjLn4oodCL3TOd-1EJd5LPApmxLK6bmjANTV4DDud-xf7Bsu0K1p7jAy81EywHMj6GS14xTxYD2BnRfgfrwbiCVmOsRNmswLatWfBnm6jEPxLIN_s9dMRRjspL3xyGts4ePrNoFGhfDP7gaLRNcY-gqy3NTKhYr31Pm4r4Db6hWKS-MzJzwQ\",\"e\":\"AQAB\"},{\"kid\":\"hWkCdNoLtbE\",\"kty\":\"RSA\",\"alg\":\"RS512\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"peXPdx-67ojnNPB_LiYv3fCIRJ0ayDo0IZtfXvvnIThr7Ai6Q24YsTCQ_XHUL9dcxEpFiccUqDTkO5t0FMHFKNsnOClnwDznPpidbApRrQMto9j1k25ISi3AkEEVO6l7pfM19GJghmE78Aw_OlQrB5i_dR2fkSLYydOXN-LT3rXcE-GtWqrZkKmcyVbvKiTKRra5sVrvMIlHXK0C-qXJz28BbhvIagHMoJinTOLHXXfYE3-ZJ3dpmtcuMjEj2DJPZi49ebfDHjR_dnsZd8f0tEde6J0_OIhsXsNs7XXvMQh5A2Ii7UhXDq_hv9-NIatbH2_cTjUoK_mFhjXip-EzQw\",\"e\":\"AQAB\"},{\"kid\":\"bkuONxzFN3c\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"jOZ8e_qd-rflLN2cS_Mp8NXUl54CsiRaHvZbLW2YXTppLri6mVzKRRliDVKDsI3u6KtEa7B_UrqfEbgRyN_lcZGd3EcVpdWSdrtbfd4dEYjKzgH71OF1zRY-OE1ukIsyWC49yyf4AIUY1jf93LuMQa5iUh9_khwDtycjvYd5g_QuES6ifHy3fn7Nmu9Wd45a_FCfR35kaJAwg-rJnrpB9Y2kf4TKBLXfKwGhEFzZPYTtpcx44DxVSdJdowMugBdpNErILjiV0DhwmOra6P8eHBBXodM9BMyWFdsQki2W6YOo5cCmdvgz4MKmp5K0fRGAv0Qnnr89NZnvxoTCGNsyFw\",\"e\":\"AQAB\"}]}", "_crypto": { "subtle": { "providers": { @@ -756,6 +477,510 @@ } } } - } + }, + "jwks": { + "keys": [ + { + "kid": "81OJU5eDmA0", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "q_5cKxUqZRh5h53L9B2nGYfHipHt7z-byse1qKwEuVSUfFUsGdyt30a0iVr0r2Gxd4yC4eqVcg0IE8ddUpWCWuEbYh_KRLcTHI6t8uVETJChuuMlaUstl9pT1u4a5nK3sFdKl87EUodw_wJgd1TcVnAmSpAzynqFfLGItS6ARb_qX7SVlj9gjyo_jwua41NQM8rbSl6iW2yW5zQA-XPChcxR5G8wggDned4e_FDDCW_iBVI5akU5o286avqwSAgatcyJYUTA34D9XgR-Rin8Gm_-uV1HrlpAsWbebSNRSaKR5O_Fb79zWDJ4iNxekFkBP5fC9TukeQCF3fMbJ13IVQ", + "e": "AQAB" + }, + { + "kid": "2Sza_d60oas", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "ycT-w7AP24g0FdyDa8AL3z7pSEyDE4Fp9mDFxLIate0n2vfBD-9yZJBG11QrnYKneH9XTT3ZrcfHgpmSaprG9f1UzodJqXYclxwcNbvpvMMyNpIz51uX3Kuoy0bDKC4rWApB5kKsBb6DHECgOTLvS7Ues1qvxiiq5cjFHx3g_GD0RdnE-UVmNaCqH7RYaz1H244vqO66lfrXqsMjVbqlwlp0BxD-YIXAmtiD-YV4VroBtNzJ1LAaUJZFAMVIPTH_ICj4ousP_N2kkGvJYwBx9YCylqqOZLql4-EZ5W8MqWBpMhANVFuLWAHkcKv2uHMPln8kINUc4HpJNG0M-1IDVQ", + "e": "AQAB" + }, + { + "kid": "eNNC0fwBa3k", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "pnK9keu3Xuxq3GT1rG_orokW6uMjx49hop1cUFCxGOK88vywpSQfIz_oBhY7HkZ1J0Hua_ZcmFFD3XpgG37MQWzDX0xB1NVcLQ6TvXx5Qj5NwhU4HEF2-ru4Je2MEZYDpHL8qh5dZX1CDWNMoGamahrfiTHGi1XgRKKfRaJwH-1uQ1PRT_uSZsscn39xjzQQNHWiMUtIBAUePDlA9G-Cu31tdpTVagK4gFmMjoKZxDvCU7Z56g0IA734iExSCPavItD9mHBuZF4lrPpLHUiJk6L8vEyK5wntY7VS5i_XQkrQQtC453DG69EUj0_woNnOiMIEaV4RY6GDUR0ZnXoE8Q", + "e": "AQAB" + }, + { + "kid": "UuMO0zvVjRA", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "2zKaFDUky2AF7ELPJvTQ1AzYD3-wP477CFs1sn7InMs", + "y": "OkmEr6q6oNsU0xNibn5ap9JU2f_Yig5V-oi1iDl0mn4" + }, + { + "kid": "YI-vIKoQ8gU", + "alg": "ES384", + "kty": "EC", + "crv": "P-384", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "OVeh8GfztXi8JzcHVzTH6YCWIL9h1aYQCKBYOe_g_gMlvAnuYHI6qtpjVKuJ6jdo", + "y": "r61MFfXh7QDT6qJTAtEdMeHAHwazP3ujRxZ8dEVK7MEKPgvKoL3fvvkPORb48qqM" + }, + { + "kid": "c1_R1BIboJ4", + "alg": "ES512", + "kty": "EC", + "crv": "P-521", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "AffvrhlOGllPEEm6FzwhG2k4eAIADPNBANqdikosnz7JLwo4fPo71GqUm8j1KNuyitQBJoEYn_cNzf8kUjQSfEDN", + "y": "AduD2CYdTBtYLPvjTdQCLFwdsQD8pZ_yG_CBmk35wZfRLQM65_q5PGfKaZECjnsjZ-IzjW-KIDAJA35UIJSfUHuA" + }, + { + "kid": "HN_sEslRuEs", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "ndBX6MnSZ38SVFt8B5IvQlbb37B9D2uX0102ESmr4uV3LI9ZjR2XBUpG7UHDigfZazsJTMzLx3N0Os_lA_FW4_IrghwY267dg-uz8ExEdySqXDgPmskNXgahIyFKgdm1zpkrFpT7KF6V2o9S3E916syy4j8VanmyaY5pADG780Mqek6K71nYxXrw_-hQRq8SvjtWSeZLKcKLc84CZ3XXIIPk4zIZEXCNpltRUtVt6vJcyF57UG7jEAMv8Z-P6ITggkCNQDEeE0ymXw_wn9bu8BH8vgu8l9Fma5Es3EOEu_JSM5eB0SmJIdXsxj-muHcq-WOb5op0BJSBdwnhrzbTsQ", + "e": "AQAB" + }, + { + "kid": "2jgr0-gipjM", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "0FrJdXabNyQiiMIW1As8i2K1hXGyOgCVrF9fPd3YjOFC8m8ic5oLacPjm83z4tgTc-asvD3TaPvJutmfBFW_9kMzKwWNrgCtfusG2seRT6kX_rrSacdM7w9X3fZTnCmoNixm2Aj-RIH0Dq_dX8dWAlNL5MUlK5p9tf3i8fPiROceiBUdVKUFjVMR8VjiOWs8yaZT5uI1qluAyBjgfrLjy_VhHok_sPE5ANbkNuOkc2CZzE_tnic-_BdiTPL3vOaBvZrDPjf_wL3kXCxrQRxUr1IXFH7ofXWCqmvGKWcKsbDWpEnB8xO7WxfRJV8ONJWrOOwgk4wByFaGZlA3263dcQ", + "e": "AQAB" + }, + { + "kid": "JG0q_Y7kxuo", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "ty0AdtoMLhgCdLr49VQheFP_IK6qVme2zcnhcdaKCn1-sSIWx1llAZcvuR1ozKczPc7kkvrMPoaoK_P5yYY31IwIJ0p5SVgKjJUZAVUnhGouUvFxl6B9JQRC4XnjVICSK62tssOoGssGnEqPEPFIDQUGZH_V1BQda42s90yKdjDTvk30TGdIW-iaGQJQCuErqsKY0e99IIDmEqXz_YxoPUylU0JkTJHarlqZcan-unCpG5UT1YEt1lmYFbR9Nkoc72yV4wKMEbnjsAXGdHoJpZvXCUkMrHA_k3shn6XIrPiG8D-sgmAQH58AelyPi2qtyR6fP9qDZNaDliUrVtjW8Q", + "e": "AQAB" + }, + { + "kid": "QMmYGkdbNBM", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "Z6SUSS5fI-nzlqeukxjAIT7XOaimJbnjq-RI5r49IIQ", + "y": "8RYPs7pQUcyGHyheYMjCsuNrdRqrQhHqL6Fpn9czpTc" + }, + { + "kid": "mMXBQeQN5Ps", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "j_4nnnUwm424i-nCXxvt-zmyMZYKkniMUDojnWcnOsdZ-8l4dDIhXqCaQDHe9rLLJvEx0-2LToKZ9T4rN8jxEJiZBbYOtWrA_jOk4r0Jvjhd1w_NYVdW5s7mavZHBE-G30r3YXl5nObN2nJ5RLyX1ZnhfjdnCR7V0KyhyWtr4GG0uGxQAXlC7dXedgBIV5W-78glZAB4QcWE6y6dgio6x5kWks0caG33WEjPypoWunXXEwPh7k1KJCLguI0sJ2gHcYZ_bu8l1olIWVIQujoAKzwFbtcnuhMo-R3Ti9xz98PvfO0Dv1CcX4hdLq11WeEQa3fKfdiDu4fHjG2lCAJp4w", + "e": "AQAB" + }, + { + "kid": "Ag5BEQ1B-1M", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "ERF8PAingbcsZqyAl86B_gt8GnNBQhMLg2JOLiuBr5s", + "y": "bAO8cLsevO6tYApVT9WJLSdobPgbq-YcawKvcZG4QLY" + } + ] + }, + "id_token": { + "signing": { + "RS256": { + "privateJwk": { + "kid": "xgPnQuxcIU8", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "q_5cKxUqZRh5h53L9B2nGYfHipHt7z-byse1qKwEuVSUfFUsGdyt30a0iVr0r2Gxd4yC4eqVcg0IE8ddUpWCWuEbYh_KRLcTHI6t8uVETJChuuMlaUstl9pT1u4a5nK3sFdKl87EUodw_wJgd1TcVnAmSpAzynqFfLGItS6ARb_qX7SVlj9gjyo_jwua41NQM8rbSl6iW2yW5zQA-XPChcxR5G8wggDned4e_FDDCW_iBVI5akU5o286avqwSAgatcyJYUTA34D9XgR-Rin8Gm_-uV1HrlpAsWbebSNRSaKR5O_Fb79zWDJ4iNxekFkBP5fC9TukeQCF3fMbJ13IVQ", + "e": "AQAB", + "d": "BDhz4I0raVtGMceNTeQJ_RYxryFqzX7Dfu1gDgLynSDWZ_RBgDAqU04aRG8AwOqZZUEDpGTFeAzNaiOi4ATrmiyBJ7fdMDFIScbo8KRWa1HDqW3FHD-_bBHsEfXtbEKozHrH4zb5Ge4mHeV1oos1jcJAxLGj_U_JkmH05D7lrOoNu2hdYZYHLux_Ur0CmlSxlqyxxDK1YXtm01sfz7kFcQ-mZo_ACZu9UmCItGRpKRpobSdrMjWbYCYGhGVhvKI_r-YhMjX0LVYSS2z8kKFaDI715HPWWL75FYIHwnpm-UQCWB0p9kkUinQMxXkQBfhTf5XvK7r4PdZ7raE8OiQGQQ", + "p": "7KscIdJXlYaSBp_WR2P5iP3RHxzknd_O1ka4deiStlqamN2zxpJGypFVbxhMwCWa0sovS7FvZHeqMkvDTBdSbv9ZE6jHxJOyIee_KaqRNzn_VYz6KYaY4_t4Uqz4XyAyR1h0OtgGWrJgbZy7w4zx-BUlWFbHSFXI9o_9qOOFosU", + "q": "ugrboTRJumP8PwqZPVELaKDvIHsVObcvjEs7RRTCC0vH0tgZVSdRWVkRehkiCnsYFlYwyRrskQwXgrC6D3hQH7Pem4U9J5RztBigMb5oXUtASucGocV84FfV9QSPMR_Tnt1tK74s2c_5U0y_K2Nd40Mdg7paYrHbqQK9-j50qFE", + "dp": "4hOiT_yqhb-DBqjw_ElYObCcb2geS2FcJ_xugNOmMmPiglxmOy3ISgEC55kC2BoUB3_0Jg5dJk_ZWSpeaPVuXXG3GbyE-BdOdmz2g0rYZTUV4BdHcRuOOVoi2nc420XaQaURgpSRnVoAGzU5d9fP3Pf2MKjUvRiVXFK4MPkG0zE", + "dq": "eBnyV0suHYnWmcv5yT-8obrjJJDQzwWXSHZ4uMwByNEPGuou0G4lcgyx36TB-QomLqVNsUYUWj74HoKAWuRMtWqk1rlZFWgcmbMcF4DYVwHxa2lhOqYHS7zoftiGqCvnrbM8evS2d5ZvWns9HoFzZvc44oU3PGedaqo-goI3RUE", + "qi": "lmS0_jLCfUyfaVcv-UjrInFpLH-4v7qO4sZdlFu8TQ-U05B35BpptqiASbRP35aObajVQEf_7_MT3M8PUPGFSvgFafaLpSKI1nLw2_M3U_TNl7JB8vAHVd4FlFDUkBmC7MWZpaFCo4cAviAp2TeKEGiS8TnZSawvgy5Zs4QG6Cs" + }, + "publicJwk": { + "kid": "81OJU5eDmA0", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "q_5cKxUqZRh5h53L9B2nGYfHipHt7z-byse1qKwEuVSUfFUsGdyt30a0iVr0r2Gxd4yC4eqVcg0IE8ddUpWCWuEbYh_KRLcTHI6t8uVETJChuuMlaUstl9pT1u4a5nK3sFdKl87EUodw_wJgd1TcVnAmSpAzynqFfLGItS6ARb_qX7SVlj9gjyo_jwua41NQM8rbSl6iW2yW5zQA-XPChcxR5G8wggDned4e_FDDCW_iBVI5akU5o286avqwSAgatcyJYUTA34D9XgR-Rin8Gm_-uV1HrlpAsWbebSNRSaKR5O_Fb79zWDJ4iNxekFkBP5fC9TukeQCF3fMbJ13IVQ", + "e": "AQAB" + } + }, + "RS384": { + "privateJwk": { + "kid": "6a3IwSfD5cU", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "ycT-w7AP24g0FdyDa8AL3z7pSEyDE4Fp9mDFxLIate0n2vfBD-9yZJBG11QrnYKneH9XTT3ZrcfHgpmSaprG9f1UzodJqXYclxwcNbvpvMMyNpIz51uX3Kuoy0bDKC4rWApB5kKsBb6DHECgOTLvS7Ues1qvxiiq5cjFHx3g_GD0RdnE-UVmNaCqH7RYaz1H244vqO66lfrXqsMjVbqlwlp0BxD-YIXAmtiD-YV4VroBtNzJ1LAaUJZFAMVIPTH_ICj4ousP_N2kkGvJYwBx9YCylqqOZLql4-EZ5W8MqWBpMhANVFuLWAHkcKv2uHMPln8kINUc4HpJNG0M-1IDVQ", + "e": "AQAB", + "d": "LIlhOsyoE2szJAgyshwIAtUeJSlOXYXZX9rojIxLvRCGFZ1ObjgKZgw6ttkLb48hbEWffZtDa0qHzVocqY9Uj4PFrnjKV6-MjAZWa7340AO-F7GZ512eXcU-UvBhr4LRanOJLExXMEVnJ1tUgoutqmZmSmygE_tyDZqNeFreCJbxpnVnorfnEKRKBpq3EJHqJT_Z2AvNP-MXL4N_-ecxVk-p28NXrGHuxCwtOSprrr4uepcCsN6N0KhswTigCB_AYfl7CX_J4uVPpWbTkCnySbXwQqITz07xB8ZN79GPSv2dE9vx1TaJKj5vDpmchvM37eP0JC_4axbhnm3IAkotAQ", + "p": "7WytLKbAriZF1bmypJysVOiVMcLMGxAyQkOcn3RlNMs-zwF9SX1pnw_Zfgn7MmO6ukO1YGgW_otYW5FKp0sjZTs_yq3PJ-58ads-MnDFHUMDcRiG-L5aCvZjwY5bW3OQvEbWFTVH80zOQcFzTNVCOWfUuDuyvZQfUBXNf7gj1LU", + "q": "2Y4xQ-g0fHKuECBpBXjTgt-Kr9K16ELrZEQrcaC4YQwLCsmrklkeRQplP_T_O7MvdpKA5h33qtgjPFU6ZyucRY6EpQDYUOodp2NXH9SCkdPcduQi-ZyPY6Fw7VgKnKMN7l7WoCYB0dzX8Zfio0tbnJPkiWkdMbFhXeWLXq78OCE", + "dp": "6PyUlBSvUDZOoYUxQUhd9JSok8RM9uHV8CDZOcDG8B_i6tDTWaKwW176Vy0ETFaBjveSraB3sCKd-n2BfNnHSjfySbp2ZwEpJdf4GReA105DumAPU1m4krlm-zHvhLbLeXcp7nXyvVbJsM1dkDBWZG732DL9G_yXHcfHeWYCA2E", + "dq": "hnrF60MbRp4hCKjwIkjI_goukXa_qV3MYgNdk3SU5LBsFvQIkYNzGZxOcBWCvCWMPlBbS2PU14-ZYE8StfmYNMrfJZv7GzFMuU7H6U4UlA4RJpDpKcDkReLiimQ00xRbpTCMnRxBXbeU6KtJlkUb0RL-Xw5R1IjgNgmReCrUj-E", + "qi": "acyg55gFgjJoffXLmzfTWRORj7psPnEwvVKVDlC44w1JCYNl01MW923TdH_6hsZvVt9ZxW2VMu-cxcAz4HVK3N1nykTtrop_dCCItNrLim1Z5xsOrirHy2Xia8607KhiXHLhYLqQ62bJOutNNQDQ66cLPdc1qUY2wLl8zZ1xweE" + }, + "publicJwk": { + "kid": "2Sza_d60oas", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "ycT-w7AP24g0FdyDa8AL3z7pSEyDE4Fp9mDFxLIate0n2vfBD-9yZJBG11QrnYKneH9XTT3ZrcfHgpmSaprG9f1UzodJqXYclxwcNbvpvMMyNpIz51uX3Kuoy0bDKC4rWApB5kKsBb6DHECgOTLvS7Ues1qvxiiq5cjFHx3g_GD0RdnE-UVmNaCqH7RYaz1H244vqO66lfrXqsMjVbqlwlp0BxD-YIXAmtiD-YV4VroBtNzJ1LAaUJZFAMVIPTH_ICj4ousP_N2kkGvJYwBx9YCylqqOZLql4-EZ5W8MqWBpMhANVFuLWAHkcKv2uHMPln8kINUc4HpJNG0M-1IDVQ", + "e": "AQAB" + } + }, + "RS512": { + "privateJwk": { + "kid": "vu1oWpQDBtU", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "pnK9keu3Xuxq3GT1rG_orokW6uMjx49hop1cUFCxGOK88vywpSQfIz_oBhY7HkZ1J0Hua_ZcmFFD3XpgG37MQWzDX0xB1NVcLQ6TvXx5Qj5NwhU4HEF2-ru4Je2MEZYDpHL8qh5dZX1CDWNMoGamahrfiTHGi1XgRKKfRaJwH-1uQ1PRT_uSZsscn39xjzQQNHWiMUtIBAUePDlA9G-Cu31tdpTVagK4gFmMjoKZxDvCU7Z56g0IA734iExSCPavItD9mHBuZF4lrPpLHUiJk6L8vEyK5wntY7VS5i_XQkrQQtC453DG69EUj0_woNnOiMIEaV4RY6GDUR0ZnXoE8Q", + "e": "AQAB", + "d": "CIn7IfLp6Lmf90_KHzcsBJU1muX9cknPqFYik9-54CUUrLIMNWKjos0u3-4QyRoz_Sg3nSwJvsovfTufldWE0Mftw3Qv7eVmucyFRYuu1FhKKK5qPx_YJN-PwEleHdJYfD2mautNHw1kn7d0CUgO2kNn65vFO-VzUI4XteyyDB8uxc1hMTTd85n1-LHu4p3qMy_vmYjt5pVq91uQSTAp4z8eVyhz4yk4GysSQZAg0pAbepw4beuAZm6qZKVPjeSw6mbYu_Hjx0xWfsYeRHlCSPzhzbhmwIORFEqTfngV_rkXlIdwp_e-Qeci8Mq-RyC3TXYECdHj_iVrQ77qN3ZZgQ", + "p": "3QyBbvrCTm90-bDJhg8K6pKKgmmtmAuJq-FdOH-JnLm_dFZsPCQ8DSkuBUlt9AQrsApHp306atIuGxWnB6XUXGcxPKyqE7qt5Ep8UmGWAQBq_rm483WJpUkJzJ4aFVrd8iPyI0vJLNiDjAI9KKVaCxCVUf0nuXmIKHQC3rTVprE", + "q": "wMQjzymKw4kWzK4N1GM7e5IDbgSpLiWhH7NTORBYr89Q_OIUjQFHJg1sFXSVTuLHjV0l6aW3PrwM4o3hK7lzhkPBjOmiJod0I0MOQhbdxauGIVAykb-n7Pj-Zxt88UnhUsLqo4yRMHlSlvnZAyyBs3JwjxEuFjNpanXW_WK2UkE", + "dp": "Mntjp-u-qlkL9uYn7-TJkm6rEUN_MKUZ6NYMCxYdYFyPW8tM5qNDz6Gi7_QoFz1ImOiQGrEfwTuE6gyU28tEZ2HtvbSVFvJgOi3EnK_KqSnmRYw2r-sc51F52nAU9uGMpHsPFn59UC-WQ0hTnU-9857y6wmMo_AcZ1ivOxtDW9E", + "dq": "Ar6IF_nqbNA1z-ImdkCXZzHz9IwCcJK-kXn3FFfkO1SDPaZmTn-XKLaGNGP9gCsAVkXeNU5TpoP81vjYHMw-Fco_JidpVI0XHS1mNZCnxZmkhjLjFWoaFOiSjps4kyLPH2OA_aURqBQCFf4mlcH7creNXKwM8On4dTiKP_84w0E", + "qi": "PmbMJjSVyeD0r8AsxZizufvOHY7ogJ0L8hprgNjQMalp5_dSZrqkhcYsre_E-y6uBkjptPiXVWet9GOyeLSIX-cu1YVWYUjNDsOAS1mZHxTI34ZqK7nLe-52JW02SSAiMRREHgIBN5u9GilP_DG4S6MmONdH0J15lBlPwjoXc9c" + }, + "publicJwk": { + "kid": "eNNC0fwBa3k", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "pnK9keu3Xuxq3GT1rG_orokW6uMjx49hop1cUFCxGOK88vywpSQfIz_oBhY7HkZ1J0Hua_ZcmFFD3XpgG37MQWzDX0xB1NVcLQ6TvXx5Qj5NwhU4HEF2-ru4Je2MEZYDpHL8qh5dZX1CDWNMoGamahrfiTHGi1XgRKKfRaJwH-1uQ1PRT_uSZsscn39xjzQQNHWiMUtIBAUePDlA9G-Cu31tdpTVagK4gFmMjoKZxDvCU7Z56g0IA734iExSCPavItD9mHBuZF4lrPpLHUiJk6L8vEyK5wntY7VS5i_XQkrQQtC453DG69EUj0_woNnOiMIEaV4RY6GDUR0ZnXoE8Q", + "e": "AQAB" + } + }, + "ES256": { + "privateJwk": { + "kid": "xzgNAbFt23I", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "sign" + ], + "ext": true, + "d": "i59_8Knb8bLj6xFpM7fVQ5G_XiLdBfum1Oope1iV5oE", + "x": "2zKaFDUky2AF7ELPJvTQ1AzYD3-wP477CFs1sn7InMs", + "y": "OkmEr6q6oNsU0xNibn5ap9JU2f_Yig5V-oi1iDl0mn4" + }, + "publicJwk": { + "kid": "UuMO0zvVjRA", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "2zKaFDUky2AF7ELPJvTQ1AzYD3-wP477CFs1sn7InMs", + "y": "OkmEr6q6oNsU0xNibn5ap9JU2f_Yig5V-oi1iDl0mn4" + } + }, + "ES384": { + "privateJwk": { + "kid": "6HUSANKuI5Q", + "alg": "ES384", + "kty": "EC", + "crv": "P-384", + "key_ops": [ + "sign" + ], + "ext": true, + "d": "fRIjtLmEKvCImlzIalJ8qisA6USHBiz4MTRP-zaRchcp5Feyo8yaxksUnEwYhcGR", + "x": "OVeh8GfztXi8JzcHVzTH6YCWIL9h1aYQCKBYOe_g_gMlvAnuYHI6qtpjVKuJ6jdo", + "y": "r61MFfXh7QDT6qJTAtEdMeHAHwazP3ujRxZ8dEVK7MEKPgvKoL3fvvkPORb48qqM" + }, + "publicJwk": { + "kid": "YI-vIKoQ8gU", + "alg": "ES384", + "kty": "EC", + "crv": "P-384", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "OVeh8GfztXi8JzcHVzTH6YCWIL9h1aYQCKBYOe_g_gMlvAnuYHI6qtpjVKuJ6jdo", + "y": "r61MFfXh7QDT6qJTAtEdMeHAHwazP3ujRxZ8dEVK7MEKPgvKoL3fvvkPORb48qqM" + } + }, + "ES512": { + "privateJwk": { + "kid": "NReMWbc5hAM", + "alg": "ES512", + "kty": "EC", + "crv": "P-521", + "key_ops": [ + "sign" + ], + "ext": true, + "d": "AesYhjfLWA_YCNKS9pFmhpK500-teLPaFIri9VWpvfo-JYzdeaLcSxCgDE1TCxbXvMPtcbkoThgHhlD0pMAj8Ql2", + "x": "AffvrhlOGllPEEm6FzwhG2k4eAIADPNBANqdikosnz7JLwo4fPo71GqUm8j1KNuyitQBJoEYn_cNzf8kUjQSfEDN", + "y": "AduD2CYdTBtYLPvjTdQCLFwdsQD8pZ_yG_CBmk35wZfRLQM65_q5PGfKaZECjnsjZ-IzjW-KIDAJA35UIJSfUHuA" + }, + "publicJwk": { + "kid": "c1_R1BIboJ4", + "alg": "ES512", + "kty": "EC", + "crv": "P-521", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "AffvrhlOGllPEEm6FzwhG2k4eAIADPNBANqdikosnz7JLwo4fPo71GqUm8j1KNuyitQBJoEYn_cNzf8kUjQSfEDN", + "y": "AduD2CYdTBtYLPvjTdQCLFwdsQD8pZ_yG_CBmk35wZfRLQM65_q5PGfKaZECjnsjZ-IzjW-KIDAJA35UIJSfUHuA" + } + } + }, + "encryption": {} + }, + "token": { + "signing": { + "RS256": { + "privateJwk": { + "kid": "jVcud3L70YI", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "ndBX6MnSZ38SVFt8B5IvQlbb37B9D2uX0102ESmr4uV3LI9ZjR2XBUpG7UHDigfZazsJTMzLx3N0Os_lA_FW4_IrghwY267dg-uz8ExEdySqXDgPmskNXgahIyFKgdm1zpkrFpT7KF6V2o9S3E916syy4j8VanmyaY5pADG780Mqek6K71nYxXrw_-hQRq8SvjtWSeZLKcKLc84CZ3XXIIPk4zIZEXCNpltRUtVt6vJcyF57UG7jEAMv8Z-P6ITggkCNQDEeE0ymXw_wn9bu8BH8vgu8l9Fma5Es3EOEu_JSM5eB0SmJIdXsxj-muHcq-WOb5op0BJSBdwnhrzbTsQ", + "e": "AQAB", + "d": "04UMTtczS8TlrGtyMjOdZC1HRuomtSRgusuUTCyuVc95jCAWxy2B3XVQ22_pxnf-0dqu_GECQLJedvVu33n6HEvaROmj587Y2Jhy9QFEQuzB6hi50Zzobb40_AEC_EfxhpeFSR8mA1XDRM4VIXTfd3YlzVkAO1Yh65kU403FvKWOtVaVu14BDeEAvHVOecmF099BEEKaakbF65d8jOjtgI6qeaA-RkdkGTH3CfxCExKUkozKlI9jR7vIxRv30P7wStXBcD94A6H7LNecSo3abp0fyGKurGuGYi6NRUy7lGMyM4U5NOYIrvlXUcpqwx5AzIBxI5xVCVknNdknCsgp", + "p": "zbfeeLvfctbMIIpSBSpEFDQ5U61JjOWtOErqQyqZmJRYZ5wjLO1iFfZDNliwzrCOR2fAeAmc5L640bwjfOzh3k0zJwBkRqBde3MQEOn9aIbycofxvBc1bse7DyX-soggglvxq3ilpL7OxlOkAeMqWCcC5PXYg60Sx6b8API-6yk", + "q": "xGMEUq9dH_POYxJ676v4GTgcP6b0GOCqBzEyh0TFgUtdceApJvgdRAUVWn_ShILLTPIZf37jLVjBCl16xwf5XTNzBH6nsylehi5AwayWXOuGpN4mVqGMDupHwWtl7Q7kWfz6G4_qBPd-IdhxgAyTyIgjiujSajd6H5wDiPf1PUk", + "dp": "meJxCN-Axubmy3Cs6jAzvOlT-MQnwL4OVY20r4muW_ScLOUfavwn40XUAVNW70YjKEb0Mtb-Bh6lIj8aTNjmHOSi3wnr-Oj9BNuNqRlf9lD8C7Clo4246qV9yFcjr2kk6F7e6OXXAuW4x6LJjJ_hjQ-hmqRM0jMlWTQQTqTnbAE", + "dq": "KuhzdlloYGXVjyHniFwrfd8blPC2XoUfwSiHoLRu7rv3s7zFYQVO56CwtLA-38LwBmTTG18u5aaBrvETtU7RtgJau_2sSGHejDSo42gBBlZTecwr1ju_rTaU7Pa5M11QmTTDtKfx-pnUjjKLQe39kA_mrCAIcTqjzSo6P3_lrjk", + "qi": "Ea2RuL7mzeZf89Uoq5jf1XPpOjj7IV0vy4u958jIIiLt1JEd3sJZKgsWc0XIQc_pWQI5H7VpeuTqKFrNdCdjCEKeRNh9Gbowx_odK0uLgGAZXQI6znXo1sY3Rs05fvtKddaZY5vvDilhG8BaO6urJGx7yeR4G_HSLtCn77KPFVk" + }, + "publicJwk": { + "kid": "HN_sEslRuEs", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "ndBX6MnSZ38SVFt8B5IvQlbb37B9D2uX0102ESmr4uV3LI9ZjR2XBUpG7UHDigfZazsJTMzLx3N0Os_lA_FW4_IrghwY267dg-uz8ExEdySqXDgPmskNXgahIyFKgdm1zpkrFpT7KF6V2o9S3E916syy4j8VanmyaY5pADG780Mqek6K71nYxXrw_-hQRq8SvjtWSeZLKcKLc84CZ3XXIIPk4zIZEXCNpltRUtVt6vJcyF57UG7jEAMv8Z-P6ITggkCNQDEeE0ymXw_wn9bu8BH8vgu8l9Fma5Es3EOEu_JSM5eB0SmJIdXsxj-muHcq-WOb5op0BJSBdwnhrzbTsQ", + "e": "AQAB" + } + }, + "RS384": { + "privateJwk": { + "kid": "h38GV_7OlZw", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "0FrJdXabNyQiiMIW1As8i2K1hXGyOgCVrF9fPd3YjOFC8m8ic5oLacPjm83z4tgTc-asvD3TaPvJutmfBFW_9kMzKwWNrgCtfusG2seRT6kX_rrSacdM7w9X3fZTnCmoNixm2Aj-RIH0Dq_dX8dWAlNL5MUlK5p9tf3i8fPiROceiBUdVKUFjVMR8VjiOWs8yaZT5uI1qluAyBjgfrLjy_VhHok_sPE5ANbkNuOkc2CZzE_tnic-_BdiTPL3vOaBvZrDPjf_wL3kXCxrQRxUr1IXFH7ofXWCqmvGKWcKsbDWpEnB8xO7WxfRJV8ONJWrOOwgk4wByFaGZlA3263dcQ", + "e": "AQAB", + "d": "BlXYXdi9J_xSi3-BU7HCxcc610OphG97nZnpyrcJ7GC2GSqNbN_wfGcPLu_gfFOPJd1L_85OdRkA3Yxb9DUKSPnqnqKE2BdfryYE15atYbN1zhJOrxY3DebUyGRCzxMKMRmBCA0f9CPScLbiv5SPVjNDscFX279PFr9RTQOaK_egDH_eq98zykz2kL5dO2ubFXlp9qQsWKzni5XO1HCGgL-8kgip1TuZUkSaCGChsrt5aabJ0WLkt2CXckeVf_a7Xr0vf3sLhCgDzy0MltmaP4LY1U-Xd80gnjo6wndWfMQLkQ3xh8Rpfp9lgWIKxBe9Hmo2Q8EAHgJThfSo8sRu9Q", + "p": "8Pn6dQHOQyFQxqVXeLUS4Jk7Lx895n3TO3vIlQVTjnUhrnMVmeUc62uW3eRH8Yf_xrDo0mYtuqb1ru_NW3Q7svquSdWxWoJ38v_4smv5ZeSZ_5FCB_C62FsTahmfkDhk8T1YTLbIFJi89AtSkcFNCO4F90cOLH8IvyinUdr9EoU", + "q": "3Vgos9q9Xd1xmEDewv0n5VkcPdsOAYkwJaH0c-i03eUi2yJAobsSwzXfzCFifWYa43hi1rlYNw7KC6LmXpUCoqMfDy2OACOUmbCfRydEAAYXFIFqtB1F3kLGbJvLVp5ayZvONyCeWYPGJfAheJx01MKFuYm8UO7vevXS60d1UP0", + "dp": "nKNhUj1iPfCh-P3w5d2N78Cq3-6G5hRUAg5sS7Gypp8szaCxId_z9HNzFbkVqsKkWBsWu-z_PJzahmQKMLBVPfoE4KmvJw43uhT5K8FT1A_MqntZWJ_6VDifXhBZz_1YYBdoFjWZyQmfiWLywRvNX0iZSCs_41yP6vIaEPMwHaE", + "dq": "EDcCHFLc5oBvbujpqL0k7A9AG2Ptvb0QEuGvZ8JXZZ4AlK8IrxBmSniq4Whcr7UIKTvLedFwHfBuarXPTIR8AfATOWhr66SvoSaoNG0y9RF9JVppt7IhSSv5H0G2fqzxF63bSHySPRqDLIpP2WcUw_VQGIx3iDJIxug1QFkmxf0", + "qi": "hFILWRYRHK74Y3S73Xv_O_9gDRzEPHVE9baig6H4HSdLxCbdc21m7ajTHqM1hvzx9guX1lVpExebgI7SC81xSVu3zBMhLCQZpaeVWPdDJcnCa8J6Qe3_82TOje2LHHA0cn9NWigsUPdMh9qNv4yas18yqA0oJrfCJLFtjFYTIjM" + }, + "publicJwk": { + "kid": "2jgr0-gipjM", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "0FrJdXabNyQiiMIW1As8i2K1hXGyOgCVrF9fPd3YjOFC8m8ic5oLacPjm83z4tgTc-asvD3TaPvJutmfBFW_9kMzKwWNrgCtfusG2seRT6kX_rrSacdM7w9X3fZTnCmoNixm2Aj-RIH0Dq_dX8dWAlNL5MUlK5p9tf3i8fPiROceiBUdVKUFjVMR8VjiOWs8yaZT5uI1qluAyBjgfrLjy_VhHok_sPE5ANbkNuOkc2CZzE_tnic-_BdiTPL3vOaBvZrDPjf_wL3kXCxrQRxUr1IXFH7ofXWCqmvGKWcKsbDWpEnB8xO7WxfRJV8ONJWrOOwgk4wByFaGZlA3263dcQ", + "e": "AQAB" + } + }, + "RS512": { + "privateJwk": { + "kid": "FaGFrykZsME", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "ty0AdtoMLhgCdLr49VQheFP_IK6qVme2zcnhcdaKCn1-sSIWx1llAZcvuR1ozKczPc7kkvrMPoaoK_P5yYY31IwIJ0p5SVgKjJUZAVUnhGouUvFxl6B9JQRC4XnjVICSK62tssOoGssGnEqPEPFIDQUGZH_V1BQda42s90yKdjDTvk30TGdIW-iaGQJQCuErqsKY0e99IIDmEqXz_YxoPUylU0JkTJHarlqZcan-unCpG5UT1YEt1lmYFbR9Nkoc72yV4wKMEbnjsAXGdHoJpZvXCUkMrHA_k3shn6XIrPiG8D-sgmAQH58AelyPi2qtyR6fP9qDZNaDliUrVtjW8Q", + "e": "AQAB", + "d": "LxLHjcOXYbkV2H28QP-v4kZjyDha2f2pQtVgtGqX6v45Mrg59l0I0hHSV9Yw-nb1eirTHtqI5oCgczsttBZj_qFF7yL6bFjNzTb7yBXkI-lNok8eDANYZczkiyFRxIOODN-DRe92IfyO5Fdc0NPQ2leyPt2DTA8nSF6OVrc61ghh9Hd2VIOQETvSaO6Z1wrkgoMqmAWphRY3RLgACyQUkP_RJByDo1WI5oAMWuqUFcKlektqHTj7QJpyzHGjlhioYfSPUFjIbxsPgdWcD4aRpdXxhwfM2EwKLTuTmJkJdaXfovQhiyVO_mDu4Uet8b6egyFiSrZAimxTEsfKlsHpiQ", + "p": "95_UbvC7bzQPoDVa8M8AhI5mRE7KUv23v8s0-EkPkF-PHKhqMH3-nyb3_y32FfsAbosA7TUF_Ve6RrUU-qInxSX5dRmTYVPAet0scej-b83t_d76lkFgUTNH0kUrlAtQ6PptVfVKhpMeMQQ_oRunC_sfOO6kbUog9gfimMe5RGs", + "q": "vV8dRk73M5WIe1orNLWegj6Q2EdvcHCsz6ebttyVaTk1bhlDZbIp3KY6GLbvigQCljzIQCdCTa9jh6DSVrcXNYwG6h0QTnbI4aaZhZfv9H1dyKxt9YUaDBZ71Q0CECvVcOUDjGadbI1DqA868rtUm02HLPsj24sV5hg7vfZTCRM", + "dp": "tW87hMoIW9OGe3l8l6LkmzuHPReJ8UMLppDqz90gdUU_I91WaQ94R_6SiTuQ6swNpfFdjXBjYhwsVXCK3ZWAlFhdrmo97XsjNiLmVNRF0X_OmEwPyZY_T1_GiQ-7fW7JKtuKzwe6Ql57KakWQiJzxDiMyPc6LQW6nupqIk18tt8", + "dq": "b_7bimRTMI_EGue128N5zh-AfFirIH2SxnCi19_XAVcTMV0BjhhzR4qLm2g9fItomD-0UrSlMtqCa4kCPMSllkaNJFIx_aWkokdsTiUQhbDLEU5g7a5dPD7j15mM2dGCtvTKR3O8sKFPHQp822dM31hXlJOmnkXAmsdENdGDRD8", + "qi": "EvyT5o-_y9Fj_BI9isDdbRwEDU8aUFKV20dxBj_LmTQsVRV_ishGMMyqu_f-hssLFtcDGfX5ReWv7lCPc51wyQ8YxYo7ZbES5kiXtP1SslS5134YAeELenRpPBGec-wQDo5cFNDClcDZG_kU5EApTXL-ieV7-ryztUDDzRZPkF4" + }, + "publicJwk": { + "kid": "JG0q_Y7kxuo", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "ty0AdtoMLhgCdLr49VQheFP_IK6qVme2zcnhcdaKCn1-sSIWx1llAZcvuR1ozKczPc7kkvrMPoaoK_P5yYY31IwIJ0p5SVgKjJUZAVUnhGouUvFxl6B9JQRC4XnjVICSK62tssOoGssGnEqPEPFIDQUGZH_V1BQda42s90yKdjDTvk30TGdIW-iaGQJQCuErqsKY0e99IIDmEqXz_YxoPUylU0JkTJHarlqZcan-unCpG5UT1YEt1lmYFbR9Nkoc72yV4wKMEbnjsAXGdHoJpZvXCUkMrHA_k3shn6XIrPiG8D-sgmAQH58AelyPi2qtyR6fP9qDZNaDliUrVtjW8Q", + "e": "AQAB" + } + }, + "ES256": { + "privateJwk": { + "kid": "KYo7VkBoCF8", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "sign" + ], + "ext": true, + "d": "WEAo81zDGKfWiQpEn6iJB78s1E_DLX-mE31jQ4HjB-8", + "x": "Z6SUSS5fI-nzlqeukxjAIT7XOaimJbnjq-RI5r49IIQ", + "y": "8RYPs7pQUcyGHyheYMjCsuNrdRqrQhHqL6Fpn9czpTc" + }, + "publicJwk": { + "kid": "QMmYGkdbNBM", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "Z6SUSS5fI-nzlqeukxjAIT7XOaimJbnjq-RI5r49IIQ", + "y": "8RYPs7pQUcyGHyheYMjCsuNrdRqrQhHqL6Fpn9czpTc" + } + } + }, + "encryption": {} + }, + "userinfo": { + "encryption": {} + }, + "register": { + "signing": { + "RS256": { + "privateJwk": { + "kid": "TubTIip6QF0", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "j_4nnnUwm424i-nCXxvt-zmyMZYKkniMUDojnWcnOsdZ-8l4dDIhXqCaQDHe9rLLJvEx0-2LToKZ9T4rN8jxEJiZBbYOtWrA_jOk4r0Jvjhd1w_NYVdW5s7mavZHBE-G30r3YXl5nObN2nJ5RLyX1ZnhfjdnCR7V0KyhyWtr4GG0uGxQAXlC7dXedgBIV5W-78glZAB4QcWE6y6dgio6x5kWks0caG33WEjPypoWunXXEwPh7k1KJCLguI0sJ2gHcYZ_bu8l1olIWVIQujoAKzwFbtcnuhMo-R3Ti9xz98PvfO0Dv1CcX4hdLq11WeEQa3fKfdiDu4fHjG2lCAJp4w", + "e": "AQAB", + "d": "BN-ftajWmnijV_WFnn2bptaxOAC2MORaLtarM1lZuGqTLKt22l2nbFahOMBuN-TCJFW0qwibVtx-LcfB45EJqNcjpZkft7_n8k4LK-oAmbQDjIDhIamUGdHDv5NSnEwGfLv5iOoLemYoScTm9Y7C0NOHNP9pCzYf0jeMbkXLNQ7H9NNhwhce6KXkqy4kijiVLqj55p72DHgvw7VNOuFLym-1IAnuO2uzL_4p6uMqwo6_3lHRJB_PdG4svGL1cTpp3dLOuSdo9m5JZVCArMoS-oDFsUI-0vx6FO9MYk-z2wzyefV9a60N2K81wXl1qnc_edhDy5GkJ5QWEaFdeqr_2Q", + "p": "w_7GIYJ02hFlKeYk4nSrzzvK_-1aWLxPmX0TDfUrFHopXs-5m3uqkovKFUxvEIYvOwl9sFO7VcUNcvJp4cbYD1JJFJ-1g9ySZAHdx7afBrlcVfziPfAziM7VoRreSXd_wqx1x52TSwgoYAnABoVNcUce3a3FqgbC4uS4z4Yhe2U", + "q": "vBOqEjtRQe2TuJOONAkzLSPe4G1_cuXeSnnF6nD9Y_abDEGcUV4bBSQvGso2-AYaC1oq3cWoRxPUFiUCOFW69RxG3gtfTzpeUi1j3W7aGTckM3CUNHuW7MBKQQ-wzec8h6_woyixH2olyXWsp3klvWK7j7HRfkZKy4-eHkMwD6c", + "dp": "Clm5Eun1y9JhWk4aIo9wx1fsB4n8XHVNatitGe6ZoNI2vxgPQEPOpUCWontP3jqH4gFFTvuNCCGI7UoaB19d56k7zMgGaPlMDdX_ZV2illNRqgTZ2dWGkzIBHCn0FUMnTxuWeL08mxjKMRAywOVnSpUr7x8PMkR7JEpZ7DO0LvU", + "dq": "RI_amOjc127XQhswZNHRwSvpbOEd6_HWVkoMF0n3ZYCZxx8H8DWhHf-x2E9NOJ9o0SiepdgPX1HgJ-5337eI_x--yeVVall51vVLCYcGpNiQLtxkerlvLIFw0ET7DCS20TQXQjNsVmpougdW2Hp2gpLCk0CcgS74xzpkxt1xYNM", + "qi": "JBkZGGNTF2UROLC54QNDLaJMxFlcxfJg_0UzyX7A3JfivHu3TKhZXY3KBbmkf-tJk_VPu6cWJdztMLJHC_8bxt1ZNd-_2-nMr4hvoKDDDrtgj5pt-mte_yvt20mI8RZgi708Yp54arjoCp_kCU5qly9ufpjw1GZkRlp3q0wn-9A" + }, + "publicJwk": { + "kid": "mMXBQeQN5Ps", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "j_4nnnUwm424i-nCXxvt-zmyMZYKkniMUDojnWcnOsdZ-8l4dDIhXqCaQDHe9rLLJvEx0-2LToKZ9T4rN8jxEJiZBbYOtWrA_jOk4r0Jvjhd1w_NYVdW5s7mavZHBE-G30r3YXl5nObN2nJ5RLyX1ZnhfjdnCR7V0KyhyWtr4GG0uGxQAXlC7dXedgBIV5W-78glZAB4QcWE6y6dgio6x5kWks0caG33WEjPypoWunXXEwPh7k1KJCLguI0sJ2gHcYZ_bu8l1olIWVIQujoAKzwFbtcnuhMo-R3Ti9xz98PvfO0Dv1CcX4hdLq11WeEQa3fKfdiDu4fHjG2lCAJp4w", + "e": "AQAB" + } + }, + "ES256": { + "privateJwk": { + "kid": "9LE1oyH9uQg", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "sign" + ], + "ext": true, + "d": "ORLzG6HWsauCBLLCjfwWnOtJcVrb0JwYY-HfRlz6BO8", + "x": "ERF8PAingbcsZqyAl86B_gt8GnNBQhMLg2JOLiuBr5s", + "y": "bAO8cLsevO6tYApVT9WJLSdobPgbq-YcawKvcZG4QLY" + }, + "publicJwk": { + "kid": "Ag5BEQ1B-1M", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "ERF8PAingbcsZqyAl86B_gt8GnNBQhMLg2JOLiuBr5s", + "y": "bAO8cLsevO6tYApVT9WJLSdobPgbq-YcawKvcZG4QLY" + } + } + } + }, + "jwkSet": "{\"keys\":[{\"kid\":\"81OJU5eDmA0\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"q_5cKxUqZRh5h53L9B2nGYfHipHt7z-byse1qKwEuVSUfFUsGdyt30a0iVr0r2Gxd4yC4eqVcg0IE8ddUpWCWuEbYh_KRLcTHI6t8uVETJChuuMlaUstl9pT1u4a5nK3sFdKl87EUodw_wJgd1TcVnAmSpAzynqFfLGItS6ARb_qX7SVlj9gjyo_jwua41NQM8rbSl6iW2yW5zQA-XPChcxR5G8wggDned4e_FDDCW_iBVI5akU5o286avqwSAgatcyJYUTA34D9XgR-Rin8Gm_-uV1HrlpAsWbebSNRSaKR5O_Fb79zWDJ4iNxekFkBP5fC9TukeQCF3fMbJ13IVQ\",\"e\":\"AQAB\"},{\"kid\":\"2Sza_d60oas\",\"kty\":\"RSA\",\"alg\":\"RS384\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"ycT-w7AP24g0FdyDa8AL3z7pSEyDE4Fp9mDFxLIate0n2vfBD-9yZJBG11QrnYKneH9XTT3ZrcfHgpmSaprG9f1UzodJqXYclxwcNbvpvMMyNpIz51uX3Kuoy0bDKC4rWApB5kKsBb6DHECgOTLvS7Ues1qvxiiq5cjFHx3g_GD0RdnE-UVmNaCqH7RYaz1H244vqO66lfrXqsMjVbqlwlp0BxD-YIXAmtiD-YV4VroBtNzJ1LAaUJZFAMVIPTH_ICj4ousP_N2kkGvJYwBx9YCylqqOZLql4-EZ5W8MqWBpMhANVFuLWAHkcKv2uHMPln8kINUc4HpJNG0M-1IDVQ\",\"e\":\"AQAB\"},{\"kid\":\"eNNC0fwBa3k\",\"kty\":\"RSA\",\"alg\":\"RS512\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"pnK9keu3Xuxq3GT1rG_orokW6uMjx49hop1cUFCxGOK88vywpSQfIz_oBhY7HkZ1J0Hua_ZcmFFD3XpgG37MQWzDX0xB1NVcLQ6TvXx5Qj5NwhU4HEF2-ru4Je2MEZYDpHL8qh5dZX1CDWNMoGamahrfiTHGi1XgRKKfRaJwH-1uQ1PRT_uSZsscn39xjzQQNHWiMUtIBAUePDlA9G-Cu31tdpTVagK4gFmMjoKZxDvCU7Z56g0IA734iExSCPavItD9mHBuZF4lrPpLHUiJk6L8vEyK5wntY7VS5i_XQkrQQtC453DG69EUj0_woNnOiMIEaV4RY6GDUR0ZnXoE8Q\",\"e\":\"AQAB\"},{\"kid\":\"UuMO0zvVjRA\",\"alg\":\"ES256\",\"kty\":\"EC\",\"crv\":\"P-256\",\"key_ops\":[\"verify\"],\"ext\":true,\"x\":\"2zKaFDUky2AF7ELPJvTQ1AzYD3-wP477CFs1sn7InMs\",\"y\":\"OkmEr6q6oNsU0xNibn5ap9JU2f_Yig5V-oi1iDl0mn4\"},{\"kid\":\"YI-vIKoQ8gU\",\"alg\":\"ES384\",\"kty\":\"EC\",\"crv\":\"P-384\",\"key_ops\":[\"verify\"],\"ext\":true,\"x\":\"OVeh8GfztXi8JzcHVzTH6YCWIL9h1aYQCKBYOe_g_gMlvAnuYHI6qtpjVKuJ6jdo\",\"y\":\"r61MFfXh7QDT6qJTAtEdMeHAHwazP3ujRxZ8dEVK7MEKPgvKoL3fvvkPORb48qqM\"},{\"kid\":\"c1_R1BIboJ4\",\"alg\":\"ES512\",\"kty\":\"EC\",\"crv\":\"P-521\",\"key_ops\":[\"verify\"],\"ext\":true,\"x\":\"AffvrhlOGllPEEm6FzwhG2k4eAIADPNBANqdikosnz7JLwo4fPo71GqUm8j1KNuyitQBJoEYn_cNzf8kUjQSfEDN\",\"y\":\"AduD2CYdTBtYLPvjTdQCLFwdsQD8pZ_yG_CBmk35wZfRLQM65_q5PGfKaZECjnsjZ-IzjW-KIDAJA35UIJSfUHuA\"},{\"kid\":\"HN_sEslRuEs\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"ndBX6MnSZ38SVFt8B5IvQlbb37B9D2uX0102ESmr4uV3LI9ZjR2XBUpG7UHDigfZazsJTMzLx3N0Os_lA_FW4_IrghwY267dg-uz8ExEdySqXDgPmskNXgahIyFKgdm1zpkrFpT7KF6V2o9S3E916syy4j8VanmyaY5pADG780Mqek6K71nYxXrw_-hQRq8SvjtWSeZLKcKLc84CZ3XXIIPk4zIZEXCNpltRUtVt6vJcyF57UG7jEAMv8Z-P6ITggkCNQDEeE0ymXw_wn9bu8BH8vgu8l9Fma5Es3EOEu_JSM5eB0SmJIdXsxj-muHcq-WOb5op0BJSBdwnhrzbTsQ\",\"e\":\"AQAB\"},{\"kid\":\"2jgr0-gipjM\",\"kty\":\"RSA\",\"alg\":\"RS384\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"0FrJdXabNyQiiMIW1As8i2K1hXGyOgCVrF9fPd3YjOFC8m8ic5oLacPjm83z4tgTc-asvD3TaPvJutmfBFW_9kMzKwWNrgCtfusG2seRT6kX_rrSacdM7w9X3fZTnCmoNixm2Aj-RIH0Dq_dX8dWAlNL5MUlK5p9tf3i8fPiROceiBUdVKUFjVMR8VjiOWs8yaZT5uI1qluAyBjgfrLjy_VhHok_sPE5ANbkNuOkc2CZzE_tnic-_BdiTPL3vOaBvZrDPjf_wL3kXCxrQRxUr1IXFH7ofXWCqmvGKWcKsbDWpEnB8xO7WxfRJV8ONJWrOOwgk4wByFaGZlA3263dcQ\",\"e\":\"AQAB\"},{\"kid\":\"JG0q_Y7kxuo\",\"kty\":\"RSA\",\"alg\":\"RS512\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"ty0AdtoMLhgCdLr49VQheFP_IK6qVme2zcnhcdaKCn1-sSIWx1llAZcvuR1ozKczPc7kkvrMPoaoK_P5yYY31IwIJ0p5SVgKjJUZAVUnhGouUvFxl6B9JQRC4XnjVICSK62tssOoGssGnEqPEPFIDQUGZH_V1BQda42s90yKdjDTvk30TGdIW-iaGQJQCuErqsKY0e99IIDmEqXz_YxoPUylU0JkTJHarlqZcan-unCpG5UT1YEt1lmYFbR9Nkoc72yV4wKMEbnjsAXGdHoJpZvXCUkMrHA_k3shn6XIrPiG8D-sgmAQH58AelyPi2qtyR6fP9qDZNaDliUrVtjW8Q\",\"e\":\"AQAB\"},{\"kid\":\"QMmYGkdbNBM\",\"alg\":\"ES256\",\"kty\":\"EC\",\"crv\":\"P-256\",\"key_ops\":[\"verify\"],\"ext\":true,\"x\":\"Z6SUSS5fI-nzlqeukxjAIT7XOaimJbnjq-RI5r49IIQ\",\"y\":\"8RYPs7pQUcyGHyheYMjCsuNrdRqrQhHqL6Fpn9czpTc\"},{\"kid\":\"mMXBQeQN5Ps\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"j_4nnnUwm424i-nCXxvt-zmyMZYKkniMUDojnWcnOsdZ-8l4dDIhXqCaQDHe9rLLJvEx0-2LToKZ9T4rN8jxEJiZBbYOtWrA_jOk4r0Jvjhd1w_NYVdW5s7mavZHBE-G30r3YXl5nObN2nJ5RLyX1ZnhfjdnCR7V0KyhyWtr4GG0uGxQAXlC7dXedgBIV5W-78glZAB4QcWE6y6dgio6x5kWks0caG33WEjPypoWunXXEwPh7k1KJCLguI0sJ2gHcYZ_bu8l1olIWVIQujoAKzwFbtcnuhMo-R3Ti9xz98PvfO0Dv1CcX4hdLq11WeEQa3fKfdiDu4fHjG2lCAJp4w\",\"e\":\"AQAB\"},{\"kid\":\"Ag5BEQ1B-1M\",\"alg\":\"ES256\",\"kty\":\"EC\",\"crv\":\"P-256\",\"key_ops\":[\"verify\"],\"ext\":true,\"x\":\"ERF8PAingbcsZqyAl86B_gt8GnNBQhMLg2JOLiuBr5s\",\"y\":\"bAO8cLsevO6tYApVT9WJLSdobPgbq-YcawKvcZG4QLY\"}]}" } } \ No newline at end of file diff --git a/test/resources/accounts-scenario/bob/db/oidc/op/provider.json b/test/resources/accounts-scenario/bob/db/oidc/op/provider.json index 7e23ed570..47186b05a 100644 --- a/test/resources/accounts-scenario/bob/db/oidc/op/provider.json +++ b/test/resources/accounts-scenario/bob/db/oidc/op/provider.json @@ -3,7 +3,8 @@ "jwks_uri": "https://localhost:7001/jwks", "scopes_supported": [ "openid", - "offline_access" + "offline_access", + "webid" ], "response_types_supported": [ "code", @@ -33,19 +34,28 @@ "public" ], "id_token_signing_alg_values_supported": [ - "RS256" + "RS256", + "ES256" ], "token_endpoint_auth_methods_supported": [ "client_secret_basic" ], "token_endpoint_auth_signing_alg_values_supported": [ - "RS256" + "RS256", + "ES256" ], "display_values_supported": [], "claim_types_supported": [ "normal" ], - "claims_supported": [], + "claims_supported": [ + "sub", + "iss", + "aud", + "exp", + "iat", + "webid" + ], "claims_parameter_supported": false, "request_parameter_supported": true, "request_uri_parameter_supported": false, @@ -71,6 +81,18 @@ "RS512": { "alg": "RS512", "modulusLength": 2048 + }, + "ES256": { + "alg": "ES256", + "namedCurve": "P-256" + }, + "ES384": { + "alg": "ES384", + "namedCurve": "P-384" + }, + "ES512": { + "alg": "ES512", + "namedCurve": "P-521" } }, "encryption": {} @@ -88,6 +110,10 @@ "RS512": { "alg": "RS512", "modulusLength": 2048 + }, + "ES256": { + "alg": "ES256", + "namedCurve": "P-256" } }, "encryption": {} @@ -100,319 +126,14 @@ "RS256": { "alg": "RS256", "modulusLength": 2048 - } - } - } - }, - "jwks": { - "keys": [ - { - "kid": "qrvrAiu-3OY", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "yxpEqeCr__0QfBIsSnrJN-zCx2DUVUMLxhH2rT_E1VoYtBBBAR31qkPP9_LQuElEgi_BDzFZaAHO7wAwXQx7CXM7ms9Hz_mXuZq8HogJ99OJtaiP9ai-3T6bsAkNSmznK4GxPXpGockQoe21SNZI3Bi_BXqZ5nOLbC-MfXpPxWxrQKsIuhGWX5tA7PD6_oT9cG5ydHI3ZO6WZPs2QfbK4BOvUXDBAzPPh6UfR-0Y0tmUxa7qF2-yb9nVe9f7e9tu0fYnmjuOmkeShFMVyuh-3RUm2H0XKjYjDoLgsJc1LY3fOPuYY1iXWC3IYvLJ4mCD_dAGdKWmKCzGV_2G1yAfUw", - "e": "AQAB" - }, - { - "kid": "98OI9vLb6Qw", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "3jCMcfuTCNlrRbfGpVwi32331oW-k_6dNAcgn3onF7uPuljdEoKWnQKlpQmIIYbIc2YE3daXPoij0MDP-9e12gJtkEUTQenWFr6GQg7uq_lG4qLN44DK8ZYbSqjg8XlZo_L3xLp5sZajcGQjSmwaFLJtKJDZAVUacv0DOn0XASIT99Co_YOHV9HVOGE53ib2A9iYVDB0G8Yy1T0Pv_PE9f05_rDthW8Y2ohfZRXJZb3M5Y3p_it0Bc82SFB_JOfBlchijKUNctIpxrJYEsEQ1n3lxQm8cEPAsN6PAE4Vkq9bNwfR0-TIAGVUGEcqwr6Fj04d8IeMrCXXyduhwE9EwQ", - "e": "AQAB" - }, - { - "kid": "9YufmVW-6Uo", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "0eHxMnRwtcf5XF5_H7XoMagIg35pG3425dptYItlpV6rgvMQc9YJf31MpSZxfAPz4wxWndZknYTFLYvAPiowc1j_yFe3f5xPkPxgzxDzetO_d5a5ufpN1CLFTwRscNWgvDkn1j5Q-L-si0_Q8OJhMbCKe6Erqm-G15WUUviFescf6NCxx2n0TcFIyTbnPK1yhQhpj2llT-UyAfQ1WE1d0Hdwnfw4OwnX0ktxh4rpfuIq751qahf7XkRknyvN58oJAxxnYXCfeu3KO4XvKpDsDdouhcO5zg3Edjwk8X9EgktCZP1ae52GkXvWNH6PgW8RoQIS79UlcrR6EgarvwXjbQ", - "e": "AQAB" - }, - { - "kid": "Fjq13e357Tc", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "qAdmC2910VTRbGA0oYZ8qMK0gsjrYEZ_N2_82beunVssnbuzn_GTUfrLowYOIEQoMmJ_7qLfdxqHjdhKpuJjB8KeCNCE3WrgKFlk_TELh_SvaBebxMkf71trfW74yQBU_8HGXySWhlTUZEYnlRWlBLmeTHQ2c0j46xGF-konyXQglzdd6Fol_cOyDe-BE1AgIyrNV6fSEUczoGvwZPR3gYBeeklAqYWNZlCmO_RM2msIpXIcaATh_dpfHnzf7CjxocaWGNu7jGjVbeMEYOQToAyx6UFe2QebDTboLMpUNDA-Wc3OrGd13SSGwXC2YeknJwNFUdB_aS5I8Cv-yY92ww", - "e": "AQAB" - }, - { - "kid": "RTGCFN2lS5Q", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "2-idpKxvh-Nu2GFBUg7R4D35_J-sOFyx376FKaAE_X-ZakbeudFVX7a28XgIyhRzhyQXL9TPOus1FaNioOmKVjwctENbO-zOBGhGB8dC6R2zopRCIdkMmVeeqtTjlACm4FbZ_b7E6bAgr0zWQv-j9y23GBbGLyThJn4KEWogA3_ejJK-vvyDU24PDZ9jj-d4ZunKjxn_7BezzwZ9bzkKj77dQa9iB3BCaZF86ICGsU2Wsk3V5tOGYy1264elLXBMoOyrDXDIIH6ML-BCMTOVAoyepxnX7iYoFA_nW6YkFm-dfvPeZwSyUvaNoYpzD4pozogZUcLrh5JKcTrl40hPzw", - "e": "AQAB" - }, - { - "kid": "SDl5j5hXhNo", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "4NIvAhWCJu__tF9LPTvWIbid-ZTjknw8jYPVxO0es4xz1QlNDfFzohpBW3ZCpgJntdJ1tqhnF9nLlX_9BidO_UnYzSKwl_2RpcR15PUgliw1BKWfemxKGWnHWVTmnUYsV8LVFt7w1yyAELhmHmTCAdGfw5L7CULQpFq7PJ7JuAH33Cwz8InnfLnuiMaJrkMoKhBw85fik345oLLORd9CotK8GPvLScvrWPUQJVVV5fiJA9NuaoaTFfOv_n4j2Pe4se8jfN-v_XndeLhwCP27USdSBbUvuArFQasAJ9SuE-kz-QkcDd80jZ3x1zItRzb7H1PwfJctlPsKkvrfKCuHRQ", - "e": "AQAB" - }, - { - "kid": "ky-itj26WUQ", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "u1hS9mny5ZJUDmqscCNC7P6_xwlJJt2ezDi0OePE55f9gOk78GFJZnFn46Q7spp7NHMTQXu8i8S-tsLcg5C0Tv9XwK6P3T8V5ULGNmSxnpdGTEpw2t77YBKBUbReLNInlp631kHznPO0M7vLyMRaiMWyhCpi1Mk3sRi1kBu0bxJysodxN41bPNoEHcvE4FfLDl-VgB8Y9Sj0ImZlbZ-r7MKpV1hpFLOpM1OaaaF6ymQDyfoeGNm3bLHfynO02R-1fOQp4QqX_CgOHZq5JMZaqgAd-PZ5wHSVEIVBjolh0kAx7iV63eJDJ5LQc_h-vah-q3ITJNFIsbNWZzLvCpTdlw", - "e": "AQAB" - } - ] - }, - "id_token": { - "signing": { - "RS256": { - "privateJwk": { - "kid": "WXDKTjtU0Q8", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "yxpEqeCr__0QfBIsSnrJN-zCx2DUVUMLxhH2rT_E1VoYtBBBAR31qkPP9_LQuElEgi_BDzFZaAHO7wAwXQx7CXM7ms9Hz_mXuZq8HogJ99OJtaiP9ai-3T6bsAkNSmznK4GxPXpGockQoe21SNZI3Bi_BXqZ5nOLbC-MfXpPxWxrQKsIuhGWX5tA7PD6_oT9cG5ydHI3ZO6WZPs2QfbK4BOvUXDBAzPPh6UfR-0Y0tmUxa7qF2-yb9nVe9f7e9tu0fYnmjuOmkeShFMVyuh-3RUm2H0XKjYjDoLgsJc1LY3fOPuYY1iXWC3IYvLJ4mCD_dAGdKWmKCzGV_2G1yAfUw", - "e": "AQAB", - "d": "FgGhoPp8CH-mEptxexx0wv9_V1URjK94Dh0SKlF3hVp-xLviHznczXcNiKMhpGYj6ys7cub49gEEJ_dQRjS8_BglRC_jaxBzNSQj7_bzhYvBJxK9jnObQqOvANLqQr8sCRXDW5LtJkh_6du0wdCeEmMIB5LyK_snBzDbuxjOnehhAEUk0pk1fAvNfcg3VdJEPNwjBBX4qFqygJVMgChTJVC3jhHwS9sGNvvutj1-eBcBn5PBzRfK2Dxnd55zmcWwDSILXGfZj3FwGWUwGl3ieTZWGdzYrL59qVBdutwrVqVx1NoYGCoAIOMXY6FZHZn_Ujhs76Pq4HJHRAcefLLWiQ", - "p": "7IKOrK01WCfZzFNDQrHe8S2w29PIihMPTuzhkuXh4Z0jMdSVa5icRpYAU6K0_nEyMnMn_ChZIAYdfufQLmaoGTtpaRZVycT6BSwXBUfIWtj17xdBKzoEmqPpC5CJAlWTl_kOHaU8j6LoBKJlVGOACSMjQG_59ZMfrwyU9XUoAT8", - "q": "29bx40mte0eJKPrPrQzQ8l8QOOweWSDdoEDXOorPdywWfi4s1RTQfk75opOnnr2afPF2nuEBvI5RmeKWzvxHWWFDN8aDPfRzh9W3_aMs8dRJ7V-3oVOwYfTtuOOQqTTjuqOcsMYuelGw5ie0Z0sRMByxooFgk4w_wN5gJj6zCO0", - "dp": "rxPOjiECNin53nlcdwi44oxSOcjC0QNe96v_KAEofx0VqpOVsLqeJNpxj3gIx7n_0LzSQqWTpFMijokH4PF5SoRiebpg8yXvdti2ieAjfqzREZaDVX5zXg4sO7VY1vOGeJ-TRXrGJAYR_yxAGoI1i44JUHAT9yhb8fc8ZZ--Z30", - "dq": "0BbLa4sIDRMPf5y5C2KAPYtCPb8ykscLQW9eyuktq-4tdE6c3S0QlR6IKR1-okFyhCXDVGxDSomkL_dNLKublbz89USQYgqLeN4RhKH6HwYE3A2oMaqX4IEIq-OrwJ5xmO7ZmHJe-CVvPswCdWuW32Wpttqj4cX1asiTVmAu85k", - "qi": "LnH3IZ8HXJmwfrPMGuXRRzW8BJjAQId7thrubSxYM_ar2CgnSylZCY9pqtM-rv7DXDq7HY5IvqHO2rLqR2RRQclHS3mYT3vfb-WJaTh0POVixzx0h3FA6sPcnLq_poJYRlzCUGyOziBxsTsQANIGVI7_G4vh_9Igc4DoiHpxCE4" - }, - "publicJwk": { - "kid": "qrvrAiu-3OY", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "yxpEqeCr__0QfBIsSnrJN-zCx2DUVUMLxhH2rT_E1VoYtBBBAR31qkPP9_LQuElEgi_BDzFZaAHO7wAwXQx7CXM7ms9Hz_mXuZq8HogJ99OJtaiP9ai-3T6bsAkNSmznK4GxPXpGockQoe21SNZI3Bi_BXqZ5nOLbC-MfXpPxWxrQKsIuhGWX5tA7PD6_oT9cG5ydHI3ZO6WZPs2QfbK4BOvUXDBAzPPh6UfR-0Y0tmUxa7qF2-yb9nVe9f7e9tu0fYnmjuOmkeShFMVyuh-3RUm2H0XKjYjDoLgsJc1LY3fOPuYY1iXWC3IYvLJ4mCD_dAGdKWmKCzGV_2G1yAfUw", - "e": "AQAB" - } - }, - "RS384": { - "privateJwk": { - "kid": "tBlZOC43M3E", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "3jCMcfuTCNlrRbfGpVwi32331oW-k_6dNAcgn3onF7uPuljdEoKWnQKlpQmIIYbIc2YE3daXPoij0MDP-9e12gJtkEUTQenWFr6GQg7uq_lG4qLN44DK8ZYbSqjg8XlZo_L3xLp5sZajcGQjSmwaFLJtKJDZAVUacv0DOn0XASIT99Co_YOHV9HVOGE53ib2A9iYVDB0G8Yy1T0Pv_PE9f05_rDthW8Y2ohfZRXJZb3M5Y3p_it0Bc82SFB_JOfBlchijKUNctIpxrJYEsEQ1n3lxQm8cEPAsN6PAE4Vkq9bNwfR0-TIAGVUGEcqwr6Fj04d8IeMrCXXyduhwE9EwQ", - "e": "AQAB", - "d": "boIgADr7RN36RBkk5C7Aq3bC2v_3Kx1qa6uV1qvHEL85O5oiDihEJ8BeyYhFnEMwpHCbwAgQfkowi82yRBRj_pPRkX1BmDlowTQui2Fo5MDdODB4DYyLo3-ggFAhXQiZhHj-MWr7xs9g56_ue3_rstqRfykXvVlqB8H-XpNDo0w1-5Dhc604mCQ0TCtmEjCA7t5O_BozZC2EFb2EQflsWkcO5-3umN3xPO24mGRwvsKCWVBmvpc37p1iJTeMPTUJB_QMhI-Ke9riXBFafuFeu4h01l-k6O7kCFsGvuMX7BVdqBHvburp-kdf0_97qN03ZNpQQz-AlDV7LeT4Bg5kDw", - "p": "7oFF2yVXKRgQprD2-Ew4vW0WmXqdpwl2k_2opTF1Q1koQtzX6bqMDDjrEES9JBvDjQyCw1ds3Yw_-0iZSJDq0nr02zrWbnKeX0JMr7sgD3aRnQXAmdmbMpnfqFqp_x-nuVmQG3r5fmVapCovtFmKQIGe6c7656BGI3neeVVqF48", - "q": "7nzmpZTMOSMD2oBtcmOLj2H7Y31hLzfSW4FR9wHKhmfjy8BpBtFds7cLRUTVv5wMWAP3fwvi93SW5tEQ9ZztbrzauhP-Mwfnby9osk-Ycp26MoGnHKuHFAsGpuPkTV6wpSgIA8-bi1lBU1mUst79QGRDd7V_f60W2Nl6JgafNq8", - "dp": "oVPcFrIZVPisOrS1OZsFPkyN3t8ryJMEHHKWIrdjpFyoeSG9AqJmnNXbWrPEZKpLChuOT-fRAcMefDDNTmKIFDuLaMdRyH_LVJAaIzwmIY-IS3haoTaqXf3rZYt-Nc4Ju7wzWANExBR2zVij0BBJDf0fqvOQkCC_kLucmuIF000", - "dq": "ho4R0_pP_yyyT-WF2rQvWYZ-v3NOEcX8-YPNKv_ntE2JSLwWhbI6m9r6kOp1btYsYLxcN2INfHBbc38hgnI3w_LptXLySPh8q06kU3Z1HLXBCB3-mz5rx_MwnZiWhtCV-ZjMbNoFeGmzYcN5EjKd0GbBahkNBowyB8csE6hIzCE", - "qi": "TbsAO5U3pt58Q5Bu7fzufeXDlrMyh0JGPKCJtoLDtazr-1e75pMiYxcqqDsrt_PqymzjQGtzc8TRWwaSXx9ORWQ0iDaCZ2QXUffqH_Srb1TpApQXDP2VqxcA2XpU7mYoeTnaOHGYYGBZHD_Znhf6qHJ2ESeqRQRtsdgD6Vs9UVE" - }, - "publicJwk": { - "kid": "98OI9vLb6Qw", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "3jCMcfuTCNlrRbfGpVwi32331oW-k_6dNAcgn3onF7uPuljdEoKWnQKlpQmIIYbIc2YE3daXPoij0MDP-9e12gJtkEUTQenWFr6GQg7uq_lG4qLN44DK8ZYbSqjg8XlZo_L3xLp5sZajcGQjSmwaFLJtKJDZAVUacv0DOn0XASIT99Co_YOHV9HVOGE53ib2A9iYVDB0G8Yy1T0Pv_PE9f05_rDthW8Y2ohfZRXJZb3M5Y3p_it0Bc82SFB_JOfBlchijKUNctIpxrJYEsEQ1n3lxQm8cEPAsN6PAE4Vkq9bNwfR0-TIAGVUGEcqwr6Fj04d8IeMrCXXyduhwE9EwQ", - "e": "AQAB" - } - }, - "RS512": { - "privateJwk": { - "kid": "Ml3YPOEbc30", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "0eHxMnRwtcf5XF5_H7XoMagIg35pG3425dptYItlpV6rgvMQc9YJf31MpSZxfAPz4wxWndZknYTFLYvAPiowc1j_yFe3f5xPkPxgzxDzetO_d5a5ufpN1CLFTwRscNWgvDkn1j5Q-L-si0_Q8OJhMbCKe6Erqm-G15WUUviFescf6NCxx2n0TcFIyTbnPK1yhQhpj2llT-UyAfQ1WE1d0Hdwnfw4OwnX0ktxh4rpfuIq751qahf7XkRknyvN58oJAxxnYXCfeu3KO4XvKpDsDdouhcO5zg3Edjwk8X9EgktCZP1ae52GkXvWNH6PgW8RoQIS79UlcrR6EgarvwXjbQ", - "e": "AQAB", - "d": "DIMewPZGHeAtEn-jrn1GuWceEtC_bV8p4KwT5zSIO8KYEPdynKU-7bXHkvTmwRDvQjLjGwfD-cwHgT6amFolh0rf_M6V5uqnp6oUD2QgT8s91-BJdDfi2em0v5Aw8s0Zhv8VS-VtKFcs7yUz_JhSWQcASnyCQOfjLwkAza15L6eBsTkDA5QmmrTbP2s7csgXWlpqzTEVX2bxUeJi7jCA58WvFsf8ikOOnx8LYhboVa-QISnt_b6eG92W5Hfx8r6OVtZ7uq-tUB3L0mIsuLGx_ZnRMBnEmYNZ2AXYWRKjd3o1Yz6wWnLCQX7HbRzyLmZgWK4b9IY1qYco2n1NcTxdFQ", - "p": "6Er1cb2WUJGypV6dU-CdEa4cAxGv4ildAf9by1xFSFnRDGHBNbD5lfI6gts4y-ELa5xjXxx65cumPrj31BicYpNi2q8RurRxmASagWEnSCTjEO5ft5HAYnNTGeueX2zyFM8s_waSnWKEN6w90bJ2cOAoEF-vs0pXFYiC4KDq-bM", - "q": "5016haat0hGqhYUKOBWoDmHIWjLF_YQ1tjaj5IqEPpgYBKvxZ_QCLWMzTI81ldAq5DuRo4kRqPgAlH-8K_R-XpjR0lZInaFkSL4pA5T3dB_BZnVz0cua8G9OcvLP45GaHuDVTD8szk1eKycOqYoBCBR-woFTwj6WxCipNjaO3l8", - "dp": "d9SzaUl0EXwXvFdisbJdVJGMwciOAw1zfWRN5kpjMz-iJ9EF6ryxBDlBFeAhHIuraIf0e0wl2gWEbTbeIfvQMMn3ZPiLHNWZA-LcEYIc0Yq12DYgCoKVzDPR2r1Bpdh9yV5Wx_iMCcSYkF-6RELb9r6r7EZwTP08j08stNROYyE", - "dq": "buje5DFNTdp8urNVeBkiUWsfx-hquapomuvOYKruyJjjg3HzOpZtaNgVZBOTbTe5KWFK73CtUClDFfG-CBGferqqecI35aXa0WqlffszQLJtaTTOiX2o2Lt2kXXOq19I2J-Uh5APawj8K5L529-5qOcy9Q9QW2bpojuhD8bPcN8", - "qi": "j03j3VfU7QSZq8JU_lWv0kLG83zk3m3gjDBJG5PSrWd4g-KiTD9s_5w0qOJjYN2zm1knUb2aFAUr1bLdO0aWL4ZVFRkpB0ZJO26qQiNsB5uXMN9Ex9GokaNX-VTJFUz8ToSliCaXUKQXbBf-4Z3-pVa_ykRCJEes0iQEWasLUYo" - }, - "publicJwk": { - "kid": "9YufmVW-6Uo", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "0eHxMnRwtcf5XF5_H7XoMagIg35pG3425dptYItlpV6rgvMQc9YJf31MpSZxfAPz4wxWndZknYTFLYvAPiowc1j_yFe3f5xPkPxgzxDzetO_d5a5ufpN1CLFTwRscNWgvDkn1j5Q-L-si0_Q8OJhMbCKe6Erqm-G15WUUviFescf6NCxx2n0TcFIyTbnPK1yhQhpj2llT-UyAfQ1WE1d0Hdwnfw4OwnX0ktxh4rpfuIq751qahf7XkRknyvN58oJAxxnYXCfeu3KO4XvKpDsDdouhcO5zg3Edjwk8X9EgktCZP1ae52GkXvWNH6PgW8RoQIS79UlcrR6EgarvwXjbQ", - "e": "AQAB" - } - } - }, - "encryption": {} - }, - "token": { - "signing": { - "RS256": { - "privateJwk": { - "kid": "wKTifTiMEyA", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "qAdmC2910VTRbGA0oYZ8qMK0gsjrYEZ_N2_82beunVssnbuzn_GTUfrLowYOIEQoMmJ_7qLfdxqHjdhKpuJjB8KeCNCE3WrgKFlk_TELh_SvaBebxMkf71trfW74yQBU_8HGXySWhlTUZEYnlRWlBLmeTHQ2c0j46xGF-konyXQglzdd6Fol_cOyDe-BE1AgIyrNV6fSEUczoGvwZPR3gYBeeklAqYWNZlCmO_RM2msIpXIcaATh_dpfHnzf7CjxocaWGNu7jGjVbeMEYOQToAyx6UFe2QebDTboLMpUNDA-Wc3OrGd13SSGwXC2YeknJwNFUdB_aS5I8Cv-yY92ww", - "e": "AQAB", - "d": "IvpLTUUaDwXrhHZwblFrIMxLPFBr4wI52EX5Ki8466u_mWQp67kjlDSzcE_B4AigH4DupbQE9auxnR7xx1SoDcT_FdGmXtsxJ2UYhzZO8rHGU9JaTDgb7D0pHpbbtifaCdWCIGsi5HrDLc6GzduQGvAy2jJ05UHDA1gF_kiyiJZLuXxJR_CarLKPWP356nkoLahzu3knVG_2H45tnKibTG85ssXf44w_Lj_d_2uzG_021ibfo5uNMqGwz-HhLlJtV87LCf4sCyZ9JNNBt-UO_4tVmd8cEc0vT_hmDK7KgX_2JoBjtjcLNdyX2vyVvPsdU1XzH8VlyRCUyQwgEMjIMQ", - "p": "49fH2b0W1IW3TcEbgBuzQ9M1vhuPE2MbIOQKJADNjBzSE8OGASeDXPzfAjNFP4sxb-N1IMTiE7gqJ4kfelcPNKaKPuykfhpgCOR0PB-3m2O1b_FazQ7kUIZloHVKO6MrvW2K9qvGiWLiSSpLDAUm3VNICezpzKdlx93P47HglPM", - "q": "vMtLeSskpRbJHARLt1NL7yV4mnsjsqZ96kTgeh1sTbFAIUzCKoLqhbUv_x0Aobx31W_Bq8sB_VcrgOWBjjkwJleCbiUb-7vwdJR1f89U0PHdu8lBrvrkxhTFGfKc3k4v4p0U-A9wTij0RLXPYVs2rmX_nxQW-rFgNjTvjubXSvE", - "dp": "wWWu6P7dOyYJcwGgYzygDMliS-0-pDkylNecV_UqhG0OUOJdg-tTUQIAFfEJLafsHcpX6KnWMODZP1fglUsCyDE5FbJu6e9fZwzsMQDHLCoVn2CiL38dg9CgwPPuP_MANLmgBEPIsWNzKqGwtBJHbAS-GFa2GhZZia6ZQPAC7ss", - "dq": "H5ZP8Vzzi5-NVF-vn2OTX9bAH_CcX2aVyJ1vhV7o4PLYDPo_vkcbH_XZqvBaS7Uxw4coOysDETUFdVJw46_Ty4Z2ryEMVojyST8RjanNwgvFkoaws6sMncuZ0qaR8mvYfSzU9k_29UzK2bglk19kfbdZFm-RDK6ir08aCam7ubE", - "qi": "FpxMEzXcf76q6WJcFxxH-xmAV4dV02ApYMFS5fdH8b5RJZzJmIq8V3m3LZ5eomHkMKVl2j9p6df8VphbQLxWqdMI6udyoS7xIPzmAACFqAbpDUHyC0BMe5y31AmBfsLE9dQeP0T_CD-KUZ2fpb2ZD1--bM85Owsb7QoCsyJF7ds" - }, - "publicJwk": { - "kid": "Fjq13e357Tc", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "qAdmC2910VTRbGA0oYZ8qMK0gsjrYEZ_N2_82beunVssnbuzn_GTUfrLowYOIEQoMmJ_7qLfdxqHjdhKpuJjB8KeCNCE3WrgKFlk_TELh_SvaBebxMkf71trfW74yQBU_8HGXySWhlTUZEYnlRWlBLmeTHQ2c0j46xGF-konyXQglzdd6Fol_cOyDe-BE1AgIyrNV6fSEUczoGvwZPR3gYBeeklAqYWNZlCmO_RM2msIpXIcaATh_dpfHnzf7CjxocaWGNu7jGjVbeMEYOQToAyx6UFe2QebDTboLMpUNDA-Wc3OrGd13SSGwXC2YeknJwNFUdB_aS5I8Cv-yY92ww", - "e": "AQAB" - } - }, - "RS384": { - "privateJwk": { - "kid": "wG_AmMQcRyM", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "2-idpKxvh-Nu2GFBUg7R4D35_J-sOFyx376FKaAE_X-ZakbeudFVX7a28XgIyhRzhyQXL9TPOus1FaNioOmKVjwctENbO-zOBGhGB8dC6R2zopRCIdkMmVeeqtTjlACm4FbZ_b7E6bAgr0zWQv-j9y23GBbGLyThJn4KEWogA3_ejJK-vvyDU24PDZ9jj-d4ZunKjxn_7BezzwZ9bzkKj77dQa9iB3BCaZF86ICGsU2Wsk3V5tOGYy1264elLXBMoOyrDXDIIH6ML-BCMTOVAoyepxnX7iYoFA_nW6YkFm-dfvPeZwSyUvaNoYpzD4pozogZUcLrh5JKcTrl40hPzw", - "e": "AQAB", - "d": "DcRay3qLbZeUkrxH8Wysa_GaqwY4qxChMW-FI6LOcoD1_Zwb3nMso-uAOXljx3mPSqMSRol37b7YLxdwRGr1IPVDcMTqEG7V7kW0OKbGBBUQGroAXTZwM6YIxgts3JD2jC3ebiRuwcMn0KxVROgp1NQfqxo7OawBN76FP9Yufzl4zwvdFGlAlk7jw1TB6ak1GpuMylg5HqpR7xCRMO3cpe5Y3K0rnaCsUqqqd-LOYnrrK3i2kXqpB7UcBwjl5QNqfH4bu5x7DzXEgQ75YrCZfuPgWdhsHYydUnjve_ZuMjPlCASaa8w1oVWQvn4iC0YxEfjprtUhR42BlJHQZAlS5Q", - "p": "_3Y4uQ813xhEs5uNZeH5hSkwj2efa5OFQhT5I1Mo5KRb8_FwCZQuymg05Z5suSba9NiRa-LPpEcGTLikH4jrRWQK-u7PygT5kk4chu_o7fbLGJB7RdqyITs9YxKLY49kkaEv61j0Xn0xn8f_MBiE8LfBmv5fJzcaFYRfYJFV-r0", - "q": "3F84JM4XDJWgbMnMMkDH-eMtcH0N0LM_WPZ43W60AV5PPQbI3l_1FsAgoWeYI1vhqrJhwsMJT6TSj-fPcgOnbeKBcEkLdef4bSX8RqsgW3mHWxLGgaWXRIUXfNs9tGTC5u7vy_hXg-szUB6lDLJZsUZlGBseyqWB-_P6K4gFI3s", - "dp": "ZUj6NGVTdqConI2QAlUWGTW7iyAKlRxoOUsXfGn8TKrdylpvkVyvMJEgZ-noMYC2T12OSrgim3-Nf921NMuUfG6t68_DktVmHhvaM6XrNG4lGBgwyAFtnr9eF2nC2jaAKT0_QpCCUvRQOImTI_6UttwkZs9z6phuPxm8twzoigE", - "dq": "LDRFdMyKPxH8fhX0idgIxQ1W3guXq9doy5WVJQXBwcyDJICp5kFlTkz3vqijEeSqXa0ugvzQb1NmkUs0h3BIM3iN8lIUpHAFmw9VjW9iLDcyeYhInVT0BOCVl4v60qarmdsv6sBD_cg-IMIk5WkZKMAwIye9g3SzoDCObBD6xuU", - "qi": "LEQKtrDn8T0xIkA8Nkzfssnl9t3Xqn2rnBuTJJCP4c5YtLpKsTS1EbdIht3dF6nrSrwkixJ_snuAvbmBO1ZzHF6BzVGTjJkAesP0SjciVL2HJ3VANyP3aSfWV_NUeiGPLihuB7EuCnEyCX-RYk907-cMKOI1jf_aU2bPlfaZG24" - }, - "publicJwk": { - "kid": "RTGCFN2lS5Q", - "kty": "RSA", - "alg": "RS384", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "2-idpKxvh-Nu2GFBUg7R4D35_J-sOFyx376FKaAE_X-ZakbeudFVX7a28XgIyhRzhyQXL9TPOus1FaNioOmKVjwctENbO-zOBGhGB8dC6R2zopRCIdkMmVeeqtTjlACm4FbZ_b7E6bAgr0zWQv-j9y23GBbGLyThJn4KEWogA3_ejJK-vvyDU24PDZ9jj-d4ZunKjxn_7BezzwZ9bzkKj77dQa9iB3BCaZF86ICGsU2Wsk3V5tOGYy1264elLXBMoOyrDXDIIH6ML-BCMTOVAoyepxnX7iYoFA_nW6YkFm-dfvPeZwSyUvaNoYpzD4pozogZUcLrh5JKcTrl40hPzw", - "e": "AQAB" - } - }, - "RS512": { - "privateJwk": { - "kid": "XF-Jz3SMBY8", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "4NIvAhWCJu__tF9LPTvWIbid-ZTjknw8jYPVxO0es4xz1QlNDfFzohpBW3ZCpgJntdJ1tqhnF9nLlX_9BidO_UnYzSKwl_2RpcR15PUgliw1BKWfemxKGWnHWVTmnUYsV8LVFt7w1yyAELhmHmTCAdGfw5L7CULQpFq7PJ7JuAH33Cwz8InnfLnuiMaJrkMoKhBw85fik345oLLORd9CotK8GPvLScvrWPUQJVVV5fiJA9NuaoaTFfOv_n4j2Pe4se8jfN-v_XndeLhwCP27USdSBbUvuArFQasAJ9SuE-kz-QkcDd80jZ3x1zItRzb7H1PwfJctlPsKkvrfKCuHRQ", - "e": "AQAB", - "d": "BQmgpQbPWkkBbUy_VllrZGkLHScRbFxdTPx5w0Ze7D4G8GybbecNpMG62i5NswOVyFS1b4jZeobWUXzDMiqaUgGgGoSe-WDkrRa4X4-AkezeqUJ-ztLzXBtrLJzC6B5E6xiCBterBN9J5VYEb8TpNfo4_rxh5KS7IRupW2PheD6ESwdJ0vvcWAlKdfunfAHmkCexO9ttZExtSscE63Cetyn4zy9DCkwt9AIKNjSepTJjIx3chi9pNbu3zByhtc2aAuw8OyuRLrhaObPIqXebA465Qw2IXyWRCXYv8phs1lChMg8AvJQoSpUnyPPJMSrNk9YiL2hBvzAJU4dmTfdDEQ", - "p": "9CDAxfW0LtT9Iw9tfkuPzIB73eFu_uR1apt5ptQU9Y6E5IMcM4jKzsAt4gTbI6Rk8mp6c_xeXgQ_xquoHoy1vBtrdJpVLtkC2Ad01SIuvZLNTwoza2V5rGFV8Ccc3rEoPRjVZmeA0MLfYFFUuF9Dw1g4jzvBtqedrLhxWv26To0", - "q": "68ESMxjJdhR-j3Uk1swwVq8zlKGaa56t4Yz4W2a2qYK1ORgrvBdCF5iEjHuBdPfq3j84cQ1UVJjoB6-thUQCkFOHlCRihZ_4S2znfyPGzRPnryt7l2bi_8Spij6KD5Vm1c7SYiH8RBwT1nNfvch8HAkNmq_j_nn_ZtH0q2m2KZk", - "dp": "iUV9gBKnzYmgCT3ckJ6GbjR08g-X7SWjTF2-KuuoGWeZHDEJA4VQnK79XdDjNAh1ZsYustdebLkw71KIhx0R94LnijpZ2azW54hRzqKY66oHXgFbZnE52I8m1pH3rtSozqoPHLTofvqExlEVNVMD9Gy_6PJt-3oGtB9GRibTwuU", - "dq": "1mpJuClCCV_IX4cmUylwiVZdLj_wJxMxh-LjepWnafIUCnJeTHpGxRkU7IPjkNNuTGXpWoDKAwrydRMlWQAq6MLfmy-gX3HHrCnHPg324EvLOrjsdh3ANOjTXYVVoai615h8JX5NZlC3BiL2n6_4mLLvKZHxZV_llsk7oq7JW3k", - "qi": "6Og0CDxCcTU5bkGonrqezMVGit0f-vBlhRCls14xaap7Gl_qnpwLVmq13JD8VcmvCQrrNk3r03t22CzVWPjgkr3F47VynG3lZ6p5kNlSJjGejxhJAB6asNPstmg4WjzWb7JaoVivvUDhTjo7gKPHGRod_GYzFn-ld4OP2ckMu9w" }, - "publicJwk": { - "kid": "SDl5j5hXhNo", - "kty": "RSA", - "alg": "RS512", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "4NIvAhWCJu__tF9LPTvWIbid-ZTjknw8jYPVxO0es4xz1QlNDfFzohpBW3ZCpgJntdJ1tqhnF9nLlX_9BidO_UnYzSKwl_2RpcR15PUgliw1BKWfemxKGWnHWVTmnUYsV8LVFt7w1yyAELhmHmTCAdGfw5L7CULQpFq7PJ7JuAH33Cwz8InnfLnuiMaJrkMoKhBw85fik345oLLORd9CotK8GPvLScvrWPUQJVVV5fiJA9NuaoaTFfOv_n4j2Pe4se8jfN-v_XndeLhwCP27USdSBbUvuArFQasAJ9SuE-kz-QkcDd80jZ3x1zItRzb7H1PwfJctlPsKkvrfKCuHRQ", - "e": "AQAB" - } - } - }, - "encryption": {} - }, - "userinfo": { - "encryption": {} - }, - "register": { - "signing": { - "RS256": { - "privateJwk": { - "kid": "YlzLAp8BIyE", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "sign" - ], - "ext": true, - "n": "u1hS9mny5ZJUDmqscCNC7P6_xwlJJt2ezDi0OePE55f9gOk78GFJZnFn46Q7spp7NHMTQXu8i8S-tsLcg5C0Tv9XwK6P3T8V5ULGNmSxnpdGTEpw2t77YBKBUbReLNInlp631kHznPO0M7vLyMRaiMWyhCpi1Mk3sRi1kBu0bxJysodxN41bPNoEHcvE4FfLDl-VgB8Y9Sj0ImZlbZ-r7MKpV1hpFLOpM1OaaaF6ymQDyfoeGNm3bLHfynO02R-1fOQp4QqX_CgOHZq5JMZaqgAd-PZ5wHSVEIVBjolh0kAx7iV63eJDJ5LQc_h-vah-q3ITJNFIsbNWZzLvCpTdlw", - "e": "AQAB", - "d": "PkCGKM1h4fjyp2u46vY8meW4shmazihcSP4anRXbax1tJjXaLfEV482ROOpsz9dXU0Fdx6enKkZxHOe5QJqH36wna6ZVta3tx6WdmZtyDgG0YUtnHsNzgiQEBrNJi9k1QG5zJeX6Xk_4tCwV9huQ_du7iwFOn-hQ8i8EveMG3NUR6De6pB2ZPqjDYuuIVBQUzr_PcwPQk58eKnHBIVmj6hgMVmScJkO_7vBkvjF0EvrBl171Bm0VuXKP0YDEOiYUK5NYpFOIsOfkurwlqKK9gYkfukXdmdb0_2C3jGRlS_R0QY6BxJY90zwpeaPidkjeCtxcRD6iKmYwp1RDNDlpwQ", - "p": "3zee9ST4yGfATv16nUhJ7Niw1LzRgjxresKNfBX4ex7aBwQ31oRABZNLmCTawC7EM1bu2gGb-KdIGhRsYiePKWT3iapjhXRNJ1uBFkD3hGitiEO7aECbgcwNRVZDbrE1UcrbtNmKpQYIbBt1R8IXRwKuegGRwp9iuOnEMLU9MqE", - "q": "1twAU5agmGDEhscm_xbJH4B5ysHUnhNR7OOptNFHRjPXXzUOppXcRdHY64PLmrXIRSIZzYspPeaegSPskhST6tXUJfW8j6_CGf4-KvZsjB8hUHaXIJjSZmkLIUWdzWnJ4HSChn0wXHWFrnFxGSsvXFDvDo51rTSN93Xr-wV63Tc", - "dp": "zc8w5wLBx7WxoKMiTKZ8Ur6wvFWkLpqa1sNPRJvVUV_u0w1Wlpm1le5rgspoT05PZK7A540YTDmgxzsRe6bR3u7TNcE-pavH_4PlD6mzDgieB8e7obIAL7r-eXHCFuuZJ-MMlEEIDoPzfAoNJq6UW8rjKGcOCA6BLdGMLQTOekE", - "dq": "JrtF-8t9a7qV8s3Xw8gxvVIFon1KfKxy6kcoAoZvWMJjorAH0hPVv2hSuDHr9Bms3nmFOT5K0vPNwu3c6YB4Ia8mLSmdMjG2xcTFJC2D58Z81Opr1950ny10ai0Ig0z8rU-Tb_cFTsWIsaeVgbn9MaENVwxrPivpI6DIR1n3igU", - "qi": "YqTgaGAezCmyVBu4N-vvAlgtV5m9tztlEKAXsMf20L3Aeg9TUrMmMxY3J2LLNZHpii4G5HbjTWi9LLzkYRh98JFwAscmmL9Np5IrkdPBugsGPOQHmKVkK62_sJVXDDFZkslLq_nE5_kp2_-e2W1-Ns9dXk0blTx61MtMFHxjE5Y" - }, - "publicJwk": { - "kid": "ky-itj26WUQ", - "kty": "RSA", - "alg": "RS256", - "key_ops": [ - "verify" - ], - "ext": true, - "n": "u1hS9mny5ZJUDmqscCNC7P6_xwlJJt2ezDi0OePE55f9gOk78GFJZnFn46Q7spp7NHMTQXu8i8S-tsLcg5C0Tv9XwK6P3T8V5ULGNmSxnpdGTEpw2t77YBKBUbReLNInlp631kHznPO0M7vLyMRaiMWyhCpi1Mk3sRi1kBu0bxJysodxN41bPNoEHcvE4FfLDl-VgB8Y9Sj0ImZlbZ-r7MKpV1hpFLOpM1OaaaF6ymQDyfoeGNm3bLHfynO02R-1fOQp4QqX_CgOHZq5JMZaqgAd-PZ5wHSVEIVBjolh0kAx7iV63eJDJ5LQc_h-vah-q3ITJNFIsbNWZzLvCpTdlw", - "e": "AQAB" + "ES256": { + "alg": "ES256", + "namedCurve": "P-256" } } } }, - "jwkSet": "{\"keys\":[{\"kid\":\"qrvrAiu-3OY\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"yxpEqeCr__0QfBIsSnrJN-zCx2DUVUMLxhH2rT_E1VoYtBBBAR31qkPP9_LQuElEgi_BDzFZaAHO7wAwXQx7CXM7ms9Hz_mXuZq8HogJ99OJtaiP9ai-3T6bsAkNSmznK4GxPXpGockQoe21SNZI3Bi_BXqZ5nOLbC-MfXpPxWxrQKsIuhGWX5tA7PD6_oT9cG5ydHI3ZO6WZPs2QfbK4BOvUXDBAzPPh6UfR-0Y0tmUxa7qF2-yb9nVe9f7e9tu0fYnmjuOmkeShFMVyuh-3RUm2H0XKjYjDoLgsJc1LY3fOPuYY1iXWC3IYvLJ4mCD_dAGdKWmKCzGV_2G1yAfUw\",\"e\":\"AQAB\"},{\"kid\":\"98OI9vLb6Qw\",\"kty\":\"RSA\",\"alg\":\"RS384\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"3jCMcfuTCNlrRbfGpVwi32331oW-k_6dNAcgn3onF7uPuljdEoKWnQKlpQmIIYbIc2YE3daXPoij0MDP-9e12gJtkEUTQenWFr6GQg7uq_lG4qLN44DK8ZYbSqjg8XlZo_L3xLp5sZajcGQjSmwaFLJtKJDZAVUacv0DOn0XASIT99Co_YOHV9HVOGE53ib2A9iYVDB0G8Yy1T0Pv_PE9f05_rDthW8Y2ohfZRXJZb3M5Y3p_it0Bc82SFB_JOfBlchijKUNctIpxrJYEsEQ1n3lxQm8cEPAsN6PAE4Vkq9bNwfR0-TIAGVUGEcqwr6Fj04d8IeMrCXXyduhwE9EwQ\",\"e\":\"AQAB\"},{\"kid\":\"9YufmVW-6Uo\",\"kty\":\"RSA\",\"alg\":\"RS512\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"0eHxMnRwtcf5XF5_H7XoMagIg35pG3425dptYItlpV6rgvMQc9YJf31MpSZxfAPz4wxWndZknYTFLYvAPiowc1j_yFe3f5xPkPxgzxDzetO_d5a5ufpN1CLFTwRscNWgvDkn1j5Q-L-si0_Q8OJhMbCKe6Erqm-G15WUUviFescf6NCxx2n0TcFIyTbnPK1yhQhpj2llT-UyAfQ1WE1d0Hdwnfw4OwnX0ktxh4rpfuIq751qahf7XkRknyvN58oJAxxnYXCfeu3KO4XvKpDsDdouhcO5zg3Edjwk8X9EgktCZP1ae52GkXvWNH6PgW8RoQIS79UlcrR6EgarvwXjbQ\",\"e\":\"AQAB\"},{\"kid\":\"Fjq13e357Tc\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"qAdmC2910VTRbGA0oYZ8qMK0gsjrYEZ_N2_82beunVssnbuzn_GTUfrLowYOIEQoMmJ_7qLfdxqHjdhKpuJjB8KeCNCE3WrgKFlk_TELh_SvaBebxMkf71trfW74yQBU_8HGXySWhlTUZEYnlRWlBLmeTHQ2c0j46xGF-konyXQglzdd6Fol_cOyDe-BE1AgIyrNV6fSEUczoGvwZPR3gYBeeklAqYWNZlCmO_RM2msIpXIcaATh_dpfHnzf7CjxocaWGNu7jGjVbeMEYOQToAyx6UFe2QebDTboLMpUNDA-Wc3OrGd13SSGwXC2YeknJwNFUdB_aS5I8Cv-yY92ww\",\"e\":\"AQAB\"},{\"kid\":\"RTGCFN2lS5Q\",\"kty\":\"RSA\",\"alg\":\"RS384\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"2-idpKxvh-Nu2GFBUg7R4D35_J-sOFyx376FKaAE_X-ZakbeudFVX7a28XgIyhRzhyQXL9TPOus1FaNioOmKVjwctENbO-zOBGhGB8dC6R2zopRCIdkMmVeeqtTjlACm4FbZ_b7E6bAgr0zWQv-j9y23GBbGLyThJn4KEWogA3_ejJK-vvyDU24PDZ9jj-d4ZunKjxn_7BezzwZ9bzkKj77dQa9iB3BCaZF86ICGsU2Wsk3V5tOGYy1264elLXBMoOyrDXDIIH6ML-BCMTOVAoyepxnX7iYoFA_nW6YkFm-dfvPeZwSyUvaNoYpzD4pozogZUcLrh5JKcTrl40hPzw\",\"e\":\"AQAB\"},{\"kid\":\"SDl5j5hXhNo\",\"kty\":\"RSA\",\"alg\":\"RS512\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"4NIvAhWCJu__tF9LPTvWIbid-ZTjknw8jYPVxO0es4xz1QlNDfFzohpBW3ZCpgJntdJ1tqhnF9nLlX_9BidO_UnYzSKwl_2RpcR15PUgliw1BKWfemxKGWnHWVTmnUYsV8LVFt7w1yyAELhmHmTCAdGfw5L7CULQpFq7PJ7JuAH33Cwz8InnfLnuiMaJrkMoKhBw85fik345oLLORd9CotK8GPvLScvrWPUQJVVV5fiJA9NuaoaTFfOv_n4j2Pe4se8jfN-v_XndeLhwCP27USdSBbUvuArFQasAJ9SuE-kz-QkcDd80jZ3x1zItRzb7H1PwfJctlPsKkvrfKCuHRQ\",\"e\":\"AQAB\"},{\"kid\":\"ky-itj26WUQ\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"u1hS9mny5ZJUDmqscCNC7P6_xwlJJt2ezDi0OePE55f9gOk78GFJZnFn46Q7spp7NHMTQXu8i8S-tsLcg5C0Tv9XwK6P3T8V5ULGNmSxnpdGTEpw2t77YBKBUbReLNInlp631kHznPO0M7vLyMRaiMWyhCpi1Mk3sRi1kBu0bxJysodxN41bPNoEHcvE4FfLDl-VgB8Y9Sj0ImZlbZ-r7MKpV1hpFLOpM1OaaaF6ymQDyfoeGNm3bLHfynO02R-1fOQp4QqX_CgOHZq5JMZaqgAd-PZ5wHSVEIVBjolh0kAx7iV63eJDJ5LQc_h-vah-q3ITJNFIsbNWZzLvCpTdlw\",\"e\":\"AQAB\"}]}", "_crypto": { "subtle": { "providers": { @@ -756,6 +477,510 @@ } } } - } + }, + "jwks": { + "keys": [ + { + "kid": "Uf4Aui2LwB0", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "2XyeLRVnEDEFlWgrJh9KxY_bVbglTTKmObhTfm1Ej2hy9C2drcyusmp0h8fmN4AFcePfB2fQj1GGkUmEnnjlWcO__7zhYmwKh7yacCKfbBpt3Z7Ns5CU7vOYUNDIBZr3evd1yPlQlqFCMQYvD81R2UumQKlWqkipBhADH_lJEEcpThUx7nP8Q8BiKBZwBUpd-Ens3cTiNByDoPjmE1WQjyxUZPfhAmx3eWV9P8uIcXWrU1zUZ-En3YIZFP9UZypdhfjL12GYDYYOzvFsfkYLMdwl4Y3mnRTvAX7UpYP49B1jAvPmfOJk8Cb3-FQbB8xCL-qp4BtZsudfGy6RImyoIw", + "e": "AQAB" + }, + { + "kid": "uF425enm9T8", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "09PS78OQshorqC1siNsFfaZL8xofatX-ycTD65QZbhMRANxmHGhwwEi-vqZz1TcQewrDrD9KdoajywmBVacfPqwz--MSN0CXRsrFJXEnZw1A8CLywNYHinrNHQeihggCAKxRi_nGAwLShIGS3Huwri8p0KPPz8RcQw4qzemXqG1F-qybFMAq-x__w30aHGDyhEryratd3PXd8mhNYONYO74k1XxAvr_YGV7XuOwkshZ-HYGL8KK9c6HP7hl4BX7SgC237D1HHWKbkWow6_GlDFJJERoR4-vq9vFfjgL1ceW9-FwH2N1h-NKk1PFvY0YQgf8emF4_dlOBmUESbUf_Zw", + "e": "AQAB" + }, + { + "kid": "viU2tIvuLww", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "pTKLEyViSf1ODoT_Htb9P_tR5plddQ4zN4bpGrPND-ZwgOqoC1ru_kXsDzO7oE1iN88Y7GgOzi7NgH0q-xbtAZuxbTxlx8igWFGGxnXDcs6wacllC8uC8IOi4elBHB1lib6qpwnmuYAPS3IfpJ9DsSvyj3wgR2tIz002gwUwBF6G6NfBN3CHEgETZKYsBnrSRDyJkQQJKoTq1Vw25PxSRtXvnokqOIw0F6FiUbFck5XSlAUcBAwQWPNwGtgBIHwzON1_n5ytNLO1c-BMT8UT-zLGbR6EnepiTQhmnmeQdJMVadoJuVy1O8hof3hL0G3z3A_xffb27ckX730mhywYrw", + "e": "AQAB" + }, + { + "kid": "o8nH52jwn2c", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "E25JdcHqdFk-8fghlScNwtjwBmm8eUXARj52_ozHGEc", + "y": "HrLiPiWCHojeckmYZzF9Qy2IYTPXKUFT8zy8jQpqgpY" + }, + { + "kid": "wX0CFYxMzhs", + "alg": "ES384", + "kty": "EC", + "crv": "P-384", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "EHPE4G1hj8l7ABfDOzzNtKMW-OLLcZ2uIyS5qauN4AJSWh13Qa_xX9efWJgT1EE9", + "y": "q9DFWEPRsUauic5V9KaMv4p64MWr91FiUDdqEY5jZ3X73EBfVHfsjpmhLGyF4QFX" + }, + { + "kid": "FRGKO_dxEe0", + "alg": "ES512", + "kty": "EC", + "crv": "P-521", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "AfhjS9ht8Op15hBCSYCLVZt17ePP7OKxoc689tP-zZXKcziD4rw5BSrkJY52bfECCtl8RzpT_RZELCrWIg6a1JOQ", + "y": "AHdOt4t0tA1EmN8T__k_pF0gWLbTAqhDwKJO4bnJY20eHcmzyxY_Ed9WAJVr3uFOEmQEYNnoNpF3XqD4rjquu6gT" + }, + { + "kid": "h0uFAsRw60o", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "0DWILb0UPZcMAUsdM1zqWHu8XUy0h1efeOMMr47IRJCJPlrCKOU_Bm6NTqhrMLSjsyFfUDjow-QJEvggwWe5SecvuXH5Peq-K8TVtsq61OfaIGAstDeZE1V29p3xl4wB9zZVlJc8sp62dx9H7TNdReRgEaNoqPxClPopvbP7RSJ_2dpSpz84TR08N2qLlasadAfGD_WjAoMpiNJa6q7Dv-AcPEmYXXpiVWU5lboqz5AbLqYMKKrOMPao2LaivhhrGQgoXqZin6esyWTdMwEOs2M_lFCVqB5kdk6N0ixZVuRVsEWXfzXsbMQ-W-YS8OjEMYqPt0294Pu8-3WjmfI7xw", + "e": "AQAB" + }, + { + "kid": "2RMouKmsPsQ", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "3U4sJuGzRPaW_2ih70Q_LJ0as-Qtpmn4ydnPy5af93UeDolx3KOPgrZvTqeK46eR4NcU-4foxR0cXEuqGsskcSpFOz9G7mi4bJRObvB0dF86OjStvwfQirZirjw3OOF6YbPL4AEgBlpq5bWjYlf7o97_zd2KgUF-QCseKD0hVIu-DGx5CvdD1nrFo-RKV3zkDM_u99ZgSSkC4hYq9CqvlX_QFdexXFA5OZYQ7eI26kWzCKfX1Nt5HF4goDlsfT24ZfT9CqxJUJ5G2t5NfYgxthzntQyOLVXMMq4VK1xwSPV8ck1yEfTjTBsKd8b7GKLMEPF0udgdpsapeLHk0PyPiw", + "e": "AQAB" + }, + { + "kid": "V_s5jqeGNsc", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "sIhknJcoxLOH0PHoNQj-7-SVqJ-r6TS1GwzN2lWl2h9mRY4uGjk65tZ8kOQBRbOwqBbvsBmk2CuEbdhaz4cnJl6JaC7W__DDmNrRBWYYBQv2sx4KvRcyfnAUinAKfFajv7jP7C-b4-jfrQsov9HwPQwj9yBOrR7fBbn7k312jVgLeGcLlvL77ThD2fUtD8kDSdr-68E3aZ_O2lzkLFoEvBB54Mfr_pnL-Jzdt2BCvAKMpONBkylKwc1Bdq4vHxa3RoMTUwIbjfgDZwmt-EDYXPxAH0n2tKU4SnPnxGTZ-drF5byhKsc4FisvAPpfyVCyijBqXeQUajC4kECXDkYm4Q", + "e": "AQAB" + }, + { + "kid": "Aa3tTgNx6LE", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "yWzajdMZK-2xhMF_LrjMRX7IuakFljWLp7ZAjSwin20", + "y": "_do1G6E_JZogd17x3D-q7_H2jnlF5bACQMRU-RH1U5o" + }, + { + "kid": "jPTTeAkuQBc", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "v2HpJ5KS8sZPNSp8LbiiRC2r4RI6fZjvQ-awyZUDOlBQQywOxltwg-hdRxH0J2-_9e29sMZddHtW2tbJ1K52cKIuAiV76rrGcarRvIBxv5817k-folObt_FOpCwScTW6DfRYG71tkfZ1ATepI47iDrKA3-KYfVp7ae2gaGnbLI_dFdr_zT33ezwaSIVc2gpGUjq1Do51bXbhq11JLiXtzK3CPlWJe2il4Nm1GhPycogWiCJio7DsnUVoGfRQEjNaEpToH6kKsgR_-5XafNhS4FUY3z5a0AQd-4LK1ghKg73Gjqi6RLTj_4rN0E9QgRVZzOI9VxXXsJ8zNTIEMulUmQ", + "e": "AQAB" + }, + { + "kid": "_ndQa2o4Ogc", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "DfCDBPATY2DvuAu1-LNGzSiQDuuLigWCttyRI6T7Q1M", + "y": "gc6YGw9H3KuzBnsDiEqp373jVcQ_blDyvnMuocwLsRM" + } + ] + }, + "id_token": { + "signing": { + "RS256": { + "privateJwk": { + "kid": "ZcAZakICTdI", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "2XyeLRVnEDEFlWgrJh9KxY_bVbglTTKmObhTfm1Ej2hy9C2drcyusmp0h8fmN4AFcePfB2fQj1GGkUmEnnjlWcO__7zhYmwKh7yacCKfbBpt3Z7Ns5CU7vOYUNDIBZr3evd1yPlQlqFCMQYvD81R2UumQKlWqkipBhADH_lJEEcpThUx7nP8Q8BiKBZwBUpd-Ens3cTiNByDoPjmE1WQjyxUZPfhAmx3eWV9P8uIcXWrU1zUZ-En3YIZFP9UZypdhfjL12GYDYYOzvFsfkYLMdwl4Y3mnRTvAX7UpYP49B1jAvPmfOJk8Cb3-FQbB8xCL-qp4BtZsudfGy6RImyoIw", + "e": "AQAB", + "d": "HuwO-U3_t1eg-Zsz91mfofNQNiHWe-FlrPM-O82BX_pzza_mqV1ewVNNeji7zMxQ-d5ySXVDO_1VarbPOlDqGxcv50aNrRa7cI0qUCM8E3y2fjoj-RHnewn7cBIfPlzILx2cC5UXFjObW6kLa-2_Y2vUGYF6Jv_puEjyiMtCziNs2cJgru0IFLXVRw0AEqCOnnQ3Ea6fov4-bXF6Ws3VAZyvl5fFX4d_2BvBXW0nKMx2yL2653pqiOCobqY4lQu6gDo4_rBZJQ2dSPqNt3HggEpNKDWMNYBawMK0MIT6mNwZFGRJ8Y7imMUKbnhj5M8jNtFiSpFpXo2uiBVSW7Wc4Q", + "p": "92BXI9IOo-rX8Ot91nF6jzHSynwO45W9K-IBRMLKZiEVk0VZGMs-lSsCx6I3aCq9FzavZ816IZBYb2JuMrbMj85mVzJkndQRNZ2v1SchLP_0wnuW2Ud8AbOHLdzkGVuea32EHxWG6tGF095wuWX4K9HTHgo28i1MvUfx2pwQnYs", + "q": "4RGIzIXZCWUb0YkFMzh4yq5uMOP_6ucuWHgIZQeRfWp4hxdlR9KZ-5fAWrM2swrIonmiY7kxEN7nzMXj9V3TraEGFhwh2gqs4q6Yf7aLPIj5NNgEOlzHriOsPM-8TjWST15i6Xmv3zt8n3i0cj-N3SsjqL06nlxBM-_QWDTtosk", + "dp": "xJbJaWwbumR9a7aZ8HuKPJYJwGTKqE5tYZxgCbcLhhIwxTLNVYjfmUfvE5t0kNG2J-aLiuCeeGHwBcShcqgW9QnABvfDQjIv4v4HqEtKcCqQ5qW1AcNvZyK3ANmUZBqNUTsUbmd7Ks2Lnw4dYxkIGjrLngncFKWvYJT2PRbdlXU", + "dq": "mSjLhRKYrZIGqkKqLT8CxDqLde3SG9KScVXNsKLD2Sr5NkUvgP7KFrIgDhji4lg2TIqlfWNrBmYKLAmGpVTiVce8UpN2XeDh4aia0l4wxlMX82QFDIpSwCg6b2-WX0qJdEVw3h0XF7xthEAp241wRs-yhoOvPlDddjB-AWiTRjE", + "qi": "Yd2G9jk_3V9FAV-p6XzJHPvMn2IqISFdbk3V00ekxi6jmdcHKJ6loWPrYf3NB6D3ecTVEm9r9sMnM2_SAOe4R7G7wRJLp-LlRFMwaID9Q2H-3TiHzoPtzCGiAhUdmUd4ABYg1Vpz48ti58Tn9-SSUcr1-oW9t53mREdZgGbqYzY" + }, + "publicJwk": { + "kid": "Uf4Aui2LwB0", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "2XyeLRVnEDEFlWgrJh9KxY_bVbglTTKmObhTfm1Ej2hy9C2drcyusmp0h8fmN4AFcePfB2fQj1GGkUmEnnjlWcO__7zhYmwKh7yacCKfbBpt3Z7Ns5CU7vOYUNDIBZr3evd1yPlQlqFCMQYvD81R2UumQKlWqkipBhADH_lJEEcpThUx7nP8Q8BiKBZwBUpd-Ens3cTiNByDoPjmE1WQjyxUZPfhAmx3eWV9P8uIcXWrU1zUZ-En3YIZFP9UZypdhfjL12GYDYYOzvFsfkYLMdwl4Y3mnRTvAX7UpYP49B1jAvPmfOJk8Cb3-FQbB8xCL-qp4BtZsudfGy6RImyoIw", + "e": "AQAB" + } + }, + "RS384": { + "privateJwk": { + "kid": "A5n2jKYZ9zY", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "09PS78OQshorqC1siNsFfaZL8xofatX-ycTD65QZbhMRANxmHGhwwEi-vqZz1TcQewrDrD9KdoajywmBVacfPqwz--MSN0CXRsrFJXEnZw1A8CLywNYHinrNHQeihggCAKxRi_nGAwLShIGS3Huwri8p0KPPz8RcQw4qzemXqG1F-qybFMAq-x__w30aHGDyhEryratd3PXd8mhNYONYO74k1XxAvr_YGV7XuOwkshZ-HYGL8KK9c6HP7hl4BX7SgC237D1HHWKbkWow6_GlDFJJERoR4-vq9vFfjgL1ceW9-FwH2N1h-NKk1PFvY0YQgf8emF4_dlOBmUESbUf_Zw", + "e": "AQAB", + "d": "SKmj9Q0_yGiDy0fxsCx5gLWX3gd6-Xn40ZvGnTwLUSAHOCVifaIx8zPBAsM0ftJJu_tgTejUET50V0SmcgxHAoetuV0WNY_ZlLYf1I0xN_9q5DUI0q9YnN8tFyU0UgfTMAnsWzjN_OBt-Hg-OZXQcJ_LFz_qHFo-T94_Pq0_kc1ybQj8mTO94rTJyw8I8tfDCBkLVKcrlUin66U09sqZbwbMo_HKUy0PTyEs6YqkU96yWMbgEmVcpPFR8mM0tlT5tel4qya07IGVIrpLZ5lvxWu5rD0etEO3he5kPkJa7VUchxttpv3W7_SCkSN3jb9QN5j2DCt_dzpRkqLdkNCHwQ", + "p": "6fkIdWBghXnLyAUpE6WL4_Evxx4E2WWorPICl4epAUsjZ3Z1OY63CuU-Iybv5d7hjt-s7QAF6eBgh6INVDmWEKPimIn9RVoR6d_bIn85KGaXz5ZyzEkeVLkUOTrksqQVnAI0g-Ex0-a0J-Frc84CKhbUw0zB7CfoB4vTdsrN5KE", + "q": "58URI-RPiEewkFbRmvf1C6k7ITO5yEAAak-Vc2RIyaNQyEtswo5izVC6NPpMhyy5CYeVjD0bsWXu_5SbLP3NCjS26LebDFnOJEgJz5oFgcvNXXpZKpnOvUsEbD9MHaluCxIFEkVcWFYEXAXeOieD2iH0MNphLAu0G5sd01hvXwc", + "dp": "DMRB6eWwXpgevnNJooDN-UoXyU2iBhq98XHjIlGMrz1iWSrlipZ29mk70r81J93ZgOpDjUsLB4_utHfrMkVSIuZOXvRolXgssg487szyWXn_npwe93al6QmQSO8lu3molDKqmueWyHE2M1bhfhgnlhRY169AhZpH1uGSUFEQmwE", + "dq": "eV8p6rHVNHjWbcAJZC4VlVW6MVj1IXjivsmOai9KLs3nr_xPqFMISpzL5pJtIRy6idMG7bnSlsPatN0NpjIC_iU85AHCoGUnHrja6myuFZq0oQ9BQp3pNhfi6Qz8v0vK5OE65qaMBXaGMeqgxbOLyN-fETZLTNWULCC_Lb5SFGE", + "qi": "fVNPfJfumpsd61ntp53E1mC812AP0L2yfMTwDw6DDgb7lUjkjewG3jDLlCIYU9RoUr8vh6D9N_6nAYJeKjNg06XOpjdIo6m5zG_jTNtaNUIniAu-DRQZeTdSQurNZ_yCqR7ydbZD73pbDlIwi5CVIwlr7a_xi8Y37Llxm1dn-cU" + }, + "publicJwk": { + "kid": "uF425enm9T8", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "09PS78OQshorqC1siNsFfaZL8xofatX-ycTD65QZbhMRANxmHGhwwEi-vqZz1TcQewrDrD9KdoajywmBVacfPqwz--MSN0CXRsrFJXEnZw1A8CLywNYHinrNHQeihggCAKxRi_nGAwLShIGS3Huwri8p0KPPz8RcQw4qzemXqG1F-qybFMAq-x__w30aHGDyhEryratd3PXd8mhNYONYO74k1XxAvr_YGV7XuOwkshZ-HYGL8KK9c6HP7hl4BX7SgC237D1HHWKbkWow6_GlDFJJERoR4-vq9vFfjgL1ceW9-FwH2N1h-NKk1PFvY0YQgf8emF4_dlOBmUESbUf_Zw", + "e": "AQAB" + } + }, + "RS512": { + "privateJwk": { + "kid": "-OQuMobAJz4", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "pTKLEyViSf1ODoT_Htb9P_tR5plddQ4zN4bpGrPND-ZwgOqoC1ru_kXsDzO7oE1iN88Y7GgOzi7NgH0q-xbtAZuxbTxlx8igWFGGxnXDcs6wacllC8uC8IOi4elBHB1lib6qpwnmuYAPS3IfpJ9DsSvyj3wgR2tIz002gwUwBF6G6NfBN3CHEgETZKYsBnrSRDyJkQQJKoTq1Vw25PxSRtXvnokqOIw0F6FiUbFck5XSlAUcBAwQWPNwGtgBIHwzON1_n5ytNLO1c-BMT8UT-zLGbR6EnepiTQhmnmeQdJMVadoJuVy1O8hof3hL0G3z3A_xffb27ckX730mhywYrw", + "e": "AQAB", + "d": "A8eCPa_kmG4TyRVAg5jGNnPYzdPDEEMrkiD4rZm2Hp-rrJIHF4C_Evt6iREqlmJEKvlb8pyhf2oRXYJ_keWrtRZgxW-qTHB0lVCtgADVtdywqzA7qudprs2e062dxbeOc8ue5S9peI5LdfMTHOsKhhUhTtMM0gAhrExx63waOx9SWbrYIB2KqeXqMrtfXOz1wWMr40PRtvTM32W_XTJPBoWQVW0Pceqc2trKTFNqwmkkKhETmiru1lH88I4NTDkjONP3AAMf9G0d3PeJ72TlBlAXWVIzEkAh1HW5TXGWm6k8L8w8UuZzQUxQFOaeiED48Am72BpayV0WV3mSfif1kQ", + "p": "6RIb5ZTZa4hvqC-HcUZfssDEZJRu0eQWH8CNBOs9upLEFOi-PgyDYKZKcnHw4OpskLtqU44fBkwWNtyXhuSHemNkr9HSQ-rk37Ku1x2o2TZTRdEEUJx_FXUEvMbI204Y-qBp8-cktDfpVj2yqs3HEAF7PkJ21kYald9WWc4m3hs", + "q": "tXMLOJU3IY1W5QHbU69RarHd6r7wHIHDZaBe8bqgKZp4uRNZZpkvn6DAtuITu-Ovlx_9pIGPErcCr4gvUIaqtueYfEH89OslwBztWSYEQQ0Tzq67xb4rM3kLN3kaqGp1k9Z0uz9coVQUkA7FYl6YkmhpAplC2Y91MFonmh2RSP0", + "dp": "N11l4xOI0lKGs50Wv4HIGd5QyNO5v4I-_yvuU8zNzRQwIAdpqbOvQbY-2RDX95W4VGkwyMhp9kT8weuE0zZWOGyD7oAZQqj51WnMvqz8_xw4i80rCTsjtSUnCvDtparXpDGW-alevrDJbQMa_hgDwXmYnSGMuTnN9uwmxw6BjSE", + "dq": "Xo4dAtd_a1SkO6LEENADtX4LDxGBPtnAYW05DO8cF5IP5yJWLEkXsC-tPaCCeB8mmbJqExgQ3sfP9nkZbvU-cSIvLFGW6GrBuWNZrGNLRDr0X3hfEaUQDjq9xaKuaaVQsEHJgup58vhF3uxTn_d7uo_-aQRE-erwPso8aOuPkmE", + "qi": "PwyJGUF0wc48kbAm_WtiQUU6EsdluNY-Um1abKrckMLCj1OpF1oS0TppHNKtMsjnfOJgkHzZm6tzgnjf3EOkFC-usx5m5mk34FZ5r7x9nTnwr9Roe7o2GxbFxp6MfbwZQwFTRs5r9T-h_hiYG6cZuJwxkO-ta5PanWvysy-wJEY" + }, + "publicJwk": { + "kid": "viU2tIvuLww", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "pTKLEyViSf1ODoT_Htb9P_tR5plddQ4zN4bpGrPND-ZwgOqoC1ru_kXsDzO7oE1iN88Y7GgOzi7NgH0q-xbtAZuxbTxlx8igWFGGxnXDcs6wacllC8uC8IOi4elBHB1lib6qpwnmuYAPS3IfpJ9DsSvyj3wgR2tIz002gwUwBF6G6NfBN3CHEgETZKYsBnrSRDyJkQQJKoTq1Vw25PxSRtXvnokqOIw0F6FiUbFck5XSlAUcBAwQWPNwGtgBIHwzON1_n5ytNLO1c-BMT8UT-zLGbR6EnepiTQhmnmeQdJMVadoJuVy1O8hof3hL0G3z3A_xffb27ckX730mhywYrw", + "e": "AQAB" + } + }, + "ES256": { + "privateJwk": { + "kid": "V65ikeE1Yc4", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "sign" + ], + "ext": true, + "d": "wCEJc8yBwRN-k5mlIPOm9yLEigGlqw9emzWD_8PNdhI", + "x": "E25JdcHqdFk-8fghlScNwtjwBmm8eUXARj52_ozHGEc", + "y": "HrLiPiWCHojeckmYZzF9Qy2IYTPXKUFT8zy8jQpqgpY" + }, + "publicJwk": { + "kid": "o8nH52jwn2c", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "E25JdcHqdFk-8fghlScNwtjwBmm8eUXARj52_ozHGEc", + "y": "HrLiPiWCHojeckmYZzF9Qy2IYTPXKUFT8zy8jQpqgpY" + } + }, + "ES384": { + "privateJwk": { + "kid": "5tBbcwSTrks", + "alg": "ES384", + "kty": "EC", + "crv": "P-384", + "key_ops": [ + "sign" + ], + "ext": true, + "d": "iVCjSiz6nIqd94Wki3XMyZpb95gS50mVOjFYGPvtTy5VpwzFp4-cQZXcesVZaw6v", + "x": "EHPE4G1hj8l7ABfDOzzNtKMW-OLLcZ2uIyS5qauN4AJSWh13Qa_xX9efWJgT1EE9", + "y": "q9DFWEPRsUauic5V9KaMv4p64MWr91FiUDdqEY5jZ3X73EBfVHfsjpmhLGyF4QFX" + }, + "publicJwk": { + "kid": "wX0CFYxMzhs", + "alg": "ES384", + "kty": "EC", + "crv": "P-384", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "EHPE4G1hj8l7ABfDOzzNtKMW-OLLcZ2uIyS5qauN4AJSWh13Qa_xX9efWJgT1EE9", + "y": "q9DFWEPRsUauic5V9KaMv4p64MWr91FiUDdqEY5jZ3X73EBfVHfsjpmhLGyF4QFX" + } + }, + "ES512": { + "privateJwk": { + "kid": "aiX_yiCymPg", + "alg": "ES512", + "kty": "EC", + "crv": "P-521", + "key_ops": [ + "sign" + ], + "ext": true, + "d": "ACA_GjhO-rUML0t0WMVWAEGMsJMAh--K8ijMKiGhRCRPDdMqu__dqajOiV4AsqoM8KjK_AGcbrCpmKtQ87HoHwQI", + "x": "AfhjS9ht8Op15hBCSYCLVZt17ePP7OKxoc689tP-zZXKcziD4rw5BSrkJY52bfECCtl8RzpT_RZELCrWIg6a1JOQ", + "y": "AHdOt4t0tA1EmN8T__k_pF0gWLbTAqhDwKJO4bnJY20eHcmzyxY_Ed9WAJVr3uFOEmQEYNnoNpF3XqD4rjquu6gT" + }, + "publicJwk": { + "kid": "FRGKO_dxEe0", + "alg": "ES512", + "kty": "EC", + "crv": "P-521", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "AfhjS9ht8Op15hBCSYCLVZt17ePP7OKxoc689tP-zZXKcziD4rw5BSrkJY52bfECCtl8RzpT_RZELCrWIg6a1JOQ", + "y": "AHdOt4t0tA1EmN8T__k_pF0gWLbTAqhDwKJO4bnJY20eHcmzyxY_Ed9WAJVr3uFOEmQEYNnoNpF3XqD4rjquu6gT" + } + } + }, + "encryption": {} + }, + "token": { + "signing": { + "RS256": { + "privateJwk": { + "kid": "sXc7dO4vwZg", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "0DWILb0UPZcMAUsdM1zqWHu8XUy0h1efeOMMr47IRJCJPlrCKOU_Bm6NTqhrMLSjsyFfUDjow-QJEvggwWe5SecvuXH5Peq-K8TVtsq61OfaIGAstDeZE1V29p3xl4wB9zZVlJc8sp62dx9H7TNdReRgEaNoqPxClPopvbP7RSJ_2dpSpz84TR08N2qLlasadAfGD_WjAoMpiNJa6q7Dv-AcPEmYXXpiVWU5lboqz5AbLqYMKKrOMPao2LaivhhrGQgoXqZin6esyWTdMwEOs2M_lFCVqB5kdk6N0ixZVuRVsEWXfzXsbMQ-W-YS8OjEMYqPt0294Pu8-3WjmfI7xw", + "e": "AQAB", + "d": "We41UqQvoOaj_c8G3s-MPQm884OVGjxDmkBfk1iVsd_IF9G1uVpDXbDUghwGqHPtnQqWE51xFGNjc_kOlNsLUht0JqJO6GqDF36eXKS2DA3UzlUcGf9Fs-8fQig4WJ_VnYSvdE3ansAkydEODSs5Z13cDOJK62qCC7z92H1r05Dp-8mBNekU0YK-Hbh3Mmk-JCgSsS0IGfdr8oD8XGPBItqYCepnyfynPXm1sd7M9WoXt69zVJ5DS8lngWkYDkl7zEnXYTBiF47GZkVCbW-3Mu44A0_9YQ1IaWxL8fty1poRjL1ZIg3W1D4UycK1mYBee0oJJu_-4taCXbqeUBhbYQ", + "p": "-92h_CUTVUxBGaDwxPZfNfdEu-kx4jrPrawMNHeKUf-J2T3T-KKiFu77mR8aBe4GR4owUZFiPoeybS0eqrlwm2b3-Ay9UB_CvwkLmGnkvrc3WsumAUuJ_XIL3T-oebEoUnum-uqjO9XYcO2JMT1j1oODxw0RyoLiEiOzqAuhqPc", + "q": "06BzASHYJ1BpiWbD0T_tOiVKDe3vwdaVEhaExkaS731KFwA1ve6pStjjYW6-eBlkTaA3hGHko1uhC8IpSa3pmnwHx_bllC_QQVUzuNP61gG_ZZ2XVluPkaIaUwo0dmfJMmW1rurXUtCOsoJq0JIRH7-xdiso6k6rCwCXFobdn7E", + "dp": "9ZMYCd2siBKdtvtxRtph4yCBaCbreIWXUOLb05xqxaC_K45ZS6hnGq1Rq-7jVLzMapyWmDGE9SsiEclYiWXeIee4B6eEPsd4_wM2xxkY68uAsYq3BbQ9i1zTrJoRDvZpNmNSYHy_Q-wx6Ynxpo0Q92ur5T0dB7Ot8bnVxhfxO-k", + "dq": "SToKsUiZt7jOW9nwRfZ9ypHelwVO4d6zREgAd28yJqZOvbi339m2QIzd2Pft9jarC2U18JvC9nedOSldCf6gh3EFbD7VX7pPsFugAwNulyCRrsKh_CLAgd76huNQFeyBpOumuzjNev1pcwFHnpX8UOUOrdnvVWwVKUByBzxxcXE", + "qi": "Bxt1DNvcBmKjEHDbr9OaiNjsRMKUNwHNnyC-raWOeMy318gCZtZTE0W-c1nTK5_ZXZxaQK4SgAN9bmsav1zvZUhAGruDsjzrv7r5qQvN6dBUNzZfLrddar9rZTbNEuzAVCyrzsIlp946NlipijG8RXkcf5-XA4q_WMICfpTi1cc" + }, + "publicJwk": { + "kid": "h0uFAsRw60o", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "0DWILb0UPZcMAUsdM1zqWHu8XUy0h1efeOMMr47IRJCJPlrCKOU_Bm6NTqhrMLSjsyFfUDjow-QJEvggwWe5SecvuXH5Peq-K8TVtsq61OfaIGAstDeZE1V29p3xl4wB9zZVlJc8sp62dx9H7TNdReRgEaNoqPxClPopvbP7RSJ_2dpSpz84TR08N2qLlasadAfGD_WjAoMpiNJa6q7Dv-AcPEmYXXpiVWU5lboqz5AbLqYMKKrOMPao2LaivhhrGQgoXqZin6esyWTdMwEOs2M_lFCVqB5kdk6N0ixZVuRVsEWXfzXsbMQ-W-YS8OjEMYqPt0294Pu8-3WjmfI7xw", + "e": "AQAB" + } + }, + "RS384": { + "privateJwk": { + "kid": "nqnCX76-cLk", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "3U4sJuGzRPaW_2ih70Q_LJ0as-Qtpmn4ydnPy5af93UeDolx3KOPgrZvTqeK46eR4NcU-4foxR0cXEuqGsskcSpFOz9G7mi4bJRObvB0dF86OjStvwfQirZirjw3OOF6YbPL4AEgBlpq5bWjYlf7o97_zd2KgUF-QCseKD0hVIu-DGx5CvdD1nrFo-RKV3zkDM_u99ZgSSkC4hYq9CqvlX_QFdexXFA5OZYQ7eI26kWzCKfX1Nt5HF4goDlsfT24ZfT9CqxJUJ5G2t5NfYgxthzntQyOLVXMMq4VK1xwSPV8ck1yEfTjTBsKd8b7GKLMEPF0udgdpsapeLHk0PyPiw", + "e": "AQAB", + "d": "A-CFqQ49oeiP8pxM6xVvBIm7Lrp0u80KPARUq-ovudn2JqkqcsF64XQs3zqgi9IG23InQogd1Kib4YaeEDqLIP8MPkos9oaQIx_z25MtIGS2dErfxHGwizlpHs3e-oQlsfwhzs-7_pgt113yr61bhQI_3Yg-rplM33bMJ-pFm-lcKYSca-IE7KJvVolQWBuF3Bxv2St0s1uKWDkRXvxCSxDEFu7NMzPtdjLMDpsjel79YPQL5ZyInw1sMl_qrSbmP5lu9KuvIFCV4GL6WeFb5AD8t4aLLvEhowdlKFDWnwvE2wJCFu0_EXUXBM_AgwAHKfTOjiauSslgS8IRQCHeXQ", + "p": "7iVzm1aAMiLieCV5oU1O7kiVxD973trTQT7yjJN2xowVV1M3KM-1cpTYqimTzstgVtY1KUF_wrtOMezjYa-ezwJmBxmuvcRTqizXul-LXTuVCsVi-eZv0zr4au-tj7vXVa5qJLzEknCcxOqdGvj9ofPIle6up82fyI9rJJx3AE0", + "q": "7eWBqrDgCp8WHNJRPd8ZrDJn8Cq6GWGwHKuhqPz2P5n1SyQZDetp9mXSl-wEoTZJw_iD0lBIQfqX9H1KL8q5HEi-ZXOugxkEppFpOcl_coug5LXkFHTQNyh8-dAbFbcPe_Lp3d1mz4jLWmBd25qCoCu2cuLFVByACNU8Mq6g-zc", + "dp": "rflUNGYD7xyG_6i463qzr-X860pJbuvDqwWWYdYUzkVmDc5wHHNpJdTRV7ZaEZeHwMhqO8Jq2FLHdDePgTywMqCY8pTzkBSN3mM2EiRchnbRkfXTMacDiHerJUwFKlzamfB6AG6a2DRGgqC2tw6xE5ApuEaO922DThxf9HYNhX0", + "dq": "x8Vkv-vMF99D-Gv84RIKQvoJIjsfD9ViyJCwLnJOb1ZgD_t-Npwr3UfgMsd1k9M82p5EREY6h31iQWM8-yknjULg79zW_SvzJdUSIf69UXlDYQwFPdBiUQ9k83r4Y6HYFOQF09PqU_ixm3E1IAZ-DvbmPU-FGX7dXY2DAaR3dr0", + "qi": "52e6AQMfJk_ESAASjMh0K9QQ7D8ZsMmE7gbWCL9KS7E9AufD5IyBO9QFP6VMnk8-5xeCuOq7nFmxZRvCxGoVNT8qjjAHpPebaj3eZvkElxroBVn9cJYrtdT97ubgkHSV9SIb7mfJqn0XSUrytSomHmOC6SMWmYkGiQQxrEoVnQc" + }, + "publicJwk": { + "kid": "2RMouKmsPsQ", + "kty": "RSA", + "alg": "RS384", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "3U4sJuGzRPaW_2ih70Q_LJ0as-Qtpmn4ydnPy5af93UeDolx3KOPgrZvTqeK46eR4NcU-4foxR0cXEuqGsskcSpFOz9G7mi4bJRObvB0dF86OjStvwfQirZirjw3OOF6YbPL4AEgBlpq5bWjYlf7o97_zd2KgUF-QCseKD0hVIu-DGx5CvdD1nrFo-RKV3zkDM_u99ZgSSkC4hYq9CqvlX_QFdexXFA5OZYQ7eI26kWzCKfX1Nt5HF4goDlsfT24ZfT9CqxJUJ5G2t5NfYgxthzntQyOLVXMMq4VK1xwSPV8ck1yEfTjTBsKd8b7GKLMEPF0udgdpsapeLHk0PyPiw", + "e": "AQAB" + } + }, + "RS512": { + "privateJwk": { + "kid": "sXHVrnQwbtk", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "sIhknJcoxLOH0PHoNQj-7-SVqJ-r6TS1GwzN2lWl2h9mRY4uGjk65tZ8kOQBRbOwqBbvsBmk2CuEbdhaz4cnJl6JaC7W__DDmNrRBWYYBQv2sx4KvRcyfnAUinAKfFajv7jP7C-b4-jfrQsov9HwPQwj9yBOrR7fBbn7k312jVgLeGcLlvL77ThD2fUtD8kDSdr-68E3aZ_O2lzkLFoEvBB54Mfr_pnL-Jzdt2BCvAKMpONBkylKwc1Bdq4vHxa3RoMTUwIbjfgDZwmt-EDYXPxAH0n2tKU4SnPnxGTZ-drF5byhKsc4FisvAPpfyVCyijBqXeQUajC4kECXDkYm4Q", + "e": "AQAB", + "d": "B0GDB9OO8l168MrRhyiGxuZ19WlqQ4xVOYwEIHwZgo3R9CbuwA_2BYu2lHVYBgsgcOII57ZcWCJ-qJTyz-00CJQznU8_HIBRZygnwHXjwEx2pJBtKK4vk2gR1IMU-l0FgwCTfXsheiVkERhetuiSoz7WAEVK2Fg8NwpRqFqQF0XjbNcnwxyRrSDWCqOzHjjVN2FJO70OeAThBjP_NkiAnwilDd8h6rO6tIj-tPx4384U4w3OAd03g-QMOjS5ETqcNtO4cNcGIr0EMB70H5_2uD_LO2c1JmOOiiqXlDsiKgwBXRHlLk2049vj6tbRipKt2NYpwvbKWKqNbAmQFGFRFw", + "p": "-BsIotnyzToiN2Ot3UTJaDLP3EbaLVHE-r3MY5erX4X0vN54Ox4F6EK1HIxvlW5LwvkJsXBQgz5g5A84m4kgXKaQfVYwtvDL4h5KFcvZiOiYH21i6oHELtW5RK_eTs57tL7PSEHApb0lrR3ZB2z9jMfCWjwu0ZuNVVc8MEY9-0s", + "q": "tiZbRhU7KAymoSXYRQOLTGa5ufW8DDa4C-_yzGc9cL-H_dZ0pfVl07rgKmfjeZf2V9u8Jh-dipHB1UHRvDkzely18YW8dgiLB75TblhP9lE3TeW8BI4WpjDl3u69PHJiSR2e5zJna89NyZoCbXq94ABx8eM8-sIigrwBHJRmfwM", + "dp": "OoMlpkKAYKY1K5r2hhiS52AUZX7QNZ_zNK9OZK6AXCbbcS-Ga2rJOd2BmRoFttgsRe81ugMi-dDcSOzODOBqIW-m4-hP1NU1QD6kej95LjCsr7y8d1HjUqhU6T4Qz8Uip53YhNH8_Rl-qTVA2d96bJkv3NgUsppc2qOYLkpik8E", + "dq": "doZs_CSSktPwlYm_ueC9guCRWB072SK-Dh57-l_vje9DuXwT-W2-bdD7Tvy8-4FTrgXw30nRRLrlyzQCGx2JjsTHK7sfUBrtBQPm3DWhCqH8f7bO6pPezxOgcLke8DdqFzOsE7srqu6BKn8Jt12YMit3-bMpGe67cCCQBJ3YOCs", + "qi": "MgosYJ6fMQXER_Oi4kwUot7pOa4YAG5_7BS3Mdx2fwaAcvRQBWxWST_kS91BuV8hwncEwsoQ5dYmzufQikAjLoayUopY8mkuU-0_I6nYQ1s-ulM89wB-IDIZ8cTsrEu2ZDkkXLMhhbaAJ1zXybrEE0L3seEdJSUok6LPdc0QMKM" + }, + "publicJwk": { + "kid": "V_s5jqeGNsc", + "kty": "RSA", + "alg": "RS512", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "sIhknJcoxLOH0PHoNQj-7-SVqJ-r6TS1GwzN2lWl2h9mRY4uGjk65tZ8kOQBRbOwqBbvsBmk2CuEbdhaz4cnJl6JaC7W__DDmNrRBWYYBQv2sx4KvRcyfnAUinAKfFajv7jP7C-b4-jfrQsov9HwPQwj9yBOrR7fBbn7k312jVgLeGcLlvL77ThD2fUtD8kDSdr-68E3aZ_O2lzkLFoEvBB54Mfr_pnL-Jzdt2BCvAKMpONBkylKwc1Bdq4vHxa3RoMTUwIbjfgDZwmt-EDYXPxAH0n2tKU4SnPnxGTZ-drF5byhKsc4FisvAPpfyVCyijBqXeQUajC4kECXDkYm4Q", + "e": "AQAB" + } + }, + "ES256": { + "privateJwk": { + "kid": "QIDmU7zXbC8", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "sign" + ], + "ext": true, + "d": "wt7tPbxKjewKmlTly-B_3Alv5HuyJb-1_NTS_Hn0S1Y", + "x": "yWzajdMZK-2xhMF_LrjMRX7IuakFljWLp7ZAjSwin20", + "y": "_do1G6E_JZogd17x3D-q7_H2jnlF5bACQMRU-RH1U5o" + }, + "publicJwk": { + "kid": "Aa3tTgNx6LE", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "yWzajdMZK-2xhMF_LrjMRX7IuakFljWLp7ZAjSwin20", + "y": "_do1G6E_JZogd17x3D-q7_H2jnlF5bACQMRU-RH1U5o" + } + } + }, + "encryption": {} + }, + "userinfo": { + "encryption": {} + }, + "register": { + "signing": { + "RS256": { + "privateJwk": { + "kid": "ixvGBNxEaho", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "sign" + ], + "ext": true, + "n": "v2HpJ5KS8sZPNSp8LbiiRC2r4RI6fZjvQ-awyZUDOlBQQywOxltwg-hdRxH0J2-_9e29sMZddHtW2tbJ1K52cKIuAiV76rrGcarRvIBxv5817k-folObt_FOpCwScTW6DfRYG71tkfZ1ATepI47iDrKA3-KYfVp7ae2gaGnbLI_dFdr_zT33ezwaSIVc2gpGUjq1Do51bXbhq11JLiXtzK3CPlWJe2il4Nm1GhPycogWiCJio7DsnUVoGfRQEjNaEpToH6kKsgR_-5XafNhS4FUY3z5a0AQd-4LK1ghKg73Gjqi6RLTj_4rN0E9QgRVZzOI9VxXXsJ8zNTIEMulUmQ", + "e": "AQAB", + "d": "HB6ZeJZFb5TaLfxeTwR2GRDh1HnObMZT_3TNjGzP0tlalagLSrNEOqlhTTAy4Ll_abXC_Y6DzDnUFubgtFZm8iEuI-QYizJitnBMDUeNDwPoU2nREXN56YKz1JTiJ86mVecNLBQ-3WeqJOHmAOK9Tb4GB_89-wsYn4WJ4FWPXcJLQdggdsJ6lMnXkuNADnLJ88DttEaF_Jro7esBVDgTFWxbgLGzHWbVieSH7hUsgXlLg-1LE7cqSLJfg-0y0oUIWQJlrLr7UaRz0bLiRaqosaRtc7QycdxJRWAgVxwk70GsoPvZBL9RNINZmigApLGImxMH-AfnuZ9kURFMKCmfRQ", + "p": "8h-SM1yDA_bnhEB0kTCIcN1Uo8IMQphGy-t_-rXMC_lfpjzbCKURGINPPhud6MoA-fn7JGyOM04SXSokjCJS2Vng-tZRT5LdPMGTWWQDUjXL8aFdb2Prse42YhUBEHusAIY7h_DraVCLu9JD9i_NoPllEGDm5_YJqC-IrnZUaJ0", + "q": "ylne5lMTU4K5WXF9NOw8EawKYMjZr1z9em1kDlifqVS4Ez6S2qrjm2juVPmABmJkuSisnCK5hj-mNMgB1TY_FbhAQtX07j_QM8UIu5WIr337SiiSp3RYF1voioLzfFNUnp9CzI4KY69SEVIm5p_xQ5to1iGYLPYnImiahwHxZS0", + "dp": "k3e_KCE0evmq0NYhKT0SHQvxPTw3E2iD1je9XwnTGYftRebS0VUYMIHphb50UxCVv6sN14V2prDqZmwAjolpRJCFgsF-DKU6soKEKHHNxAiYCrdpnSqSp3CbFuoMF-n7POaE46tM9nvkX6UVV6CN8Xl0oKEkgitMfm9VJE1V49E", + "dq": "OeX9IWoj3YFKB42xhbMSfPv8_DR8FPFGlgE23-P7yzeyc88ztd2vwogDqcy6FRmSOGiq-wH0k7UimXehDqC27EAMIxOVQZaAvE9kcEgZFB24CUAStldT3Vsu7nMJuEkfrUNkmaMK1fsUQGCBQPwCzJVrKdny8Op9yBqmHHsx1wE", + "qi": "SFKiBoErD8W_b-QAWCm1VtssWjtX47GzHCpy7MBJH13osFoe5bQm4s7h4wWCDLUq1zF8YQF4zlkAn_LQ05yafJisoGf-Zh3JSrTN0MdndVAPSw4UMHyK-1fWin7KrdJNbgCEw5x1J7t-xKpxbmksfSaNPOTyp88cFtxdk0YaC8Y" + }, + "publicJwk": { + "kid": "jPTTeAkuQBc", + "kty": "RSA", + "alg": "RS256", + "key_ops": [ + "verify" + ], + "ext": true, + "n": "v2HpJ5KS8sZPNSp8LbiiRC2r4RI6fZjvQ-awyZUDOlBQQywOxltwg-hdRxH0J2-_9e29sMZddHtW2tbJ1K52cKIuAiV76rrGcarRvIBxv5817k-folObt_FOpCwScTW6DfRYG71tkfZ1ATepI47iDrKA3-KYfVp7ae2gaGnbLI_dFdr_zT33ezwaSIVc2gpGUjq1Do51bXbhq11JLiXtzK3CPlWJe2il4Nm1GhPycogWiCJio7DsnUVoGfRQEjNaEpToH6kKsgR_-5XafNhS4FUY3z5a0AQd-4LK1ghKg73Gjqi6RLTj_4rN0E9QgRVZzOI9VxXXsJ8zNTIEMulUmQ", + "e": "AQAB" + } + }, + "ES256": { + "privateJwk": { + "kid": "nwyc9tSh1WU", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "sign" + ], + "ext": true, + "d": "VWDKJUNNEg5TZP5kIBLevwhVSN24gKtgxHQqobVOOSQ", + "x": "DfCDBPATY2DvuAu1-LNGzSiQDuuLigWCttyRI6T7Q1M", + "y": "gc6YGw9H3KuzBnsDiEqp373jVcQ_blDyvnMuocwLsRM" + }, + "publicJwk": { + "kid": "_ndQa2o4Ogc", + "alg": "ES256", + "kty": "EC", + "crv": "P-256", + "key_ops": [ + "verify" + ], + "ext": true, + "x": "DfCDBPATY2DvuAu1-LNGzSiQDuuLigWCttyRI6T7Q1M", + "y": "gc6YGw9H3KuzBnsDiEqp373jVcQ_blDyvnMuocwLsRM" + } + } + } + }, + "jwkSet": "{\"keys\":[{\"kid\":\"Uf4Aui2LwB0\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"2XyeLRVnEDEFlWgrJh9KxY_bVbglTTKmObhTfm1Ej2hy9C2drcyusmp0h8fmN4AFcePfB2fQj1GGkUmEnnjlWcO__7zhYmwKh7yacCKfbBpt3Z7Ns5CU7vOYUNDIBZr3evd1yPlQlqFCMQYvD81R2UumQKlWqkipBhADH_lJEEcpThUx7nP8Q8BiKBZwBUpd-Ens3cTiNByDoPjmE1WQjyxUZPfhAmx3eWV9P8uIcXWrU1zUZ-En3YIZFP9UZypdhfjL12GYDYYOzvFsfkYLMdwl4Y3mnRTvAX7UpYP49B1jAvPmfOJk8Cb3-FQbB8xCL-qp4BtZsudfGy6RImyoIw\",\"e\":\"AQAB\"},{\"kid\":\"uF425enm9T8\",\"kty\":\"RSA\",\"alg\":\"RS384\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"09PS78OQshorqC1siNsFfaZL8xofatX-ycTD65QZbhMRANxmHGhwwEi-vqZz1TcQewrDrD9KdoajywmBVacfPqwz--MSN0CXRsrFJXEnZw1A8CLywNYHinrNHQeihggCAKxRi_nGAwLShIGS3Huwri8p0KPPz8RcQw4qzemXqG1F-qybFMAq-x__w30aHGDyhEryratd3PXd8mhNYONYO74k1XxAvr_YGV7XuOwkshZ-HYGL8KK9c6HP7hl4BX7SgC237D1HHWKbkWow6_GlDFJJERoR4-vq9vFfjgL1ceW9-FwH2N1h-NKk1PFvY0YQgf8emF4_dlOBmUESbUf_Zw\",\"e\":\"AQAB\"},{\"kid\":\"viU2tIvuLww\",\"kty\":\"RSA\",\"alg\":\"RS512\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"pTKLEyViSf1ODoT_Htb9P_tR5plddQ4zN4bpGrPND-ZwgOqoC1ru_kXsDzO7oE1iN88Y7GgOzi7NgH0q-xbtAZuxbTxlx8igWFGGxnXDcs6wacllC8uC8IOi4elBHB1lib6qpwnmuYAPS3IfpJ9DsSvyj3wgR2tIz002gwUwBF6G6NfBN3CHEgETZKYsBnrSRDyJkQQJKoTq1Vw25PxSRtXvnokqOIw0F6FiUbFck5XSlAUcBAwQWPNwGtgBIHwzON1_n5ytNLO1c-BMT8UT-zLGbR6EnepiTQhmnmeQdJMVadoJuVy1O8hof3hL0G3z3A_xffb27ckX730mhywYrw\",\"e\":\"AQAB\"},{\"kid\":\"o8nH52jwn2c\",\"alg\":\"ES256\",\"kty\":\"EC\",\"crv\":\"P-256\",\"key_ops\":[\"verify\"],\"ext\":true,\"x\":\"E25JdcHqdFk-8fghlScNwtjwBmm8eUXARj52_ozHGEc\",\"y\":\"HrLiPiWCHojeckmYZzF9Qy2IYTPXKUFT8zy8jQpqgpY\"},{\"kid\":\"wX0CFYxMzhs\",\"alg\":\"ES384\",\"kty\":\"EC\",\"crv\":\"P-384\",\"key_ops\":[\"verify\"],\"ext\":true,\"x\":\"EHPE4G1hj8l7ABfDOzzNtKMW-OLLcZ2uIyS5qauN4AJSWh13Qa_xX9efWJgT1EE9\",\"y\":\"q9DFWEPRsUauic5V9KaMv4p64MWr91FiUDdqEY5jZ3X73EBfVHfsjpmhLGyF4QFX\"},{\"kid\":\"FRGKO_dxEe0\",\"alg\":\"ES512\",\"kty\":\"EC\",\"crv\":\"P-521\",\"key_ops\":[\"verify\"],\"ext\":true,\"x\":\"AfhjS9ht8Op15hBCSYCLVZt17ePP7OKxoc689tP-zZXKcziD4rw5BSrkJY52bfECCtl8RzpT_RZELCrWIg6a1JOQ\",\"y\":\"AHdOt4t0tA1EmN8T__k_pF0gWLbTAqhDwKJO4bnJY20eHcmzyxY_Ed9WAJVr3uFOEmQEYNnoNpF3XqD4rjquu6gT\"},{\"kid\":\"h0uFAsRw60o\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"0DWILb0UPZcMAUsdM1zqWHu8XUy0h1efeOMMr47IRJCJPlrCKOU_Bm6NTqhrMLSjsyFfUDjow-QJEvggwWe5SecvuXH5Peq-K8TVtsq61OfaIGAstDeZE1V29p3xl4wB9zZVlJc8sp62dx9H7TNdReRgEaNoqPxClPopvbP7RSJ_2dpSpz84TR08N2qLlasadAfGD_WjAoMpiNJa6q7Dv-AcPEmYXXpiVWU5lboqz5AbLqYMKKrOMPao2LaivhhrGQgoXqZin6esyWTdMwEOs2M_lFCVqB5kdk6N0ixZVuRVsEWXfzXsbMQ-W-YS8OjEMYqPt0294Pu8-3WjmfI7xw\",\"e\":\"AQAB\"},{\"kid\":\"2RMouKmsPsQ\",\"kty\":\"RSA\",\"alg\":\"RS384\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"3U4sJuGzRPaW_2ih70Q_LJ0as-Qtpmn4ydnPy5af93UeDolx3KOPgrZvTqeK46eR4NcU-4foxR0cXEuqGsskcSpFOz9G7mi4bJRObvB0dF86OjStvwfQirZirjw3OOF6YbPL4AEgBlpq5bWjYlf7o97_zd2KgUF-QCseKD0hVIu-DGx5CvdD1nrFo-RKV3zkDM_u99ZgSSkC4hYq9CqvlX_QFdexXFA5OZYQ7eI26kWzCKfX1Nt5HF4goDlsfT24ZfT9CqxJUJ5G2t5NfYgxthzntQyOLVXMMq4VK1xwSPV8ck1yEfTjTBsKd8b7GKLMEPF0udgdpsapeLHk0PyPiw\",\"e\":\"AQAB\"},{\"kid\":\"V_s5jqeGNsc\",\"kty\":\"RSA\",\"alg\":\"RS512\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"sIhknJcoxLOH0PHoNQj-7-SVqJ-r6TS1GwzN2lWl2h9mRY4uGjk65tZ8kOQBRbOwqBbvsBmk2CuEbdhaz4cnJl6JaC7W__DDmNrRBWYYBQv2sx4KvRcyfnAUinAKfFajv7jP7C-b4-jfrQsov9HwPQwj9yBOrR7fBbn7k312jVgLeGcLlvL77ThD2fUtD8kDSdr-68E3aZ_O2lzkLFoEvBB54Mfr_pnL-Jzdt2BCvAKMpONBkylKwc1Bdq4vHxa3RoMTUwIbjfgDZwmt-EDYXPxAH0n2tKU4SnPnxGTZ-drF5byhKsc4FisvAPpfyVCyijBqXeQUajC4kECXDkYm4Q\",\"e\":\"AQAB\"},{\"kid\":\"Aa3tTgNx6LE\",\"alg\":\"ES256\",\"kty\":\"EC\",\"crv\":\"P-256\",\"key_ops\":[\"verify\"],\"ext\":true,\"x\":\"yWzajdMZK-2xhMF_LrjMRX7IuakFljWLp7ZAjSwin20\",\"y\":\"_do1G6E_JZogd17x3D-q7_H2jnlF5bACQMRU-RH1U5o\"},{\"kid\":\"jPTTeAkuQBc\",\"kty\":\"RSA\",\"alg\":\"RS256\",\"key_ops\":[\"verify\"],\"ext\":true,\"n\":\"v2HpJ5KS8sZPNSp8LbiiRC2r4RI6fZjvQ-awyZUDOlBQQywOxltwg-hdRxH0J2-_9e29sMZddHtW2tbJ1K52cKIuAiV76rrGcarRvIBxv5817k-folObt_FOpCwScTW6DfRYG71tkfZ1ATepI47iDrKA3-KYfVp7ae2gaGnbLI_dFdr_zT33ezwaSIVc2gpGUjq1Do51bXbhq11JLiXtzK3CPlWJe2il4Nm1GhPycogWiCJio7DsnUVoGfRQEjNaEpToH6kKsgR_-5XafNhS4FUY3z5a0AQd-4LK1ghKg73Gjqi6RLTj_4rN0E9QgRVZzOI9VxXXsJ8zNTIEMulUmQ\",\"e\":\"AQAB\"},{\"kid\":\"_ndQa2o4Ogc\",\"alg\":\"ES256\",\"kty\":\"EC\",\"crv\":\"P-256\",\"key_ops\":[\"verify\"],\"ext\":true,\"x\":\"DfCDBPATY2DvuAu1-LNGzSiQDuuLigWCttyRI6T7Q1M\",\"y\":\"gc6YGw9H3KuzBnsDiEqp373jVcQ_blDyvnMuocwLsRM\"}]}" } } \ No newline at end of file diff --git a/test/unit/utils-test.mjs b/test/unit/utils-test.mjs index 9ec24fd5f..4877187ae 100644 --- a/test/unit/utils-test.mjs +++ b/test/unit/utils-test.mjs @@ -1,9 +1,7 @@ import { describe, it } from 'mocha' import { assert } from 'chai' -import fetch from 'node-fetch' import * as utils from '../../lib/utils.mjs' -const { Headers } = fetch const { pathBasename, @@ -111,4 +109,4 @@ describe('Utility functions', function () { }) }) }) -}) +}) diff --git a/test/utils.mjs b/test/utils.mjs index 3c1ba09de..e09e78a48 100644 --- a/test/utils.mjs +++ b/test/utils.mjs @@ -5,7 +5,6 @@ import path from 'path' import dns from 'dns' import https from 'https' import { createRequire } from 'module' -import fetch from 'node-fetch' import rimraf from 'rimraf' import fse from 'fs-extra' import Provider from '@solid/oidc-op' @@ -50,7 +49,7 @@ export function cleanDir (dirPath) { } export function write (text, file) { - console.log('Writing to', path.join(TEST_ROOT, file)) + // console.log('Writing to', path.join(TEST_ROOT, file)) // fs.mkdirSync(path.dirname(path.join(TEST_ROOT, file), { recursive: true })) return fs.writeFileSync(path.join(TEST_ROOT, file), text) } @@ -62,7 +61,7 @@ export function cp (src, dest) { } export function read (file) { - console.log('Reading from', path.join(TEST_ROOT, file)) + // console.log('Reading from', path.join(TEST_ROOT, file)) return fs.readFileSync(path.join(TEST_ROOT, file), { encoding: 'utf8' }) @@ -114,7 +113,7 @@ export function loadProvider (configPath) { } export function createServer (options) { - console.log('Creating server with root:', options.root || process.cwd()) + // console.log('Creating server with root:', options.root || process.cwd()) return ldnode.createServer(options) } diff --git a/test/utils/index.mjs b/test/utils/index.mjs index e0b803b3f..b64156439 100644 --- a/test/utils/index.mjs +++ b/test/utils/index.mjs @@ -6,7 +6,6 @@ import OIDCProvider from '@solid/oidc-op' import dns from 'dns' import ldnode from '../../index.mjs' import supertest from 'supertest' -import fetch from 'node-fetch' import https from 'https' const __filename = fileURLToPath(import.meta.url) From 6889633c30292dd86850b349d7335f95949cce62 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Fri, 2 Jan 2026 23:42:04 +0100 Subject: [PATCH 02/17] update minor --- package-lock.json | 6 +++--- package.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 55ce8e1f1..24f501753 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,9 +12,9 @@ "@fastify/busboy": "^1.2.1", "@fastify/pre-commit": "^2.2.1", "@solid/acl-check": "^0.4.5", - "@solid/oidc-auth-manager": "^0.25.1", + "@solid/oidc-auth-manager": "^0.25.2", "@solid/oidc-op": "^0.12.1", - "@solid/oidc-rp": "^0.12.0", + "@solid/oidc-rp": "^0.12.1", "@solid/solid-multi-rp-client": "^0.7.2", "async-lock": "^1.4.1", "body-parser": "^1.20.4", @@ -75,7 +75,7 @@ "devDependencies": { "@cxres/structured-headers": "^2.0.0-nesting.0", "@eslint/js": "^9.39.2", - "@solid/solid-auth-oidc": "^0.6.0", + "@solid/solid-auth-oidc": "^0.6.1", "c8": "^10.1.3", "chai": "^4.5.0", "chai-as-promised": "7.1.2", diff --git a/package.json b/package.json index 0f06c9a64..5123942d6 100644 --- a/package.json +++ b/package.json @@ -62,9 +62,9 @@ "@fastify/busboy": "^1.2.1", "@fastify/pre-commit": "^2.2.1", "@solid/acl-check": "^0.4.5", - "@solid/oidc-auth-manager": "^0.25.1", + "@solid/oidc-auth-manager": "^0.25.2", "@solid/oidc-op": "^0.12.1", - "@solid/oidc-rp": "^0.12.0", + "@solid/oidc-rp": "^0.12.1", "@solid/solid-multi-rp-client": "^0.7.2", "async-lock": "^1.4.1", "body-parser": "^1.20.4", @@ -122,7 +122,7 @@ "devDependencies": { "@cxres/structured-headers": "^2.0.0-nesting.0", "@eslint/js": "^9.39.2", - "@solid/solid-auth-oidc": "^0.6.0", + "@solid/solid-auth-oidc": "^0.6.1", "c8": "^10.1.3", "chai": "^4.5.0", "chai-as-promised": "7.1.2", From d8831d9bf86e8539ad5c2a7c5a8f8b0f800a6aa9 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Fri, 2 Jan 2026 23:44:48 +0100 Subject: [PATCH 03/17] update mime-types --- package-lock.json | 949 ++++++++++++---------------------------------- package.json | 4 +- 2 files changed, 239 insertions(+), 714 deletions(-) diff --git a/package-lock.json b/package-lock.json index 24f501753..506082ac5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,8 +46,8 @@ "ip-range-check": "0.2.0", "is-ip": "^2.0.0", "li": "^1.3.0", - "mashlib": "^1.11.1", - "mime-types": "^2.1.35", + "mashlib": "^2.0.0", + "mime-types": "^3.0.2", "negotiator": "^0.6.4", "node-forge": "^1.3.3", "node-mailer": "^0.1.1", @@ -5366,6 +5366,27 @@ "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/accepts/node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -5397,69 +5418,21 @@ } }, "node_modules/activitystreams-pane": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/activitystreams-pane/-/activitystreams-pane-0.7.1.tgz", - "integrity": "sha512-9lj+mTjSTCP0Ndzo9caJrezFz1uJIyV9f7ppmYGFbhEVrh9F6uRZJ4Hx5T2eFePx6+Ng0do6bqjFZ5Vx9H5WUQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/activitystreams-pane/-/activitystreams-pane-1.0.0.tgz", + "integrity": "sha512-hdayUTYNeJalu7mY7RoXHag5SbuNz3uC55E1jC+obJ/tvIl5QqroEONxqGsDCr4qDQ1UEQPuPsOckUOJWl4eXQ==", "license": "MIT", "dependencies": { - "acorn": "^8.15.0", - "pane-registry": "^2.5.1", - "rdflib": "^2.2.37", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "pane-registry": "^3.0.0", + "react": "^19.2.0", + "react-dom": "^19.2.0", "react-jss": "^10.10.0", - "solid-logic": "^3.1.1", - "solid-ui": "^2.6.1", "timeago.js": "^4.0.2" - } - }, - "node_modules/activitystreams-pane/node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/activitystreams-pane/node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/activitystreams-pane/node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" }, "peerDependencies": { - "react": "17.0.2" - } - }, - "node_modules/activitystreams-pane/node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "rdflib": "^2.3.0", + "solid-logic": "^4.0.0", + "solid-ui": "^3.0.0" } }, "node_modules/agent-base": { @@ -6701,15 +6674,14 @@ "license": "MIT" }, "node_modules/chat-pane": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/chat-pane/-/chat-pane-2.5.1.tgz", - "integrity": "sha512-9I80JwDhuHzgx1ZJx+C0nE2MXVOktoZ/ROAUscNECm0fA9PAm65u9363mMnk7yLXiSnAyw9vjA81puc7v/0c7A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chat-pane/-/chat-pane-3.0.0.tgz", + "integrity": "sha512-Zr2BXbSDInVOgz1CrdmBxiziJUhCkeDAxfpTtlEnpMn13gZsg9p2AmMTmxV+yKCZZpQJCkOURU5Z+XKb3uOIZw==", "license": "MIT", - "dependencies": { - "lint-staged": "^16.2.0", - "rdflib": "^2.2.37", - "solid-logic": "^3.1.1", - "solid-ui": "^2.6.1" + "peerDependencies": { + "rdflib": "^2.3.0", + "solid-logic": "^4.0.0", + "solid-ui": "^3.0.0" } }, "node_modules/check-error": { @@ -6880,65 +6852,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-truncate": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", - "license": "MIT", - "dependencies": { - "slice-ansi": "^7.1.0", - "string-width": "^8.0.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", - "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", - "license": "MIT", - "dependencies": { - "get-east-asian-width": "^1.3.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", @@ -7215,13 +7128,17 @@ } }, "node_modules/contacts-pane": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/contacts-pane/-/contacts-pane-2.7.1.tgz", - "integrity": "sha512-qFN1TzWz1Joppj+Ui/mQY1XZ8wuunbEpSuw1Vg19DTHCToY5/n2qfK/QUL3rK2GPy15gcn7VlLe1e97jKdZhnw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/contacts-pane/-/contacts-pane-3.0.0.tgz", + "integrity": "sha512-tFG53tUZQv6FFQzAltrkpCtY4xTO+oHeSisIIP4O45Eo22Q7YgP5jvsjuhkQGan3CK1moVfA7MieUFsfjvWKWw==", "license": "MIT", "dependencies": { - "lint-staged": "^16.2.0", - "solid-ui": "^2.6.1" + "mime-types": "^3.0.1" + }, + "peerDependencies": { + "rdflib": "^2.3.0", + "solid-logic": "^4.0.0", + "solid-ui": "^3.0.0" } }, "node_modules/content-disposition": { @@ -7764,9 +7681,9 @@ } }, "node_modules/dompurify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.0.tgz", - "integrity": "sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", "license": "(MPL-2.0 OR Apache-2.0)", "optionalDependencies": { "@types/trusted-types": "^2.0.7" @@ -7939,18 +7856,6 @@ "node": ">=8" } }, - "node_modules/environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/error-stack-parser": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", @@ -8968,14 +8873,13 @@ "peer": true }, "node_modules/folder-pane": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/folder-pane/-/folder-pane-2.5.1.tgz", - "integrity": "sha512-5owUh3TioUgHfooOSlh+hpxzPHm3dOMtRdXMt9YIVDPdWF4ny8vk+N09CCU7TDL26QZLcYsRNUNDgcR7XcyAjg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/folder-pane/-/folder-pane-3.0.0.tgz", + "integrity": "sha512-7igSdUResLf1MlJnV8VjG/tWFJsdrYx07v5Wz9cVSr5G9zNqQx9VjgB7VqqA0wPEgHho12o0bRHPsaFPDPPGwQ==", "license": "MIT", - "dependencies": { - "lint-staged": "^16.2.0", - "solid-logic": "^3.1.1", - "solid-ui": "^2.6.1" + "peerDependencies": { + "solid-logic": "^4.0.0", + "solid-ui": "^3.0.0" } }, "node_modules/follow-redirects": { @@ -9038,6 +8942,29 @@ "node": ">= 6" } }, + "node_modules/form-data/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/form-data/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/formidable": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.5.tgz", @@ -9172,18 +9099,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-east-asian-width": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-folder-size": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/get-folder-size/-/get-folder-size-2.0.1.tgz", @@ -9726,14 +9641,6 @@ "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", "license": "BSD-3-Clause" }, - "node_modules/i": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz", - "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==", - "engines": { - "node": ">=0.4" - } - }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -10007,21 +9914,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", - "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", - "license": "MIT", - "dependencies": { - "get-east-asian-width": "^1.3.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-generator-function": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", @@ -10265,13 +10157,17 @@ } }, "node_modules/issue-pane": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/issue-pane/-/issue-pane-2.6.1.tgz", - "integrity": "sha512-mTwGjnitI1tjTbHeoEqVPmRCy27HLfKGW8oo5AmhdTtUqhCBky+d4xfXgIkvySUG0CmpQbo0H9hMO4XDC6UpVQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/issue-pane/-/issue-pane-3.0.0.tgz", + "integrity": "sha512-EtDf3jDNO+cSFJcjd9ZdpLNEbEDfFAAJ7RYpHHTaupjp0bYDaft33rnaBMqI2F4VY+9CIHZjWQL09KOlNO04Aw==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.3", - "solid-ui": "^2.6.1" + "@babel/runtime": "^7.28.3" + }, + "peerDependencies": { + "rdflib": "^2.3.0", + "solid-logic": "^4.0.0", + "solid-ui": "^3.0.0" } }, "node_modules/istanbul-lib-coverage": { @@ -11384,145 +11280,10 @@ "optional": true, "peer": true }, - "node_modules/lint-staged": { - "version": "16.2.7", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.2.7.tgz", - "integrity": "sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==", - "license": "MIT", - "dependencies": { - "commander": "^14.0.2", - "listr2": "^9.0.5", - "micromatch": "^4.0.8", - "nano-spawn": "^2.0.0", - "pidtree": "^0.6.0", - "string-argv": "^0.3.2", - "yaml": "^2.8.1" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "engines": { - "node": ">=20.17" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/commander": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", - "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", - "license": "MIT", - "engines": { - "node": ">=20" - } - }, - "node_modules/listr2": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", - "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", - "license": "MIT", - "dependencies": { - "cli-truncate": "^5.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.1.0", - "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/listr2/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/listr2/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/listr2/node_modules/emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", - "license": "MIT" - }, - "node_modules/listr2/node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "license": "MIT" - }, - "node_modules/listr2/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/lit-html": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.1.tgz", - "integrity": "sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.2.tgz", + "integrity": "sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw==", "license": "BSD-3-Clause", "dependencies": { "@types/trusted-types": "^2.0.2" @@ -11654,184 +11415,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "license": "MIT", "dependencies": { - "ansi-escapes": "^7.0.0", - "cli-cursor": "^5.0.0", - "slice-ansi": "^7.1.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", - "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==", - "license": "MIT", - "dependencies": { - "environment": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", - "license": "MIT", - "dependencies": { - "restore-cursor": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", - "license": "MIT" - }, - "node_modules/log-update/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "license": "MIT", - "dependencies": { - "mimic-function": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", - "license": "MIT", - "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/log-update/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" @@ -11870,9 +11460,9 @@ } }, "node_modules/marked": { - "version": "16.4.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz", - "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-17.0.1.tgz", + "integrity": "sha512-boeBdiS0ghpWcSwoNm/jJBwdpFaMnZWRzjA6SkUMYb40SVaN1x7mmfGKp0jvexGcx+7y2La5zRZsYFZI6Qpypg==", "license": "MIT", "bin": { "marked": "bin/marked.js" @@ -11890,15 +11480,15 @@ "peer": true }, "node_modules/mashlib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/mashlib/-/mashlib-1.11.1.tgz", - "integrity": "sha512-FW+nxUhMSB4t+dPTAARY+Rrn2qix8FqrP/0Op2xhZgTSTJsy90rB1VYt+F2BOObr5r4rWC9UN72u/lVQHJE9XA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mashlib/-/mashlib-2.0.0.tgz", + "integrity": "sha512-LfFU43slnI9gP3yzRNN2xjG7cnX0h7NRnzH4K5cQOf931CuCWWTwua82EdBSXbe929ICLBZniNMBCw37dRsUnQ==", "license": "MIT", "dependencies": { - "lint-staged": "^16.2.0", - "rdflib": "^2.2.37", - "solid-logic": "^3.1.1", - "solid-panes": "^3.7.3" + "rdflib": "^2.3.0", + "solid-logic": "^4.0.0", + "solid-panes": "^4.0.0", + "solid-ui": "^3.0.0" } }, "node_modules/matcher": { @@ -11933,12 +11523,14 @@ } }, "node_modules/meeting-pane": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/meeting-pane/-/meeting-pane-2.5.1.tgz", - "integrity": "sha512-iW6YOYicZued6nCEnUxAJvjvI+2WZTnzVPw2fPlPTzystpYBP1YiAe2yIaLgNZ93E1SSGj+eZZAYaIxvplYhoQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/meeting-pane/-/meeting-pane-3.0.0.tgz", + "integrity": "sha512-/QuRUKTm7wNRnnaUeWBeVmir5ZSxWvOpr0T1G0WXzVtCwD0yRc0O9JVXt3qkOCxxleXF7BL7FkYgO2qwEwRrjA==", "license": "MIT", - "dependencies": { - "solid-ui": "^2.6.1" + "peerDependencies": { + "rdflib": "^2.3.0", + "solid-logic": "^4.0.0", + "solid-ui": "^3.0.0" } }, "node_modules/memoize-one": { @@ -12366,6 +11958,31 @@ "hermes-estree": "0.32.0" } }, + "node_modules/metro/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/metro/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/metro/node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -12447,24 +12064,19 @@ } }, "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/mimic-fn": { @@ -12476,18 +12088,6 @@ "node": ">=6" } }, - "node_modules/mimic-function": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -12832,18 +12432,6 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/nano-spawn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-2.0.0.tgz", - "integrity": "sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==", - "license": "MIT", - "engines": { - "node": ">=20.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1" - } - }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -13353,13 +12941,13 @@ "license": "BlueOak-1.0.0" }, "node_modules/pane-registry": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/pane-registry/-/pane-registry-2.5.1.tgz", - "integrity": "sha512-2tO5GAN7PV3IRPIomJnKqq1U/4WqrMt/goUiVWslscQOo8Ydf7IYg2vGK3K5SQJtcuTRH3KEgwRbSDfpsD4ygw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pane-registry/-/pane-registry-3.0.0.tgz", + "integrity": "sha512-eNgtBtUx2f/3yem+CruYbMh7ULJ6oOvYoeswtQ5P/ippXgDbhZsl95xrahUJ6dPWi0TRzSDSHQ4SL3/G8eZOhQ==", "license": "MIT", - "dependencies": { - "rdflib": "^2.2.37", - "solid-logic": "^3.1.1" + "peerDependencies": { + "rdflib": "^2.3.0", + "solid-logic": "^4.0.0" } }, "node_modules/parent-module": { @@ -13548,18 +13136,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "license": "MIT", - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -13751,17 +13327,20 @@ "license": "MIT" }, "node_modules/profile-pane": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/profile-pane/-/profile-pane-1.2.1.tgz", - "integrity": "sha512-32RTg2ySOueFGElOevHAct6ea7It0ymC+OoVk92lNO6dD1vV67phtTMHCeGahnf2wQ+JoKH+arqF+A5FwRZRaw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/profile-pane/-/profile-pane-2.0.0.tgz", + "integrity": "sha512-YOaG9Ep9IM05HjognsPenfPzjvgqnftQyieUY46ASxpp84VvPx8sPC8w4+jvms6gqtyRkf5+LRn/u32Fkvb1VQ==", "license": "MIT", "dependencies": { "lit-html": "^3.2.1", - "pane-registry": "^2.5.0", + "pane-registry": "^3.0.0", "qrcode": "^1.5.4", - "rdflib": "^2.2.37", - "solid-ui": "^2.6.1", "validate-color": "^2.2.4" + }, + "peerDependencies": { + "rdflib": "^2.3.0", + "solid-logic": "^4.0.0", + "solid-ui": "^3.0.0" } }, "node_modules/progress": { @@ -14168,11 +13747,10 @@ } }, "node_modules/react": { - "version": "19.2.1", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.1.tgz", - "integrity": "sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -14218,6 +13796,18 @@ "integrity": "sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg==", "license": "MIT" }, + "node_modules/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.3" + } + }, "node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", @@ -14701,12 +14291,6 @@ "node": ">=0.10.0" } }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "license": "MIT" - }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -14844,9 +14428,7 @@ "version": "0.27.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/semver": { "version": "7.7.3", @@ -15301,34 +14883,6 @@ "node": ">=8" } }, - "node_modules/slice-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/slugify": { "version": "1.6.6", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", @@ -15491,15 +15045,16 @@ } }, "node_modules/solid-logic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/solid-logic/-/solid-logic-3.1.1.tgz", - "integrity": "sha512-eG9t6LFDk3HXV1+gBUrEINXIcfZeNvKqbjkcNYBbC++YcgG7uJyGJrbYE5SGCyV5dV2KZiDTwX9e34UvONFUfQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/solid-logic/-/solid-logic-4.0.1.tgz", + "integrity": "sha512-srCwjX171dUQKN9Pp12lBD4mghRrbSvLfPFmeYP3TezAd5yGleb1ojcbMeN15RVSJQHrPqZDh9TiBUXZo3knLw==", "license": "MIT", "dependencies": { "@inrupt/solid-client-authn-browser": "^3.1.0", - "lint-staged": "^16.1.5", - "rdflib": "^2.2.37", "solid-namespace": "^0.5.4" + }, + "peerDependencies": { + "rdflib": "^2.3.0" } }, "node_modules/solid-namespace": { @@ -15509,92 +15064,47 @@ "license": "MIT" }, "node_modules/solid-panes": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/solid-panes/-/solid-panes-3.7.3.tgz", - "integrity": "sha512-1ulcIgUgVdHM1RsounJV26L4G4kg3HAUkzs5o12xLmYZN8mmaTuZ25i2Flc3AxiHw3cWHEhuGf5uocbxafTqFg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/solid-panes/-/solid-panes-4.0.0.tgz", + "integrity": "sha512-d05ajtDH1/2MeXK/A2eVdpGoyPNhjBGmYkWTXzgYKbTjFD188DMyt+vdasiiJ97mRC8s8pc4MhRPFOM9zFxJuw==", "license": "MIT", "dependencies": { "@solid/better-simple-slideshow": "^0.1.0", - "activitystreams-pane": "^0.7.1", - "chat-pane": "^2.5.1", - "contacts-pane": "^2.7.1", + "activitystreams-pane": "^1.0.0", + "chat-pane": "^3.0.0", + "contacts-pane": "^3.0.0", "dompurify": "^3.2.6", - "folder-pane": "^2.5.1", - "issue-pane": "^2.6.1", - "lint-staged": "^16.2.0", - "marked": "^16.1.2", - "meeting-pane": "^2.5.1", + "folder-pane": "^3.0.0", + "issue-pane": "^3.0.0", + "marked": "^17.0.0", + "meeting-pane": "^3.0.0", "mime-types": "^3.0.1", - "profile-pane": "^1.2.1", - "rdflib": "^2.2.37", + "pane-registry": "^3.0.0", + "profile-pane": "^2.0.0", "solid-namespace": "^0.5.4", - "solid-ui": "^2.6.1", - "source-pane": "^2.3.1" - } - }, - "node_modules/solid-panes/node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "source-pane": "^3.0.0" } }, "node_modules/solid-ui": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/solid-ui/-/solid-ui-2.6.1.tgz", - "integrity": "sha512-3AUaVHhzM0Xe3Fxcr1dL6qf1L5j9q75DbuTgeTtFGY9/EfGoOj8qQy5IvuqWgYK8BE1jy+oVB6ZuBY4JzVIsGw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/solid-ui/-/solid-ui-3.0.1.tgz", + "integrity": "sha512-bmeSnNoDWjC9Vu36hf854QxXrzDt3+WvkPqMtbPn9qruYbfeJxzfTRycUhUyc1ZfILJ2OJR7bVkNOgJ6PVZr6g==", "license": "MIT", "dependencies": { "@noble/curves": "^1.9.6", - "acorn": "^8.15.0", + "@noble/hashes": "^1.8.0", "escape-html": "^1.0.3", - "i": "^0.3.7", - "mime-types": "^3.0.1", - "pane-registry": "^2.5.1", - "rdflib": "^2.2.37", - "solid-logic": "^3.1.1", + "mime-types": "^3.0.2", + "pane-registry": "^3.0.0", "solid-namespace": "^0.5.4", "uuid": "^11.1.0" }, "optionalDependencies": { "fsevents": "*" - } - }, - "node_modules/solid-ui/node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/solid-ui/node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "peerDependencies": { + "rdflib": "^2.3.0", + "solid-logic": "^4.0.1" } }, "node_modules/solid-ui/node_modules/uuid": { @@ -15685,13 +15195,14 @@ } }, "node_modules/source-pane": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/source-pane/-/source-pane-2.3.1.tgz", - "integrity": "sha512-R93NREz9h33VZFJ5M9A/hVVUgu1vOaeAJ9CDEMkUfqmQaslRcyzo79JPmDEQDGeC1qfohTqRLpBJY0s5IfN6xw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/source-pane/-/source-pane-3.0.0.tgz", + "integrity": "sha512-VCVWwiSJaWKyO+0FsA8o3hw8BRNZuX8umvKXYvb/2mWEX7FASFz7/f0RKAgUWamgNcZqI3kgYCud7CXmXwCtyg==", "license": "MIT", - "dependencies": { - "lint-staged": "^16.2.0", - "solid-ui": "^2.6.1" + "peerDependencies": { + "rdflib": "^2.3.0", + "solid-logic": "^4.0.0", + "solid-ui": "^3.0.0" } }, "node_modules/sprintf-js": { @@ -15823,15 +15334,6 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "license": "MIT" }, - "node_modules/string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", - "license": "MIT", - "engines": { - "node": ">=0.6.19" - } - }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -16443,6 +15945,27 @@ "node": ">= 0.6" } }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/uglify-js": { "version": "3.19.3", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", @@ -17107,6 +16630,8 @@ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "license": "ISC", + "optional": true, + "peer": true, "bin": { "yaml": "bin.mjs" }, diff --git a/package.json b/package.json index 5123942d6..5fd7ce8df 100644 --- a/package.json +++ b/package.json @@ -96,8 +96,8 @@ "ip-range-check": "0.2.0", "is-ip": "^2.0.0", "li": "^1.3.0", - "mashlib": "^1.11.1", - "mime-types": "^2.1.35", + "mashlib": "^2.0.0", + "mime-types": "^3.0.2", "negotiator": "^0.6.4", "node-forge": "^1.3.3", "node-mailer": "^0.1.1", From 423774e42182dcb7aba24f6cdfa7d1efc47f1901 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Fri, 2 Jan 2026 23:46:50 +0100 Subject: [PATCH 04/17] whatwg-url --- package-lock.json | 137 ++++++---------------------------------------- package.json | 2 +- 2 files changed, 17 insertions(+), 122 deletions(-) diff --git a/package-lock.json b/package-lock.json index 506082ac5..182ef7382 100644 --- a/package-lock.json +++ b/package-lock.json @@ -93,7 +93,7 @@ "snyk": "^1.1301.2", "supertest": "^6.3.4", "turtle-validator": "1.1.1", - "whatwg-url": "11.0.0" + "whatwg-url": "^15.1.0" }, "engines": { "node": ">=22.14.0" @@ -4914,40 +4914,6 @@ "node": ">=10.0" } }, - "node_modules/@solid/oidc-op/node_modules/tr46": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", - "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@solid/oidc-op/node_modules/webidl-conversions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.0.tgz", - "integrity": "sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=20" - } - }, - "node_modules/@solid/oidc-op/node_modules/whatwg-url": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-15.1.0.tgz", - "integrity": "sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==", - "license": "MIT", - "dependencies": { - "tr46": "^6.0.0", - "webidl-conversions": "^8.0.0" - }, - "engines": { - "node": ">=20" - } - }, "node_modules/@solid/oidc-rp": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@solid/oidc-rp/-/oidc-rp-0.12.1.tgz", @@ -5007,40 +4973,6 @@ "webidl-conversions": "^3.0.0" } }, - "node_modules/@solid/oidc-rp/node_modules/tr46": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", - "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@solid/oidc-rp/node_modules/webidl-conversions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.0.tgz", - "integrity": "sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=20" - } - }, - "node_modules/@solid/oidc-rp/node_modules/whatwg-url": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-15.1.0.tgz", - "integrity": "sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==", - "license": "MIT", - "dependencies": { - "tr46": "^6.0.0", - "webidl-conversions": "^8.0.0" - }, - "engines": { - "node": ">=20" - } - }, "node_modules/@solid/oidc-rs": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@solid/oidc-rs/-/oidc-rs-0.7.0.tgz", @@ -15010,40 +14942,6 @@ "webidl-conversions": "^3.0.0" } }, - "node_modules/solid-auth-client/node_modules/tr46": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", - "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/solid-auth-client/node_modules/webidl-conversions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.0.tgz", - "integrity": "sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=20" - } - }, - "node_modules/solid-auth-client/node_modules/whatwg-url": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-15.1.0.tgz", - "integrity": "sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==", - "license": "MIT", - "dependencies": { - "tr46": "^6.0.0", - "webidl-conversions": "^8.0.0" - }, - "engines": { - "node": ">=20" - } - }, "node_modules/solid-logic": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/solid-logic/-/solid-logic-4.0.1.tgz", @@ -15847,16 +15745,15 @@ } }, "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "punycode": "^2.3.1" }, "engines": { - "node": ">=12" + "node": ">=20" } }, "node_modules/ts-interface-checker": { @@ -16306,13 +16203,12 @@ "license": "MIT" }, "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", "license": "BSD-2-Clause", "engines": { - "node": ">=12" + "node": ">=20" } }, "node_modules/whatwg-encoding": { @@ -16355,17 +16251,16 @@ } }, "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-15.1.0.tgz", + "integrity": "sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==", "license": "MIT", "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.0" }, "engines": { - "node": ">=12" + "node": ">=20" } }, "node_modules/whatwg-url-without-unicode": { diff --git a/package.json b/package.json index 5fd7ce8df..d771a97e0 100644 --- a/package.json +++ b/package.json @@ -140,7 +140,7 @@ "snyk": "^1.1301.2", "supertest": "^6.3.4", "turtle-validator": "1.1.1", - "whatwg-url": "11.0.0" + "whatwg-url": "^15.1.0" }, "pre-commit": [ "lint" From 183f113f1b6868660abcfb71adebb0a02549f7a9 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Fri, 2 Jan 2026 23:49:40 +0100 Subject: [PATCH 05/17] supertest --- package-lock.json | 55 +++++++++++++++++++++++------------------------ package.json | 4 ++-- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index 182ef7382..200ff1105 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,7 +62,7 @@ "solid-ws": "^0.4.3", "text-encoder-lite": "^2.0.0", "the-big-username-blacklist": "^1.5.2", - "ulid": "^2.4.0", + "ulid": "^3.0.2", "urijs": "^1.19.11", "uuid": "^13.0.0", "valid-url": "^1.0.9", @@ -91,7 +91,7 @@ "sinon": "12.0.1", "sinon-chai": "3.7.0", "snyk": "^1.1301.2", - "supertest": "^6.3.4", + "supertest": "^7.1.4", "turtle-validator": "1.1.1", "whatwg-url": "^15.1.0" }, @@ -8898,16 +8898,18 @@ } }, "node_modules/formidable": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.5.tgz", - "integrity": "sha512-Oz5Hwvwak/DCaXVVUtPn4oLMLLy1CdclLKO1LFgU7XzDpVMUU5UjlSLpGMocyQNNk8F6IJW9M/YdooSn2MRI+Q==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz", + "integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==", "dev": true, "license": "MIT", "dependencies": { "@paralleldrive/cuid2": "^2.2.2", "dezalgo": "^1.0.4", - "once": "^1.4.0", - "qs": "^6.11.0" + "once": "^1.4.0" + }, + "engines": { + "node": ">=14.0.0" }, "funding": { "url": "https://ko-fi.com/tunnckoCore/commissions" @@ -15375,26 +15377,24 @@ } }, "node_modules/superagent": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", - "deprecated": "Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.2.3.tgz", + "integrity": "sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==", "dev": true, "license": "MIT", "dependencies": { - "component-emitter": "^1.3.0", + "component-emitter": "^1.3.1", "cookiejar": "^2.1.4", - "debug": "^4.3.4", + "debug": "^4.3.7", "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.0", - "formidable": "^2.1.2", + "form-data": "^4.0.4", + "formidable": "^3.5.4", "methods": "^1.1.2", "mime": "2.6.0", - "qs": "^6.11.0", - "semver": "^7.3.8" + "qs": "^6.11.2" }, "engines": { - "node": ">=6.4.0 <13 || >=14" + "node": ">=14.18.0" } }, "node_modules/superagent/node_modules/mime": { @@ -15411,18 +15411,17 @@ } }, "node_modules/supertest": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz", - "integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==", - "deprecated": "Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.1.4.tgz", + "integrity": "sha512-tjLPs7dVyqgItVFirHYqe2T+MfWc2VOBQ8QFKKbWTA3PU7liZR8zoSpAi/C1k1ilm9RsXIKYf197oap9wXGVYg==", "dev": true, "license": "MIT", "dependencies": { "methods": "^1.1.2", - "superagent": "^8.1.2" + "superagent": "^10.2.3" }, "engines": { - "node": ">=6.4.0" + "node": ">=14.18.0" } }, "node_modules/supports-color": { @@ -15889,12 +15888,12 @@ } }, "node_modules/ulid": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.4.0.tgz", - "integrity": "sha512-fIRiVTJNcSRmXKPZtGzFQv9WRrZ3M9eoptl/teFJvjOzmpU+/K/JH6HZ8deBfb5vMEpicJcLn7JmvdknlMq7Zg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-3.0.2.tgz", + "integrity": "sha512-yu26mwteFYzBAot7KVMqFGCVpsF6g8wXfJzQUHvu1no3+rRRSFcSV2nKeYvNPLD2J4b08jYBDhHUjeH0ygIl9w==", "license": "MIT", "bin": { - "ulid": "bin/cli.js" + "ulid": "dist/cli.js" } }, "node_modules/undici": { diff --git a/package.json b/package.json index d771a97e0..d58dcb217 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "solid-ws": "^0.4.3", "text-encoder-lite": "^2.0.0", "the-big-username-blacklist": "^1.5.2", - "ulid": "^2.4.0", + "ulid": "^3.0.2", "urijs": "^1.19.11", "uuid": "^13.0.0", "valid-url": "^1.0.9", @@ -138,7 +138,7 @@ "sinon": "12.0.1", "sinon-chai": "3.7.0", "snyk": "^1.1301.2", - "supertest": "^6.3.4", + "supertest": "^7.1.4", "turtle-validator": "1.1.1", "whatwg-url": "^15.1.0" }, From d6dc9353698c14406cbcb2c81a8751f7dd68d14e Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Fri, 2 Jan 2026 23:53:13 +0100 Subject: [PATCH 06/17] mocha --- package-lock.json | 353 +++++++++++++++++++--------------------------- package.json | 4 +- 2 files changed, 146 insertions(+), 211 deletions(-) diff --git a/package-lock.json b/package-lock.json index 200ff1105..77d77dfab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48,7 +48,7 @@ "li": "^1.3.0", "mashlib": "^2.0.0", "mime-types": "^3.0.2", - "negotiator": "^0.6.4", + "negotiator": "^1.0.0", "node-forge": "^1.3.3", "node-mailer": "^0.1.1", "nodemailer": "^7.0.12", @@ -83,7 +83,7 @@ "dirty-chai": "2.0.1", "globals": "^17.0.0", "localstorage-memory": "1.0.3", - "mocha": "^10.8.2", + "mocha": "^11.7.5", "nock": "^13.5.6", "node-mocks-http": "^1.17.2", "prep-fetch": "^0.1.0", @@ -5402,16 +5402,6 @@ "optional": true, "peer": true }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -5475,8 +5465,9 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "devOptional": true, "license": "ISC", + "optional": true, + "peer": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -5489,8 +5480,9 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "devOptional": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8.6" }, @@ -6016,19 +6008,6 @@ "node": ">=0.6" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -6320,23 +6299,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/c8/node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/c8/node_modules/glob": { "version": "10.5.0", "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", @@ -6398,19 +6360,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/c8/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/c8/node_modules/test-exclude": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", @@ -6426,16 +6375,6 @@ "node": ">=18" } }, - "node_modules/c8/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/cached-path-relative": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", @@ -6672,28 +6611,19 @@ } }, "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.16.0" }, "funding": { "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" } }, "node_modules/chownr": { @@ -6951,6 +6881,17 @@ "optional": true, "peer": true }, + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -8857,6 +8798,36 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/form-data": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", @@ -9140,8 +9111,8 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "devOptional": true, "license": "ISC", + "optional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -9780,19 +9751,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -9931,6 +9889,16 @@ "node": ">=0.12.0" } }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", @@ -12094,31 +12062,32 @@ } }, "node_modules/mocha": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", - "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", + "version": "11.7.5", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.7.5.tgz", + "integrity": "sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.3", "browser-stdout": "^1.3.1", - "chokidar": "^3.5.3", + "chokidar": "^4.0.1", "debug": "^4.3.5", - "diff": "^5.2.0", + "diff": "^7.0.0", "escape-string-regexp": "^4.0.0", "find-up": "^5.0.0", - "glob": "^8.1.0", + "glob": "^10.4.5", "he": "^1.2.0", + "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", + "minimatch": "^9.0.5", "ms": "^2.1.3", + "picocolors": "^1.1.1", "serialize-javascript": "^6.0.2", "strip-json-comments": "^3.1.1", "supports-color": "^8.1.1", - "workerpool": "^6.5.1", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9", + "workerpool": "^9.2.0", + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1", "yargs-unparser": "^2.0.0" }, "bin": { @@ -12126,7 +12095,7 @@ "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 14.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/mocha/node_modules/argparse": { @@ -12146,34 +12115,32 @@ "balanced-match": "^1.0.0" } }, - "node_modules/mocha/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/mocha/node_modules/diff": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" } }, "node_modules/mocha/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dev": true, "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=12" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -12192,70 +12159,60 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/mocha/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/mocha/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, - "license": "MIT", + "license": "BlueOak-1.0.0", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.18" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "has-flag": "^4.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/ms": { @@ -12393,9 +12350,9 @@ "license": "MIT" }, "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -12561,8 +12518,9 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "devOptional": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -13052,9 +13010,8 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC", - "optional": true, - "peer": true + "devOptional": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "3.0.1", @@ -13973,29 +13930,17 @@ "license": "MIT" }, "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">= 14.18.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/recursive-readdir": { @@ -16355,9 +16300,9 @@ "license": "MIT" }, "node_modules/workerpool": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-9.3.4.tgz", + "integrity": "sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==", "dev": true, "license": "Apache-2.0" }, @@ -16556,13 +16501,13 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "devOptional": true, "license": "ISC", "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-unparser": { @@ -16604,16 +16549,6 @@ "node": ">=8" } }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "devOptional": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index d58dcb217..5ade4fd67 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "li": "^1.3.0", "mashlib": "^2.0.0", "mime-types": "^3.0.2", - "negotiator": "^0.6.4", + "negotiator": "^1.0.0", "node-forge": "^1.3.3", "node-mailer": "^0.1.1", "nodemailer": "^7.0.12", @@ -130,7 +130,7 @@ "dirty-chai": "2.0.1", "globals": "^17.0.0", "localstorage-memory": "1.0.3", - "mocha": "^10.8.2", + "mocha": "^11.7.5", "nock": "^13.5.6", "node-mocks-http": "^1.17.2", "prep-fetch": "^0.1.0", From b3f295e54fa5e36d5cf0e11abd222aaf6f8cfae8 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Fri, 2 Jan 2026 23:55:58 +0100 Subject: [PATCH 07/17] fs-extra --- package-lock.json | 24 +++++------------------- package.json | 2 +- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/package-lock.json b/package-lock.json index 77d77dfab..f887f6296 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "express-session": "^1.18.2", "extend": "^3.0.2", "from2": "^2.3.0", - "fs-extra": "^10.1.0", + "fs-extra": "^11.3.3", "get-folder-size": "^2.0.1", "glob": "^7.2.3", "global-tunnel-ng": "^2.7.1", @@ -4838,20 +4838,6 @@ "node": ">=8.10" } }, - "node_modules/@solid/oidc-auth-manager/node_modules/fs-extra": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", - "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, "node_modules/@solid/oidc-auth-manager/node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -8926,9 +8912,9 @@ } }, "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", @@ -8936,7 +8922,7 @@ "universalify": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.14" } }, "node_modules/fs.realpath": { diff --git a/package.json b/package.json index 5ade4fd67..194658ea9 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "express-session": "^1.18.2", "extend": "^3.0.2", "from2": "^2.3.0", - "fs-extra": "^10.1.0", + "fs-extra": "^11.3.3", "get-folder-size": "^2.0.1", "glob": "^7.2.3", "global-tunnel-ng": "^2.7.1", From 91f9520bf2c97a643d202888b3c071cf8a67c181 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Fri, 2 Jan 2026 23:58:20 +0100 Subject: [PATCH 08/17] @fastify/busboy --- package-lock.json | 22 +++++----------------- package.json | 2 +- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index f887f6296..e99151f5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "5.8.8", "license": "MIT", "dependencies": { - "@fastify/busboy": "^1.2.1", + "@fastify/busboy": "^3.2.0", "@fastify/pre-commit": "^2.2.1", "@solid/acl-check": "^0.4.5", "@solid/oidc-auth-manager": "^0.25.2", @@ -3492,16 +3492,10 @@ } }, "node_modules/@fastify/busboy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-1.2.1.tgz", - "integrity": "sha512-7PQA7EH43S0CxcOa9OeAnaeA0oQ+e/DHNPZwSQM9CQHW76jle5+OvLdibRp/Aafs9KXbLhxyjOTkRjWUbQEd3Q==", - "license": "MIT", - "dependencies": { - "text-decoding": "^1.0.0" - }, - "engines": { - "node": ">=14" - } + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.2.0.tgz", + "integrity": "sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==", + "license": "MIT" }, "node_modules/@fastify/pre-commit": { "version": "2.2.1", @@ -15521,12 +15515,6 @@ "node": ">=8" } }, - "node_modules/text-decoding": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-decoding/-/text-decoding-1.0.0.tgz", - "integrity": "sha512-/0TJD42KDnVwKmDK6jj3xP7E2MG7SHAOG4tyTgyUCRPdHwvkquYNLEQltmdMa3owq3TkddCVcTsoctJI8VQNKA==", - "license": "MIT" - }, "node_modules/text-encoder-lite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/text-encoder-lite/-/text-encoder-lite-2.0.0.tgz", diff --git a/package.json b/package.json index 194658ea9..d36abfd57 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "homepage": "https://github.com/solid/node-solid-server", "bugs": "https://github.com/solid/node-solid-server/issues", "dependencies": { - "@fastify/busboy": "^1.2.1", + "@fastify/busboy": "^3.2.0", "@fastify/pre-commit": "^2.2.1", "@solid/acl-check": "^0.4.5", "@solid/oidc-auth-manager": "^0.25.2", From 96553e543a901beb9455a177577c33fc2c6cb0b2 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Sat, 3 Jan 2026 00:13:57 +0100 Subject: [PATCH 09/17] glob --- lib/handlers/get.mjs | 16 +- package-lock.json | 389 +++++++++++++++++++------------------------ package.json | 2 +- 3 files changed, 178 insertions(+), 229 deletions(-) diff --git a/lib/handlers/get.mjs b/lib/handlers/get.mjs index efd327705..a76b42527 100644 --- a/lib/handlers/get.mjs +++ b/lib/handlers/get.mjs @@ -2,7 +2,7 @@ import { createRequire } from 'module' import fs from 'fs' -import glob from 'glob' +import { glob, hasMagic } from 'glob' import _path from 'path' import $rdf from 'rdflib' import Negotiator from 'negotiator' @@ -37,7 +37,7 @@ export default async function handler (req, res, next) { res.header('Accept-Patch', 'text/n3, application/sparql-update, application/sparql-update-single-match') res.header('Accept-Post', '*/*') - if (!path.endsWith('/') && !glob.hasMagic(path)) res.header('Accept-Put', '*/*') + if (!path.endsWith('/') && !hasMagic(path)) res.header('Accept-Put', '*/*') // Set live updates if (ldp.live) { @@ -62,7 +62,7 @@ export default async function handler (req, res, next) { // set Accept-Put if container do not exist if (err.status === 404 && path.endsWith('/')) res.header('Accept-Put', 'text/turtle') // use globHandler if magic is detected - if (err.status === 404 && glob.hasMagic(path)) { + if (err.status === 404 && hasMagic(path)) { debug('forwarding to glob request') return globHandler(req, res, next) } else { @@ -188,8 +188,9 @@ async function globHandler (req, res, next) { nodir: true } - glob(`${folderPath}*`, globOptions, async (err, matches) => { - if (err || matches.length === 0) { + try { + const matches = await glob(`${folderPath}*`, globOptions) + if (matches.length === 0) { debugGlob('No files matching the pattern') return next(HTTPError(404, 'No files matching glob pattern')) } @@ -230,7 +231,10 @@ async function globHandler (req, res, next) { res.send(data) next() - }) + } catch (err) { + debugGlob('Error during glob: ' + err) + return next(HTTPError(500, 'Error processing glob pattern')) + } } // TODO: get rid of this ugly hack that uses the Allow handler to check read permissions diff --git a/package-lock.json b/package-lock.json index e99151f5d..9cfb57d65 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ "from2": "^2.3.0", "fs-extra": "^11.3.3", "get-folder-size": "^2.0.1", - "glob": "^7.2.3", + "glob": "^13.0.0", "global-tunnel-ng": "^2.7.1", "handlebars": "^4.7.8", "http-proxy-middleware": "^2.0.9", @@ -2277,42 +2277,6 @@ "node": ">=0.8.0" } }, - "node_modules/@expo/cli/node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", - "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, - "dependencies": { - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@expo/cli/node_modules/glob/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", - "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@expo/cli/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -2610,42 +2574,6 @@ "xml2js": "0.6.0" } }, - "node_modules/@expo/config-plugins/node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", - "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, - "dependencies": { - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@expo/config-plugins/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", - "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@expo/config-plugins/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -2676,42 +2604,6 @@ "@babel/highlight": "^7.10.4" } }, - "node_modules/@expo/config/node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", - "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, - "dependencies": { - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@expo/config/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", - "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@expo/config/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -2819,42 +2711,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@expo/fingerprint/node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", - "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, - "dependencies": { - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@expo/fingerprint/node_modules/glob/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", - "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@expo/fingerprint/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -3027,42 +2883,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@expo/metro-config/node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", - "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, - "dependencies": { - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@expo/metro-config/node_modules/glob/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", - "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@expo/metro-config/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -3596,22 +3416,6 @@ } } }, - "node_modules/@inquirer/external-editor/node_modules/iconv-lite": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", - "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, "node_modules/@inrupt/oidc-client": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@inrupt/oidc-client/-/oidc-client-1.11.6.tgz", @@ -3717,8 +3521,6 @@ "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": "20 || >=22" } @@ -3728,8 +3530,6 @@ "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "@isaacs/balanced-match": "^4.0.1" }, @@ -4394,6 +4194,29 @@ "@babel/core": "*" } }, + "node_modules/@react-native/codegen/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@react-native/community-cli-plugin": { "version": "0.83.1", "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.83.1.tgz", @@ -6052,6 +5875,18 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -8390,6 +8225,27 @@ "node": ">=v10.24.1" } }, + "node_modules/express-handlebars/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/express-negotiate-events": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/express-negotiate-events/-/express-negotiate-events-0.3.0.tgz", @@ -9067,21 +8923,17 @@ } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" }, "engines": { - "node": "*" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -9100,6 +8952,21 @@ "node": ">= 6" } }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/global-agent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", @@ -9527,15 +9394,19 @@ "license": "BSD-3-Clause" }, "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz", + "integrity": "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==", "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/ieee754": { @@ -12007,7 +11878,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "devOptional": true, "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" @@ -12946,8 +12816,6 @@ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" @@ -12964,8 +12832,6 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", "license": "BlueOak-1.0.0", - "optional": true, - "peer": true, "engines": { "node": "20 || >=22" } @@ -13561,6 +13427,18 @@ "node": ">= 0.8" } }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -13835,6 +13713,29 @@ "node": ">=18" } }, + "node_modules/react-native/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/react-native/node_modules/hermes-estree": { "version": "0.32.0", "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz", @@ -14166,6 +14067,27 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/roarr": { "version": "2.15.4", "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", @@ -15515,6 +15437,29 @@ "node": ">=8" } }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/text-encoder-lite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/text-encoder-lite/-/text-encoder-lite-2.0.0.tgz", diff --git a/package.json b/package.json index d36abfd57..2e4977ae2 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "from2": "^2.3.0", "fs-extra": "^11.3.3", "get-folder-size": "^2.0.1", - "glob": "^7.2.3", + "glob": "^13.0.0", "global-tunnel-ng": "^2.7.1", "handlebars": "^4.7.8", "http-proxy-middleware": "^2.0.9", From 48b9d35958e51451441522f15bd0a50c2d8f4172 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Sat, 3 Jan 2026 00:18:57 +0100 Subject: [PATCH 10/17] is-ip --- lib/handlers/cors-proxy.mjs | 4 +- package-lock.json | 110 ++++++++++++++++++++++++++++++++---- package.json | 2 +- 3 files changed, 103 insertions(+), 13 deletions(-) diff --git a/lib/handlers/cors-proxy.mjs b/lib/handlers/cors-proxy.mjs index 908ea8110..40ef1c12c 100644 --- a/lib/handlers/cors-proxy.mjs +++ b/lib/handlers/cors-proxy.mjs @@ -3,7 +3,7 @@ import cors from 'cors' import debug from '../debug.mjs' import url from 'url' import dns from 'dns' -import isIp from 'is-ip' +import { isIP } from 'is-ip' import ipRange from 'ip-range-check' import validUrl from 'valid-url' @@ -73,7 +73,7 @@ function extractProxyConfig (req, res, next) { // Parse the URL and retrieve its host's IP address const { protocol, host, hostname, path } = url.parse(uri) - if (isIp(hostname)) { + if (isIP(hostname)) { addProxyConfig(null, hostname) } else { dns.lookup(hostname, addProxyConfig) diff --git a/package-lock.json b/package-lock.json index 9cfb57d65..b4e099c6e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "inquirer": "^8.2.7", "into-stream": "^5.1.1", "ip-range-check": "0.2.0", - "is-ip": "^2.0.0", + "is-ip": "^5.0.1", "li": "^1.3.0", "mashlib": "^2.0.0", "mime-types": "^3.0.2", @@ -6580,6 +6580,21 @@ "node": ">=0.8" } }, + "node_modules/clone-regexp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-3.0.0.tgz", + "integrity": "sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==", + "license": "MIT", + "dependencies": { + "is-regexp": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -6850,6 +6865,18 @@ "node": ">= 0.6" } }, + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -8804,6 +8831,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/function-timeout": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-0.1.1.tgz", + "integrity": "sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gar": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz", @@ -9569,12 +9608,15 @@ } }, "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz", + "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==", "license": "MIT", "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ipaddr.js": { @@ -9704,15 +9746,19 @@ } }, "node_modules/is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.1.tgz", + "integrity": "sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==", "license": "MIT", "dependencies": { - "ip-regex": "^2.0.0" + "ip-regex": "^5.0.0", + "super-regex": "^0.2.0" }, "engines": { - "node": ">=4" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-nan": { @@ -9780,6 +9826,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-regexp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-3.1.0.tgz", + "integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", @@ -15223,6 +15281,23 @@ "node": ">= 6" } }, + "node_modules/super-regex": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-0.2.0.tgz", + "integrity": "sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==", + "license": "MIT", + "dependencies": { + "clone-regexp": "^3.0.0", + "function-timeout": "^0.1.0", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/superagent": { "version": "10.2.3", "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.2.3.tgz", @@ -15528,6 +15603,21 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "license": "MIT" }, + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "license": "MIT", + "dependencies": { + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/timeago.js": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/timeago.js/-/timeago.js-4.0.2.tgz", diff --git a/package.json b/package.json index 2e4977ae2..db4388fdc 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "inquirer": "^8.2.7", "into-stream": "^5.1.1", "ip-range-check": "0.2.0", - "is-ip": "^2.0.0", + "is-ip": "^5.0.1", "li": "^1.3.0", "mashlib": "^2.0.0", "mime-types": "^3.0.2", From eaab15a7beebd32d28b09d336ae89deff5fce26f Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Sat, 3 Jan 2026 00:22:05 +0100 Subject: [PATCH 11/17] cross-env --- package-lock.json | 26 ++++++++++++++++---------- package.json | 2 +- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index b4e099c6e..165a8e2ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -79,7 +79,7 @@ "c8": "^10.1.3", "chai": "^4.5.0", "chai-as-promised": "7.1.2", - "cross-env": "7.0.3", + "cross-env": "^10.1.0", "dirty-chai": "2.0.1", "globals": "^17.0.0", "localstorage-memory": "1.0.3", @@ -1936,6 +1936,13 @@ "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg==", "license": "MIT" }, + "node_modules/@epic-web/invariant": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@epic-web/invariant/-/invariant-1.0.0.tgz", + "integrity": "sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==", + "dev": true, + "license": "MIT" + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", @@ -6952,22 +6959,21 @@ } }, "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-10.1.0.tgz", + "integrity": "sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==", "dev": true, "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.1" + "@epic-web/invariant": "^1.0.0", + "cross-spawn": "^7.0.6" }, "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" + "cross-env": "dist/bin/cross-env.js", + "cross-env-shell": "dist/bin/cross-env-shell.js" }, "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" + "node": ">=20" } }, "node_modules/cross-fetch": { diff --git a/package.json b/package.json index db4388fdc..f6f4914e2 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "c8": "^10.1.3", "chai": "^4.5.0", "chai-as-promised": "7.1.2", - "cross-env": "7.0.3", + "cross-env": "^10.1.0", "dirty-chai": "2.0.1", "globals": "^17.0.0", "localstorage-memory": "1.0.3", From 809f99628ba637a3ed2f941467bc354696fbe21e Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Sat, 3 Jan 2026 00:23:34 +0100 Subject: [PATCH 12/17] into-stream --- package-lock.json | 26 ++++++++------------------ package.json | 2 +- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index 165a8e2ee..0d39c510a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "handlebars": "^4.7.8", "http-proxy-middleware": "^2.0.9", "inquirer": "^8.2.7", - "into-stream": "^5.1.1", + "into-stream": "^9.0.0", "ip-range-check": "0.2.0", "is-ip": "^5.0.1", "li": "^1.3.0", @@ -9582,16 +9582,15 @@ } }, "node_modules/into-stream": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-5.1.1.tgz", - "integrity": "sha512-krrAJ7McQxGGmvaYbB7Q1mcA+cRwg9Ij2RfWIeVesNBgVDZmzY/Fa4IpZUT3bmdRzMzdf/mzltCG2Dq99IZGBA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-9.0.0.tgz", + "integrity": "sha512-0cHFlRvRr8nxUf0kipkPQSYQ3WCrwG95zX76o9S2Vdmw02ZFh3oD3qsVv9vVTzD0hA96sXS414UfxeYh35yTrg==", "license": "MIT", - "dependencies": { - "from2": "^2.3.0", - "p-is-promise": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/invariant": { @@ -12691,15 +12690,6 @@ "integrity": "sha512-33/Z+vyjlFaVZsT7aAFe3SkQZdU6su59XNkYdU5o2Fssz0D9dt6uiFaMm62M7dFQSKogULq8UYvdKnHkeqNB2w==", "license": "MIT" }, - "node_modules/p-is-promise": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", - "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", diff --git a/package.json b/package.json index f6f4914e2..1e01e4ebd 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ "handlebars": "^4.7.8", "http-proxy-middleware": "^2.0.9", "inquirer": "^8.2.7", - "into-stream": "^5.1.1", + "into-stream": "^9.0.0", "ip-range-check": "0.2.0", "is-ip": "^5.0.1", "li": "^1.3.0", From 957b66e64a42ce8635a3561962b2fbcf09be403d Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Sat, 3 Jan 2026 00:25:16 +0100 Subject: [PATCH 13/17] commander --- package-lock.json | 10 +++++----- package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0d39c510a..9a6aa9de4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "camelize": "^1.0.1", "cheerio": "^1.1.2", "colorette": "^2.0.20", - "commander": "^8.3.0", + "commander": "^14.0.2", "cors": "^2.8.5", "debug": "^4.4.3", "eslint": "^9.39.2", @@ -6640,12 +6640,12 @@ } }, "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", "engines": { - "node": ">= 12" + "node": ">=20" } }, "node_modules/compare-versions": { diff --git a/package.json b/package.json index 1e01e4ebd..030b78827 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "camelize": "^1.0.1", "cheerio": "^1.1.2", "colorette": "^2.0.20", - "commander": "^8.3.0", + "commander": "^14.0.2", "cors": "^2.8.5", "debug": "^4.4.3", "eslint": "^9.39.2", From 27cfb89e541e03bec3921c17e12394470fae4e06 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Tue, 6 Jan 2026 17:19:14 +0100 Subject: [PATCH 14/17] update to mashlib>=2.0.0 --- common/js/auth-buttons.js | 67 ---- common/js/index-buttons.js | 44 --- common/js/index-buttons.mjs | 5 +- default-templates/server/index.html | 2 +- lib/models/account-manager.mjs | 4 +- package-lock.json | 312 +++--------------- package.json | 4 +- .../config/templates/server/index.html | 2 +- test/unit/account-manager-test.mjs | 4 +- test/unit/email-welcome-test.mjs | 2 +- 10 files changed, 63 insertions(+), 383 deletions(-) delete mode 100644 common/js/auth-buttons.js delete mode 100644 common/js/index-buttons.js diff --git a/common/js/auth-buttons.js b/common/js/auth-buttons.js deleted file mode 100644 index 2301f23ce..000000000 --- a/common/js/auth-buttons.js +++ /dev/null @@ -1,67 +0,0 @@ -/* global location, alert, solid */ -/* Provide functionality for authentication buttons */ - -(({ auth }) => { - // Wire up DOM elements - const [ - loginButton, - logoutButton, - registerButton, - accountSettings, - loggedInContainer, - profileLink - ] = [ - 'login', - 'logout', - 'register', - 'account-settings', - 'loggedIn', - 'profileLink' - ].map(id => document.getElementById(id) || document.createElement('a')) - loginButton.addEventListener('click', login) - logoutButton.addEventListener('click', logout) - registerButton.addEventListener('click', register) - - // Track authentication status and update UI - auth.trackSession(session => { - const loggedIn = !!session - const isOwner = loggedIn && new URL(session.webId).origin === location.origin - loginButton.classList.toggle('hidden', loggedIn) - logoutButton.classList.toggle('hidden', !loggedIn) - registerButton.classList.toggle('hidden', loggedIn) - accountSettings.classList.toggle('hidden', !isOwner) - loggedInContainer.classList.toggle('hidden', !loggedIn) - if (session) { - profileLink.href = session.webId - profileLink.innerText = session.webId - } - }) - - // Log the user in on the client and the server - async function login () { - alert(`login from this page is no more possible.\n\nYou must ask the pod owner to modify this page or remove it.`) - /* deprecated since inrupt/solid-auth-client - const session = await auth.popupLogin() - if (session) { - // Make authenticated request to the server to establish a session cookie - const { status } = await auth.fetch(location, { method: 'HEAD' }) - if (status === 401) { - alert(`Invalid login.\n\nDid you set ${session.idp} as your OIDC provider in your profile ${session.webId}?`) - await auth.logout() - } - location.reload() - } */ - } - - // Log the user out from the client and the server - async function logout () { - await auth.logout() - location.reload() - } - - // Redirect to the registration page - function register () { - const registration = new URL('/register', location) - location.href = registration - } -})(solid) diff --git a/common/js/index-buttons.js b/common/js/index-buttons.js deleted file mode 100644 index 5c3abfb0f..000000000 --- a/common/js/index-buttons.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict' -var keyname = 'SolidServerRootRedirectLink'; -function register() { - alert(2); window.location.href = "/register"; -} -document.addEventListener('DOMContentLoaded', async function() { - const authn = UI.authn - const authSession = UI.authn.authSession - - if (!authn.currentUser()) await authn.checkUser(); - let user = authn.currentUser(); - - // IF LOGGED IN: SET SolidServerRootRedirectLink. LOGOUT - if( user ) { - window.localStorage.setItem(keyname, user.uri); - await authSession.logout(); - } - else { - let webId = window.localStorage.getItem(keyname); - - // IF NOT LOGGED IN AND COOKIE EXISTS: REMOVE COOKIE, HIDE WELCOME, SHOW LINK TO PROFILE - if( webId ) { - window.localStorage.removeItem(keyname); - document.getElementById('loggedIn').style.display = "block"; - document.getElementById('loggedIn').innerHTML = `

Your WebID is : ${webId}.

Visit your profile to log into your Pod.

`; - } - - // IF NOT LOGGED IN AND COOKIE DOES NOT EXIST - // SHOW WELCOME, SHOW LOGIN BUTTON - // HIDE LOGIN BUTTON, ADD REGISTER BUTTON - else { - let loginArea = document.getElementById('loginStatusArea'); - let html = `` - let span = document.createElement("span") - span.innerHTML = html - loginArea.appendChild(span); - loginArea.appendChild(UI.login.loginStatusBox(document, null, {})) - const logInButton = loginArea.querySelectorAll('input')[1]; - logInButton.value = "Log in to see your WebID"; - const signUpButton = loginArea.querySelectorAll('input')[2]; - signUpButton.style.display = "none"; - } - } -}) diff --git a/common/js/index-buttons.mjs b/common/js/index-buttons.mjs index 09473257a..8b75dd99b 100644 --- a/common/js/index-buttons.mjs +++ b/common/js/index-buttons.mjs @@ -1,4 +1,5 @@ // ESM version of index-buttons.js +/* global SolidLogic */ 'use strict' const keyname = 'SolidServerRootRedirectLink' /* function register () { @@ -6,8 +7,8 @@ const keyname = 'SolidServerRootRedirectLink' window.location.href = '/register' } */ document.addEventListener('DOMContentLoaded', async function () { - const authn = UI.authn - const authSession = UI.authn.authSession + const authn = SolidLogic.authn + const authSession = SolidLogic.authSession if (!authn.currentUser()) await authn.checkUser() const user = authn.currentUser() diff --git a/default-templates/server/index.html b/default-templates/server/index.html index 907ef6ac4..85158e1e3 100644 --- a/default-templates/server/index.html +++ b/default-templates/server/index.html @@ -48,7 +48,7 @@

Server info

- + diff --git a/lib/models/account-manager.mjs b/lib/models/account-manager.mjs index d25078871..b204b6439 100644 --- a/lib/models/account-manager.mjs +++ b/lib/models/account-manager.mjs @@ -275,7 +275,7 @@ class AccountManager { webId: userAccount.webId, resetUrl } - return this.emailService.sendWithTemplate('reset-password', emailData) + return this.emailService.sendWithTemplate('reset-password.mjs', emailData) }) } @@ -289,7 +289,7 @@ class AccountManager { webid: newUser.webId, name: newUser.displayName } - return emailService.sendWithTemplate('welcome', emailData) + return emailService.sendWithTemplate('welcome.mjs', emailData) } } diff --git a/package-lock.json b/package-lock.json index 9a6aa9de4..6f153ffb3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,7 @@ "ip-range-check": "0.2.0", "is-ip": "^5.0.1", "li": "^1.3.0", - "mashlib": "^2.0.0", + "mashlib": "^2.0.0-de1f6b8e", "mime-types": "^3.0.2", "negotiator": "^1.0.0", "node-forge": "^1.3.3", @@ -54,7 +54,7 @@ "nodemailer": "^7.0.12", "oidc-op-express": "^0.0.3", "owasp-password-strength-test": "^1.3.0", - "rdflib": "^2.3.2", + "rdflib": "^2.3.3", "recursive-readdir": "^2.2.3", "rimraf": "^3.0.2", "solid-auth-client": "^2.5.6", @@ -4662,48 +4662,6 @@ "node": ">=8.10" } }, - "node_modules/@solid/oidc-auth-manager/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/@solid/oidc-auth-manager/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/@solid/oidc-auth-manager/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/@solid/oidc-auth-manager/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/@solid/oidc-op": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@solid/oidc-op/-/oidc-op-0.12.1.tgz", @@ -4741,48 +4699,6 @@ "node": ">=10" } }, - "node_modules/@solid/oidc-rp/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/@solid/oidc-rp/node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/@solid/oidc-rp/node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/@solid/oidc-rp/node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/@solid/oidc-rs": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@solid/oidc-rs/-/oidc-rs-0.7.0.tgz", @@ -4796,48 +4712,6 @@ "node-fetch": "^2.7.0" } }, - "node_modules/@solid/oidc-rs/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/@solid/oidc-rs/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/@solid/oidc-rs/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/@solid/oidc-rs/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/@solid/solid-auth-oidc": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/@solid/solid-auth-oidc/-/solid-auth-oidc-0.6.1.tgz", @@ -6985,48 +6859,6 @@ "node-fetch": "^2.7.0" } }, - "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/cross-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/cross-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/cross-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -9909,48 +9741,6 @@ "whatwg-fetch": "^3.4.1" } }, - "node_modules/isomorphic-fetch/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/isomorphic-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/isomorphic-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/isomorphic-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/isomorphic-webcrypto": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/isomorphic-webcrypto/-/isomorphic-webcrypto-2.3.8.tgz", @@ -11296,12 +11086,12 @@ "peer": true }, "node_modules/mashlib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mashlib/-/mashlib-2.0.0.tgz", - "integrity": "sha512-LfFU43slnI9gP3yzRNN2xjG7cnX0h7NRnzH4K5cQOf931CuCWWTwua82EdBSXbe929ICLBZniNMBCw37dRsUnQ==", + "version": "2.0.0-de1f6b8e", + "resolved": "https://registry.npmjs.org/mashlib/-/mashlib-2.0.0-de1f6b8e.tgz", + "integrity": "sha512-nUTXshGttf5YKueAeoTXmDA9ZHD+ZXYS05bj2uMxcJCZx3BbRl3XdkGksJXaDkFoOG68B23fYlsO2+u5dd4bKQ==", "license": "MIT", "dependencies": { - "rdflib": "^2.3.0", + "rdflib": "^2.3.3", "solid-logic": "^4.0.0", "solid-panes": "^4.0.0", "solid-ui": "^3.0.0" @@ -12337,6 +12127,48 @@ "node": ">= 10.13" } }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/node-forge": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", @@ -13534,9 +13366,9 @@ } }, "node_modules/rdflib": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/rdflib/-/rdflib-2.3.2.tgz", - "integrity": "sha512-oYgR6oEPt62lAyz+Tkut6F24izh80l+qmkYHpF4nYFmBGzgURjTMidYseQnsYot4hMMUXE+lAz4boX02vZDQ8g==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/rdflib/-/rdflib-2.3.3.tgz", + "integrity": "sha512-bd/Wl+yVvw8vMpdfRUgVuCMS5d6imEJFAHqbVFn5m9ekcrl6vuYwVP+qa9yiTzPIkbdwoWE4wWb8DXa7smQEQQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.28.4", @@ -14803,48 +14635,6 @@ "node": ">= 6" } }, - "node_modules/solid-auth-client/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/solid-auth-client/node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/solid-auth-client/node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/solid-auth-client/node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/solid-logic": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/solid-logic/-/solid-logic-4.0.1.tgz", diff --git a/package.json b/package.json index 030b78827..b5ab57b05 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "ip-range-check": "0.2.0", "is-ip": "^5.0.1", "li": "^1.3.0", - "mashlib": "^2.0.0", + "mashlib": "^2.0.0-de1f6b8e", "mime-types": "^3.0.2", "negotiator": "^1.0.0", "node-forge": "^1.3.3", @@ -104,7 +104,7 @@ "nodemailer": "^7.0.12", "oidc-op-express": "^0.0.3", "owasp-password-strength-test": "^1.3.0", - "rdflib": "^2.3.2", + "rdflib": "^2.3.3", "recursive-readdir": "^2.2.3", "rimraf": "^3.0.2", "solid-auth-client": "^2.5.6", diff --git a/test/resources/config/templates/server/index.html b/test/resources/config/templates/server/index.html index 907ef6ac4..85158e1e3 100644 --- a/test/resources/config/templates/server/index.html +++ b/test/resources/config/templates/server/index.html @@ -48,7 +48,7 @@

Server info

- + diff --git a/test/unit/account-manager-test.mjs b/test/unit/account-manager-test.mjs index c0bd6c06c..d7b7e758e 100644 --- a/test/unit/account-manager-test.mjs +++ b/test/unit/account-manager-test.mjs @@ -497,7 +497,7 @@ describe('AccountManager', () => { expect(accountManager.passwordResetUrl) .to.have.been.calledWith(resetToken, returnToUrl) expect(emailService.sendWithTemplate) - .to.have.been.calledWith('reset-password', expectedEmailData) + .to.have.been.calledWith('reset-password.mjs', expectedEmailData) }) }) @@ -607,4 +607,4 @@ describe('AccountManager', () => { }) }) }) -}) +}) diff --git a/test/unit/email-welcome-test.mjs b/test/unit/email-welcome-test.mjs index c6a0b8036..bb150b40c 100644 --- a/test/unit/email-welcome-test.mjs +++ b/test/unit/email-welcome-test.mjs @@ -73,7 +73,7 @@ describe('Account Creation Welcome Email', () => { return accountManager.sendWelcomeEmail(newUser) .then(result => { - expect(sendWithTemplate).to.be.calledWith('welcome', expectedEmailData) + expect(sendWithTemplate).to.be.calledWith('welcome.mjs', expectedEmailData) }) }) }) From afc492981cab7fc2d7636d21b80ab7b6f8771357 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Wed, 7 Jan 2026 12:15:52 +0100 Subject: [PATCH 15/17] remove some defaults .js --- config/defaults.js | 25 ---------- default-templates/emails/delete-account.js | 49 -------------------- default-templates/emails/invalid-username.js | 30 ------------ default-templates/emails/reset-password.js | 49 -------------------- default-templates/emails/welcome.js | 39 ---------------- 5 files changed, 192 deletions(-) delete mode 100644 config/defaults.js delete mode 100644 default-templates/emails/delete-account.js delete mode 100644 default-templates/emails/invalid-username.js delete mode 100644 default-templates/emails/reset-password.js delete mode 100644 default-templates/emails/welcome.js diff --git a/config/defaults.js b/config/defaults.js deleted file mode 100644 index 6382305f4..000000000 --- a/config/defaults.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict' - -module.exports = { - auth: 'oidc', - localAuth: { - tls: true, - password: true - }, - configPath: './config', - dbPath: './.db', - port: 8443, - serverUri: 'https://localhost:8443', - webid: true, - strictOrigin: true, - trustedOrigins: [], - dataBrowserPath: 'default' - - // For use in Enterprises to configure a HTTP proxy for all outbound HTTP requests from the SOLID server (we use - // https://www.npmjs.com/package/global-tunnel-ng). - // "httpProxy": { - // "tunnel": "neither", - // "host": "proxy.example.com", - // "port": 12345 - // } -} diff --git a/default-templates/emails/delete-account.js b/default-templates/emails/delete-account.js deleted file mode 100644 index 9ef228651..000000000 --- a/default-templates/emails/delete-account.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict' - -/** - * Returns a partial Email object (minus the `to` and `from` properties), - * suitable for sending with Nodemailer. - * - * Used to send a Delete Account email, upon user request - * - * @param data {Object} - * - * @param data.deleteUrl {string} - * @param data.webId {string} - * - * @return {Object} - */ -function render (data) { - return { - subject: 'Delete Solid-account request', - - /** - * Text version - */ - text: `Hi, - -We received a request to delete your Solid account, ${data.webId} - -To delete your account, click on the following link: - -${data.deleteUrl} - -If you did not mean to delete your account, ignore this email.`, - - /** - * HTML version - */ - html: `

Hi,

- -

We received a request to delete your Solid account, ${data.webId}

- -

To delete your account, click on the following link:

- -

${data.deleteUrl}

- -

If you did not mean to delete your account, ignore this email.

-` - } -} - -module.exports.render = render diff --git a/default-templates/emails/invalid-username.js b/default-templates/emails/invalid-username.js deleted file mode 100644 index 8a7497fc5..000000000 --- a/default-templates/emails/invalid-username.js +++ /dev/null @@ -1,30 +0,0 @@ -module.exports.render = render - -function render (data) { - return { - subject: `Invalid username for account ${data.accountUri}`, - - /** - * Text version - */ - text: `Hi, - -We're sorry to inform you that the username for account ${data.accountUri} is not allowed after changes to username policy. - -This account has been set to be deleted at ${data.dateOfRemoval}. - -${data.supportEmail ? `Please contact ${data.supportEmail} if you want to move your account.` : ''}`, - - /** - * HTML version - */ - html: `

Hi,

- -

We're sorry to inform you that the username for account ${data.accountUri} is not allowed after changes to username policy.

- -

This account has been set to be deleted at ${data.dateOfRemoval}.

- -${data.supportEmail ? `

Please contact ${data.supportEmail} if you want to move your account.

` : ''} -` - } -} diff --git a/default-templates/emails/reset-password.js b/default-templates/emails/reset-password.js deleted file mode 100644 index fb18972cc..000000000 --- a/default-templates/emails/reset-password.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict' - -/** - * Returns a partial Email object (minus the `to` and `from` properties), - * suitable for sending with Nodemailer. - * - * Used to send a Reset Password email, upon user request - * - * @param data {Object} - * - * @param data.resetUrl {string} - * @param data.webId {string} - * - * @return {Object} - */ -function render (data) { - return { - subject: 'Account password reset', - - /** - * Text version - */ - text: `Hi, - -We received a request to reset your password for your Solid account, ${data.webId} - -To reset your password, click on the following link: - -${data.resetUrl} - -If you did not mean to reset your password, ignore this email, your password will not change.`, - - /** - * HTML version - */ - html: `

Hi,

- -

We received a request to reset your password for your Solid account, ${data.webId}

- -

To reset your password, click on the following link:

- -

${data.resetUrl}

- -

If you did not mean to reset your password, ignore this email, your password will not change.

-` - } -} - -module.exports.render = render diff --git a/default-templates/emails/welcome.js b/default-templates/emails/welcome.js deleted file mode 100644 index bce554462..000000000 --- a/default-templates/emails/welcome.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict' - -/** - * Returns a partial Email object (minus the `to` and `from` properties), - * suitable for sending with Nodemailer. - * - * Used to send a Welcome email after a new user account has been created. - * - * @param data {Object} - * - * @param data.webid {string} - * - * @return {Object} - */ -function render (data) { - return { - subject: 'Welcome to Solid', - - /** - * Text version of the Welcome email - */ - text: `Welcome to Solid! - -Your account has been created. - -Your Web Id: ${data.webid}`, - - /** - * HTML version of the Welcome email - */ - html: `

Welcome to Solid!

- -

Your account has been created.

- -

Your Web Id: ${data.webid}

` - } -} - -module.exports.render = render From f9f9ef14461bbdc6358cb82c9f9f83d5ea2a59a4 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Wed, 7 Jan 2026 13:17:23 +0100 Subject: [PATCH 16/17] update minor dependencies --- package-lock.json | 49 +++++++++++++++++++++++++++++------------------ package.json | 6 +++--- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6f153ffb3..1bd54d5fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,7 @@ "ip-range-check": "0.2.0", "is-ip": "^5.0.1", "li": "^1.3.0", - "mashlib": "^2.0.0-de1f6b8e", + "mashlib": "^2.0.0", "mime-types": "^3.0.2", "negotiator": "^1.0.0", "node-forge": "^1.3.3", @@ -54,7 +54,7 @@ "nodemailer": "^7.0.12", "oidc-op-express": "^0.0.3", "owasp-password-strength-test": "^1.3.0", - "rdflib": "^2.3.3", + "rdflib": "^2.3.5", "recursive-readdir": "^2.2.3", "rimraf": "^3.0.2", "solid-auth-client": "^2.5.6", @@ -91,7 +91,7 @@ "sinon": "12.0.1", "sinon-chai": "3.7.0", "snyk": "^1.1301.2", - "supertest": "^7.1.4", + "supertest": "^7.2.2", "turtle-validator": "1.1.1", "whatwg-url": "^15.1.0" }, @@ -11086,12 +11086,12 @@ "peer": true }, "node_modules/mashlib": { - "version": "2.0.0-de1f6b8e", - "resolved": "https://registry.npmjs.org/mashlib/-/mashlib-2.0.0-de1f6b8e.tgz", - "integrity": "sha512-nUTXshGttf5YKueAeoTXmDA9ZHD+ZXYS05bj2uMxcJCZx3BbRl3XdkGksJXaDkFoOG68B23fYlsO2+u5dd4bKQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mashlib/-/mashlib-2.0.0.tgz", + "integrity": "sha512-LfFU43slnI9gP3yzRNN2xjG7cnX0h7NRnzH4K5cQOf931CuCWWTwua82EdBSXbe929ICLBZniNMBCw37dRsUnQ==", "license": "MIT", "dependencies": { - "rdflib": "^2.3.3", + "rdflib": "^2.3.0", "solid-logic": "^4.0.0", "solid-panes": "^4.0.0", "solid-ui": "^3.0.0" @@ -13366,9 +13366,9 @@ } }, "node_modules/rdflib": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/rdflib/-/rdflib-2.3.3.tgz", - "integrity": "sha512-bd/Wl+yVvw8vMpdfRUgVuCMS5d6imEJFAHqbVFn5m9ekcrl6vuYwVP+qa9yiTzPIkbdwoWE4wWb8DXa7smQEQQ==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/rdflib/-/rdflib-2.3.5.tgz", + "integrity": "sha512-dXW3GbHSKx3vctY3YUm7O/EVj4pNVueUgrm3GBsWjwrRkkFBu2+9Sd5zjhi/skbzhpQ9d45rO/2HGD8zi0oubw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.28.4", @@ -15085,9 +15085,9 @@ } }, "node_modules/superagent": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.2.3.tgz", - "integrity": "sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.3.0.tgz", + "integrity": "sha512-B+4Ik7ROgVKrQsXTV0Jwp2u+PXYLSlqtDAhYnkkD+zn3yg8s/zjA2MeGayPoY/KICrbitwneDHrjSotxKL+0XQ==", "dev": true, "license": "MIT", "dependencies": { @@ -15095,11 +15095,11 @@ "cookiejar": "^2.1.4", "debug": "^4.3.7", "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.4", + "form-data": "^4.0.5", "formidable": "^3.5.4", "methods": "^1.1.2", "mime": "2.6.0", - "qs": "^6.11.2" + "qs": "^6.14.1" }, "engines": { "node": ">=14.18.0" @@ -15119,19 +15119,30 @@ } }, "node_modules/supertest": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.1.4.tgz", - "integrity": "sha512-tjLPs7dVyqgItVFirHYqe2T+MfWc2VOBQ8QFKKbWTA3PU7liZR8zoSpAi/C1k1ilm9RsXIKYf197oap9wXGVYg==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.2.2.tgz", + "integrity": "sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==", "dev": true, "license": "MIT", "dependencies": { + "cookie-signature": "^1.2.2", "methods": "^1.1.2", - "superagent": "^10.2.3" + "superagent": "^10.3.0" }, "engines": { "node": ">=14.18.0" } }, + "node_modules/supertest/node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", diff --git a/package.json b/package.json index b5ab57b05..631c05c51 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "ip-range-check": "0.2.0", "is-ip": "^5.0.1", "li": "^1.3.0", - "mashlib": "^2.0.0-de1f6b8e", + "mashlib": "^2.0.0", "mime-types": "^3.0.2", "negotiator": "^1.0.0", "node-forge": "^1.3.3", @@ -104,7 +104,7 @@ "nodemailer": "^7.0.12", "oidc-op-express": "^0.0.3", "owasp-password-strength-test": "^1.3.0", - "rdflib": "^2.3.3", + "rdflib": "^2.3.5", "recursive-readdir": "^2.2.3", "rimraf": "^3.0.2", "solid-auth-client": "^2.5.6", @@ -138,7 +138,7 @@ "sinon": "12.0.1", "sinon-chai": "3.7.0", "snyk": "^1.1301.2", - "supertest": "^7.1.4", + "supertest": "^7.2.2", "turtle-validator": "1.1.1", "whatwg-url": "^15.1.0" }, From 1876c4b569c7458ba6af39aadd186f5158da2aae Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Wed, 7 Jan 2026 14:08:38 +0100 Subject: [PATCH 17/17] 6.0.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1bd54d5fb..b672a4d3c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "solid-server", - "version": "5.8.8", + "version": "6.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "solid-server", - "version": "5.8.8", + "version": "6.0.0", "license": "MIT", "dependencies": { "@fastify/busboy": "^3.2.0", diff --git a/package.json b/package.json index 631c05c51..942cbe791 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "solid-server", "description": "Solid server on top of the file-system", - "version": "5.8.8", + "version": "6.0.0", "author": { "name": "Tim Berners-Lee", "email": "timbl@w3.org"