mirror of
https://github.com/thelounge/thelounge.git
synced 2024-06-27 17:50:24 +02:00
feat(openid): use lower-level openid lib, more infra
This commit is contained in:
parent
0ca3fed6e6
commit
50f39bca44
|
@ -28,6 +28,7 @@
|
||||||
"../server/plugins/auth.ts",
|
"../server/plugins/auth.ts",
|
||||||
"../server/plugins/auth/local.ts",
|
"../server/plugins/auth/local.ts",
|
||||||
"../server/plugins/auth/ldap.ts",
|
"../server/plugins/auth/ldap.ts",
|
||||||
|
"../server/plugins/auth/openid.ts",
|
||||||
"../server/plugins/irc-events/link.ts",
|
"../server/plugins/irc-events/link.ts",
|
||||||
"../server/command-line/utils.ts",
|
"../server/command-line/utils.ts",
|
||||||
"../server/models/network.ts",
|
"../server/models/network.ts",
|
||||||
|
|
|
@ -50,7 +50,6 @@
|
||||||
"commander": "9.0.0",
|
"commander": "9.0.0",
|
||||||
"content-disposition": "0.5.4",
|
"content-disposition": "0.5.4",
|
||||||
"express": "4.17.3",
|
"express": "4.17.3",
|
||||||
"express-openid-connect": "2.11.0",
|
|
||||||
"file-type": "16.5.4",
|
"file-type": "16.5.4",
|
||||||
"filenamify": "4.3.0",
|
"filenamify": "4.3.0",
|
||||||
"got": "11.8.5",
|
"got": "11.8.5",
|
||||||
|
@ -61,6 +60,7 @@
|
||||||
"lodash": "4.17.21",
|
"lodash": "4.17.21",
|
||||||
"mime-types": "2.1.34",
|
"mime-types": "2.1.34",
|
||||||
"node-forge": "1.3.0",
|
"node-forge": "1.3.0",
|
||||||
|
"openid-client": "5.3.1",
|
||||||
"package-json": "7.0.0",
|
"package-json": "7.0.0",
|
||||||
"read": "1.0.7",
|
"read": "1.0.7",
|
||||||
"read-chunk": "3.2.0",
|
"read-chunk": "3.2.0",
|
||||||
|
|
|
@ -13,7 +13,7 @@ export type AuthHandler = (
|
||||||
|
|
||||||
// The order defines priority: the first available plugin is used.
|
// The order defines priority: the first available plugin is used.
|
||||||
// Always keep 'local' auth plugin at the end of the list; it should always be enabled.
|
// Always keep 'local' auth plugin at the end of the list; it should always be enabled.
|
||||||
const plugins = [import("./auth/ldap"), import("./auth/local")];
|
const plugins = [import("./auth/openid"), import("./auth/ldap"), import("./auth/local")];
|
||||||
|
|
||||||
const toExport = {
|
const toExport = {
|
||||||
moduleName: "<module with no name>",
|
moduleName: "<module with no name>",
|
||||||
|
|
51
server/plugins/auth/openid.ts
Normal file
51
server/plugins/auth/openid.ts
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
import colors from "chalk";
|
||||||
|
|
||||||
|
import log from "../../log";
|
||||||
|
import Config from "../../config";
|
||||||
|
import type {AuthHandler} from "../auth";
|
||||||
|
import * as express from "express";
|
||||||
|
|
||||||
|
function openidAuthCommon(
|
||||||
|
user: string,
|
||||||
|
bindDN: string,
|
||||||
|
password: string,
|
||||||
|
callback: (success: boolean) => void
|
||||||
|
) {
|
||||||
|
const config = Config.values;
|
||||||
|
}
|
||||||
|
|
||||||
|
function openIDCheckSession(user: string, password: string, callback: (success: boolean) => void) {
|
||||||
|
if (!user || !password) {
|
||||||
|
return callback(false);
|
||||||
|
}
|
||||||
|
// If success
|
||||||
|
callback(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
const openIDAuth: AuthHandler = (manager, client, user, password, callback) => {
|
||||||
|
function callbackWrapper(valid: boolean) {
|
||||||
|
if (valid && !client) {
|
||||||
|
manager.addUser(user, null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
callback(valid);
|
||||||
|
}
|
||||||
|
|
||||||
|
//return auth(user, password, callbackWrapper);
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
function openIDLoadUsers(users: string[], callbackLoadUser) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isOpenIDEnabled() {
|
||||||
|
return !Config.values.public && Config.values.openid.enable;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
moduleName: "openid",
|
||||||
|
auth: openIDAuth,
|
||||||
|
isEnabled: isOpenIDEnabled,
|
||||||
|
loadUsers: openIDLoadUsers,
|
||||||
|
};
|
|
@ -20,11 +20,11 @@ import changelog from "./plugins/changelog";
|
||||||
import inputs from "./plugins/inputs";
|
import inputs from "./plugins/inputs";
|
||||||
import Auth from "./plugins/auth";
|
import Auth from "./plugins/auth";
|
||||||
|
|
||||||
|
import {BaseClient, Issuer} from "openid-client";
|
||||||
|
|
||||||
import themes, {ThemeForClient} from "./plugins/packages/themes";
|
import themes, {ThemeForClient} from "./plugins/packages/themes";
|
||||||
themes.loadLocalThemes();
|
themes.loadLocalThemes();
|
||||||
|
|
||||||
import auth = require("express-openid-connect");
|
|
||||||
|
|
||||||
import packages from "./plugins/packages/index";
|
import packages from "./plugins/packages/index";
|
||||||
import {NetworkWithIrcFramework} from "./models/network";
|
import {NetworkWithIrcFramework} from "./models/network";
|
||||||
import {ChanType} from "./models/chan";
|
import {ChanType} from "./models/chan";
|
||||||
|
@ -68,6 +68,10 @@ export type ClientConfiguration = Pick<
|
||||||
// A random number that will force clients to reload the page if it differs
|
// A random number that will force clients to reload the page if it differs
|
||||||
const serverHash = Math.floor(Date.now() * Math.random());
|
const serverHash = Math.floor(Date.now() * Math.random());
|
||||||
|
|
||||||
|
var issuer: Issuer;
|
||||||
|
|
||||||
|
var openidClient: BaseClient;
|
||||||
|
|
||||||
let manager: ClientManager | null = null;
|
let manager: ClientManager | null = null;
|
||||||
|
|
||||||
export default async function (
|
export default async function (
|
||||||
|
@ -104,17 +108,14 @@ export default async function (
|
||||||
.use("/storage/", express.static(Config.getStoragePath(), staticOptions));
|
.use("/storage/", express.static(Config.getStoragePath(), staticOptions));
|
||||||
|
|
||||||
if (Config.values.openid.enable) {
|
if (Config.values.openid.enable) {
|
||||||
app.use(
|
issuer = await Issuer.discover(Config.values.openid.issuerURL);
|
||||||
auth({
|
log.info("Discovered issuer %s", issuer.metadata.issuer);
|
||||||
issuerBaseURL: Config.values.openid.issuerURL,
|
openidClient = new issuer.Client({
|
||||||
baseURL: Config.values.openid.baseURL,
|
client_id: Config.values.openid.clientID,
|
||||||
clientID: Config.values.openid.clientID,
|
client_secret: Config.values.openid.secret,
|
||||||
secret: Config.values.openid.secret,
|
redirect_uris: [Config.values.openid.baseURL + "/r"],
|
||||||
// TODO: Check if authRequired will interfere with file upload endpoint
|
response_types: ["code"],
|
||||||
authRequired: true,
|
});
|
||||||
idpLogout: Config.values.openid.logout,
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.values.fileUpload.enable) {
|
if (Config.values.fileUpload.enable) {
|
||||||
|
@ -864,6 +865,7 @@ function initializeClient(
|
||||||
if (Config.values.public) {
|
if (Config.values.public) {
|
||||||
sendInitEvent(null);
|
sendInitEvent(null);
|
||||||
} else if (!token) {
|
} else if (!token) {
|
||||||
|
// TODO: Add OpenID option here to use OpenID token instead of a randomly generated one
|
||||||
client.generateToken((newToken) => {
|
client.generateToken((newToken) => {
|
||||||
token = client.calculateTokenHash(newToken);
|
token = client.calculateTokenHash(newToken);
|
||||||
client.attachedClients[socket.id].token = token;
|
client.attachedClients[socket.id].token = token;
|
||||||
|
@ -1028,6 +1030,14 @@ function performAuthentication(this: Socket, data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME: Get rid of this (debug use only)
|
||||||
|
log.info(JSON.stringify(socket.handshake));
|
||||||
|
|
||||||
|
if (Config.values.openid.enable) {
|
||||||
|
data.user = socket.handshake.auth;
|
||||||
|
data.password = socket.handshake.headers.cookie;
|
||||||
|
}
|
||||||
|
|
||||||
Auth.initialize().then(() => {
|
Auth.initialize().then(() => {
|
||||||
// Perform password checking
|
// Perform password checking
|
||||||
Auth.auth(manager, client, data.user, data.password, authCallback);
|
Auth.auth(manager, client, data.user, data.password, authCallback);
|
||||||
|
|
180
yarn.lock
180
yarn.lock
|
@ -1036,18 +1036,6 @@
|
||||||
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
|
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
|
||||||
integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==
|
integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==
|
||||||
|
|
||||||
"@hapi/hoek@^9.0.0":
|
|
||||||
version "9.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
|
|
||||||
integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
|
|
||||||
|
|
||||||
"@hapi/topo@^5.0.0":
|
|
||||||
version "5.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012"
|
|
||||||
integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
|
|
||||||
dependencies:
|
|
||||||
"@hapi/hoek" "^9.0.0"
|
|
||||||
|
|
||||||
"@humanwhocodes/config-array@^0.9.2":
|
"@humanwhocodes/config-array@^0.9.2":
|
||||||
version "0.9.5"
|
version "0.9.5"
|
||||||
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
|
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
|
||||||
|
@ -1185,28 +1173,6 @@
|
||||||
mkdirp "^1.0.4"
|
mkdirp "^1.0.4"
|
||||||
rimraf "^3.0.2"
|
rimraf "^3.0.2"
|
||||||
|
|
||||||
"@panva/asn1.js@^1.0.0":
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@panva/asn1.js/-/asn1.js-1.0.0.tgz#dd55ae7b8129e02049f009408b97c61ccf9032f6"
|
|
||||||
integrity sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==
|
|
||||||
|
|
||||||
"@sideway/address@^4.1.3":
|
|
||||||
version "4.1.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0"
|
|
||||||
integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==
|
|
||||||
dependencies:
|
|
||||||
"@hapi/hoek" "^9.0.0"
|
|
||||||
|
|
||||||
"@sideway/formula@^3.0.0":
|
|
||||||
version "3.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f"
|
|
||||||
integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==
|
|
||||||
|
|
||||||
"@sideway/pinpoint@^2.0.0":
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df"
|
|
||||||
integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
|
|
||||||
|
|
||||||
"@sindresorhus/is@^4.0.0":
|
"@sindresorhus/is@^4.0.0":
|
||||||
version "4.6.0"
|
version "4.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f"
|
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f"
|
||||||
|
@ -2123,7 +2089,7 @@ agentkeepalive@^4.1.3:
|
||||||
depd "^1.1.2"
|
depd "^1.1.2"
|
||||||
humanize-ms "^1.2.1"
|
humanize-ms "^1.2.1"
|
||||||
|
|
||||||
aggregate-error@^3.0.0, aggregate-error@^3.1.0:
|
aggregate-error@^3.0.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
|
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
|
||||||
integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
|
integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
|
||||||
|
@ -2425,11 +2391,6 @@ base64id@2.0.0, base64id@~2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6"
|
resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6"
|
||||||
integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==
|
integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==
|
||||||
|
|
||||||
base64url@^3.0.1:
|
|
||||||
version "3.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d"
|
|
||||||
integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==
|
|
||||||
|
|
||||||
bcryptjs@2.4.3:
|
bcryptjs@2.4.3:
|
||||||
version "2.4.3"
|
version "2.4.3"
|
||||||
resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb"
|
resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb"
|
||||||
|
@ -2766,11 +2727,6 @@ clone-response@^1.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
mimic-response "^1.0.0"
|
mimic-response "^1.0.0"
|
||||||
|
|
||||||
clone@^2.1.2:
|
|
||||||
version "2.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
|
|
||||||
integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==
|
|
||||||
|
|
||||||
color-convert@^1.9.0:
|
color-convert@^1.9.0:
|
||||||
version "1.9.3"
|
version "1.9.3"
|
||||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
||||||
|
@ -2882,11 +2838,6 @@ cookie@0.4.2, cookie@~0.4.1:
|
||||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
|
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
|
||||||
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
||||||
|
|
||||||
cookie@^0.5.0:
|
|
||||||
version "0.5.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
|
|
||||||
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
|
|
||||||
|
|
||||||
copy-webpack-plugin@10.2.4:
|
copy-webpack-plugin@10.2.4:
|
||||||
version "10.2.4"
|
version "10.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe"
|
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe"
|
||||||
|
@ -3656,24 +3607,6 @@ execall@^2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
clone-regexp "^2.1.0"
|
clone-regexp "^2.1.0"
|
||||||
|
|
||||||
express-openid-connect@2.11.0:
|
|
||||||
version "2.11.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/express-openid-connect/-/express-openid-connect-2.11.0.tgz#e302e1386f0d9f89fb2c0be845a9fc329516576f"
|
|
||||||
integrity sha512-7E/RVKP4YCb8qjpMfaLHSRJJfwHq4eIIW5KF1ZxWo5Zl7TrktA7I/GkiKMMoatYbqIcbicsf+V5GO8CeQme19g==
|
|
||||||
dependencies:
|
|
||||||
base64url "^3.0.1"
|
|
||||||
clone "^2.1.2"
|
|
||||||
cookie "^0.5.0"
|
|
||||||
debug "^4.3.4"
|
|
||||||
futoin-hkdf "^1.5.1"
|
|
||||||
http-errors "^1.8.1"
|
|
||||||
joi "^17.7.0"
|
|
||||||
jose "^2.0.6"
|
|
||||||
on-headers "^1.0.2"
|
|
||||||
openid-client "^4.9.1"
|
|
||||||
p-memoize "^4.0.4"
|
|
||||||
url-join "^4.0.1"
|
|
||||||
|
|
||||||
express@4.17.3:
|
express@4.17.3:
|
||||||
version "4.17.3"
|
version "4.17.3"
|
||||||
resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1"
|
resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1"
|
||||||
|
@ -3967,11 +3900,6 @@ functions-have-names@^1.2.2:
|
||||||
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
|
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
|
||||||
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
|
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
|
||||||
|
|
||||||
futoin-hkdf@^1.5.1:
|
|
||||||
version "1.5.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/futoin-hkdf/-/futoin-hkdf-1.5.1.tgz#141f00427bc9950b38a42aa786b99c318b9b688d"
|
|
||||||
integrity sha512-g5d0Qp7ks55hYmYmfqn4Nz18XH49lcCR+vvIvHT92xXnsJaGZmY1EtWQWilJ6BQp57heCIXM/rRo+AFep8hGgg==
|
|
||||||
|
|
||||||
fuzzy@0.1.3:
|
fuzzy@0.1.3:
|
||||||
version "0.1.3"
|
version "0.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/fuzzy/-/fuzzy-0.1.3.tgz#4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8"
|
resolved "https://registry.yarnpkg.com/fuzzy/-/fuzzy-0.1.3.tgz#4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8"
|
||||||
|
@ -4177,23 +4105,6 @@ got@11.8.5, got@^11.8.2:
|
||||||
p-cancelable "^2.0.0"
|
p-cancelable "^2.0.0"
|
||||||
responselike "^2.0.0"
|
responselike "^2.0.0"
|
||||||
|
|
||||||
got@^11.8.0:
|
|
||||||
version "11.8.6"
|
|
||||||
resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a"
|
|
||||||
integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==
|
|
||||||
dependencies:
|
|
||||||
"@sindresorhus/is" "^4.0.0"
|
|
||||||
"@szmarczak/http-timer" "^4.0.5"
|
|
||||||
"@types/cacheable-request" "^6.0.1"
|
|
||||||
"@types/responselike" "^1.0.0"
|
|
||||||
cacheable-lookup "^5.0.3"
|
|
||||||
cacheable-request "^7.0.2"
|
|
||||||
decompress-response "^6.0.0"
|
|
||||||
http2-wrapper "^1.0.0-beta.5.2"
|
|
||||||
lowercase-keys "^2.0.0"
|
|
||||||
p-cancelable "^2.0.0"
|
|
||||||
responselike "^2.0.0"
|
|
||||||
|
|
||||||
graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
|
graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
|
||||||
version "4.2.10"
|
version "4.2.10"
|
||||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
|
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
|
||||||
|
@ -4320,7 +4231,7 @@ http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
|
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
|
||||||
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
|
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
|
||||||
|
|
||||||
http-errors@1.8.1, http-errors@^1.8.1:
|
http-errors@1.8.1:
|
||||||
version "1.8.1"
|
version "1.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c"
|
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c"
|
||||||
integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
|
integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
|
||||||
|
@ -4822,23 +4733,10 @@ jest-worker@^27.4.5:
|
||||||
merge-stream "^2.0.0"
|
merge-stream "^2.0.0"
|
||||||
supports-color "^8.0.0"
|
supports-color "^8.0.0"
|
||||||
|
|
||||||
joi@^17.7.0:
|
jose@^4.10.0:
|
||||||
version "17.7.0"
|
version "4.11.2"
|
||||||
resolved "https://registry.yarnpkg.com/joi/-/joi-17.7.0.tgz#591a33b1fe1aca2bc27f290bcad9b9c1c570a6b3"
|
resolved "https://registry.yarnpkg.com/jose/-/jose-4.11.2.tgz#d9699307c02e18ff56825843ba90e2fae9f09e23"
|
||||||
integrity sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==
|
integrity sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A==
|
||||||
dependencies:
|
|
||||||
"@hapi/hoek" "^9.0.0"
|
|
||||||
"@hapi/topo" "^5.0.0"
|
|
||||||
"@sideway/address" "^4.1.3"
|
|
||||||
"@sideway/formula" "^3.0.0"
|
|
||||||
"@sideway/pinpoint" "^2.0.0"
|
|
||||||
|
|
||||||
jose@^2.0.5, jose@^2.0.6:
|
|
||||||
version "2.0.6"
|
|
||||||
resolved "https://registry.yarnpkg.com/jose/-/jose-2.0.6.tgz#894ba19169af339d3911be933f913dd02fc57c7c"
|
|
||||||
integrity sha512-FVoPY7SflDodE4lknJmbAHSUjLCzE2H1F6MS0RYKMQ8SR+lNccpMf8R4eqkNYyyUjR5qZReOzZo5C5YiHOCjjg==
|
|
||||||
dependencies:
|
|
||||||
"@panva/asn1.js" "^1.0.0"
|
|
||||||
|
|
||||||
js-tokens@^4.0.0:
|
js-tokens@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
|
@ -5124,7 +5022,7 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
semver "^6.0.0"
|
semver "^6.0.0"
|
||||||
|
|
||||||
make-error@^1.1.1, make-error@^1.3.6:
|
make-error@^1.1.1:
|
||||||
version "1.3.6"
|
version "1.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
||||||
|
@ -5151,13 +5049,6 @@ make-fetch-happen@^9.1.0:
|
||||||
socks-proxy-agent "^6.0.0"
|
socks-proxy-agent "^6.0.0"
|
||||||
ssri "^8.0.0"
|
ssri "^8.0.0"
|
||||||
|
|
||||||
map-age-cleaner@^0.1.3:
|
|
||||||
version "0.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
|
|
||||||
integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
|
|
||||||
dependencies:
|
|
||||||
p-defer "^1.0.0"
|
|
||||||
|
|
||||||
map-obj@^1.0.0:
|
map-obj@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
|
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
|
||||||
|
@ -5280,11 +5171,6 @@ mimic-fn@^2.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||||
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
||||||
|
|
||||||
mimic-fn@^3.0.0:
|
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74"
|
|
||||||
integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==
|
|
||||||
|
|
||||||
mimic-response@^1.0.0:
|
mimic-response@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
||||||
|
@ -5748,11 +5634,6 @@ on-finished@~2.3.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
ee-first "1.1.1"
|
ee-first "1.1.1"
|
||||||
|
|
||||||
on-headers@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
|
|
||||||
integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
|
|
||||||
|
|
||||||
once@^1.3.0, once@^1.3.1, once@^1.4.0:
|
once@^1.3.0, once@^1.3.1, once@^1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||||
|
@ -5772,16 +5653,13 @@ opencollective-postinstall@^2.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
|
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
|
||||||
integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
|
integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
|
||||||
|
|
||||||
openid-client@^4.9.1:
|
openid-client@5.3.1:
|
||||||
version "4.9.1"
|
version "5.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/openid-client/-/openid-client-4.9.1.tgz#4f00a9d1566c0fa08f0dd5986cf0e6b1e5d14186"
|
resolved "https://registry.yarnpkg.com/openid-client/-/openid-client-5.3.1.tgz#69a5fa7d2b5ad479032f576852d40b4d4435488a"
|
||||||
integrity sha512-DYUF07AHjI3QDKqKbn2F7RqozT4hyi4JvmpodLrq0HHoNP7t/AjeG/uqiBK1/N2PZSAQEThVjDLHSmJN4iqu/w==
|
integrity sha512-RLfehQiHch9N6tRWNx68cicf3b1WR0x74bJWHRc25uYIbSRwjxYcTFaRnzbbpls5jroLAaB/bFIodTgA5LJMvw==
|
||||||
dependencies:
|
dependencies:
|
||||||
aggregate-error "^3.1.0"
|
jose "^4.10.0"
|
||||||
got "^11.8.0"
|
|
||||||
jose "^2.0.5"
|
|
||||||
lru-cache "^6.0.0"
|
lru-cache "^6.0.0"
|
||||||
make-error "^1.3.6"
|
|
||||||
object-hash "^2.0.1"
|
object-hash "^2.0.1"
|
||||||
oidc-token-hash "^5.0.1"
|
oidc-token-hash "^5.0.1"
|
||||||
|
|
||||||
|
@ -5802,17 +5680,12 @@ p-cancelable@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
|
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
|
||||||
integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==
|
integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==
|
||||||
|
|
||||||
p-defer@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
|
|
||||||
integrity sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==
|
|
||||||
|
|
||||||
p-finally@^1.0.0:
|
p-finally@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
|
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
|
||||||
integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
|
integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
|
||||||
|
|
||||||
p-limit@^2.2.0, p-limit@^2.2.2:
|
p-limit@^2.2.0:
|
||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
|
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
|
||||||
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
|
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
|
||||||
|
@ -5854,28 +5727,6 @@ p-map@^4.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
aggregate-error "^3.0.0"
|
aggregate-error "^3.0.0"
|
||||||
|
|
||||||
p-memoize@^4.0.4:
|
|
||||||
version "4.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/p-memoize/-/p-memoize-4.0.4.tgz#90a4c4668866737fc5c8364c56b06f6ca44afb15"
|
|
||||||
integrity sha512-ijdh0DP4Mk6J4FXlOM6vPPoCjPytcEseW8p/k5SDTSSfGV3E9bpt9Yzfifvzp6iohIieoLTkXRb32OWV0fB2Lw==
|
|
||||||
dependencies:
|
|
||||||
map-age-cleaner "^0.1.3"
|
|
||||||
mimic-fn "^3.0.0"
|
|
||||||
p-settle "^4.1.1"
|
|
||||||
|
|
||||||
p-reflect@^2.1.0:
|
|
||||||
version "2.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/p-reflect/-/p-reflect-2.1.0.tgz#5d67c7b3c577c4e780b9451fc9129675bd99fe67"
|
|
||||||
integrity sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg==
|
|
||||||
|
|
||||||
p-settle@^4.1.1:
|
|
||||||
version "4.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/p-settle/-/p-settle-4.1.1.tgz#37fbceb2b02c9efc28658fc8d36949922266035f"
|
|
||||||
integrity sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ==
|
|
||||||
dependencies:
|
|
||||||
p-limit "^2.2.2"
|
|
||||||
p-reflect "^2.1.0"
|
|
||||||
|
|
||||||
p-try@^2.0.0, p-try@^2.1.0:
|
p-try@^2.0.0, p-try@^2.1.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
||||||
|
@ -7879,11 +7730,6 @@ uri-js@^4.2.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
punycode "^2.1.0"
|
punycode "^2.1.0"
|
||||||
|
|
||||||
url-join@^4.0.1:
|
|
||||||
version "4.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
|
|
||||||
integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
|
|
||||||
|
|
||||||
urlsafe-base64@^1.0.0, urlsafe-base64@~1.0.0:
|
urlsafe-base64@^1.0.0, urlsafe-base64@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6"
|
resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6"
|
||||||
|
|
Loading…
Reference in a new issue