solid-ui 2.4.25-2c72c08a → 2.4.25-ec43f88d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +254 -222
- package/dist/main.js.map +1 -1
- package/lib/versionInfo.d.ts +2 -0
- package/lib/versionInfo.d.ts.map +1 -1
- package/lib/versionInfo.js +14 -12
- package/lib/versionInfo.js.map +1 -1
- package/package.json +4 -4
package/dist/main.js
CHANGED
|
@@ -13119,26 +13119,28 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
13119
13119
|
}));
|
|
13120
13120
|
exports.versionInfo = void 0;
|
|
13121
13121
|
var versionInfo = {
|
|
13122
|
-
buildTime: '2023-02-
|
|
13123
|
-
commit: '
|
|
13122
|
+
buildTime: '2023-02-27T17:47:25Z',
|
|
13123
|
+
commit: 'ec43f88d59e4893bdafb1c386d41bff2cc0f9795',
|
|
13124
13124
|
npmInfo: {
|
|
13125
13125
|
'solid-ui': '2.4.25',
|
|
13126
13126
|
npm: '8.19.3',
|
|
13127
|
-
node: '
|
|
13128
|
-
v8: '
|
|
13129
|
-
uv: '1.
|
|
13127
|
+
node: '16.19.1',
|
|
13128
|
+
v8: '9.4.146.26-node.24',
|
|
13129
|
+
uv: '1.43.0',
|
|
13130
13130
|
zlib: '1.2.11',
|
|
13131
13131
|
brotli: '1.0.9',
|
|
13132
13132
|
ares: '1.18.1',
|
|
13133
|
-
modules: '
|
|
13134
|
-
nghttp2: '1.
|
|
13133
|
+
modules: '93',
|
|
13134
|
+
nghttp2: '1.47.0',
|
|
13135
13135
|
napi: '8',
|
|
13136
|
-
llhttp: '
|
|
13137
|
-
openssl: '1.1.
|
|
13138
|
-
cldr: '
|
|
13139
|
-
icu: '
|
|
13136
|
+
llhttp: '6.0.10',
|
|
13137
|
+
openssl: '1.1.1t+quic',
|
|
13138
|
+
cldr: '41.0',
|
|
13139
|
+
icu: '71.1',
|
|
13140
13140
|
tz: '2022f',
|
|
13141
|
-
unicode: '14.0'
|
|
13141
|
+
unicode: '14.0',
|
|
13142
|
+
ngtcp2: '0.8.1',
|
|
13143
|
+
nghttp3: '0.7.0'
|
|
13142
13144
|
}
|
|
13143
13145
|
};
|
|
13144
13146
|
exports.versionInfo = versionInfo;
|
|
@@ -25644,7 +25646,10 @@ class ClientAuthentication {
|
|
|
25644
25646
|
this.login = async (options, eventEmitter) => {
|
|
25645
25647
|
var _a, _b;
|
|
25646
25648
|
await this.sessionInfoManager.clear(options.sessionId);
|
|
25647
|
-
const redirectUrl = (
|
|
25649
|
+
const redirectUrl = (_a = options.redirectUrl) !== null && _a !== void 0 ? _a : (0, oidc_client_ext_1.removeOidcQueryParam)(window.location.href);
|
|
25650
|
+
if (!(0, solid_client_authn_core_1.isValidRedirectUrl)(redirectUrl)) {
|
|
25651
|
+
throw new Error(`${redirectUrl} is not a valid redirect URL, it is either a malformed IRI or it includes a hash fragment.`);
|
|
25652
|
+
}
|
|
25648
25653
|
await this.loginHandler.handle({
|
|
25649
25654
|
...options,
|
|
25650
25655
|
redirectUrl,
|
|
@@ -26115,7 +26120,6 @@ exports["default"] = ClientRegistrar;
|
|
|
26115
26120
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
26116
26121
|
exports.WELL_KNOWN_OPENID_CONFIG = void 0;
|
|
26117
26122
|
const solid_client_authn_core_1 = __webpack_require__(/*! @inrupt/solid-client-authn-core */ "./node_modules/@inrupt/solid-client-authn-core/dist/index.js");
|
|
26118
|
-
const urlPath_1 = __webpack_require__(/*! ../../util/urlPath */ "./node_modules/@inrupt/solid-client-authn-browser/dist/util/urlPath.js");
|
|
26119
26123
|
exports.WELL_KNOWN_OPENID_CONFIG = ".well-known/openid-configuration";
|
|
26120
26124
|
const issuerConfigKeyMap = {
|
|
26121
26125
|
issuer: {
|
|
@@ -26221,7 +26225,7 @@ class IssuerConfigFetcher {
|
|
|
26221
26225
|
}
|
|
26222
26226
|
async fetchConfig(issuer) {
|
|
26223
26227
|
let issuerConfig;
|
|
26224
|
-
const openIdConfigUrl =
|
|
26228
|
+
const openIdConfigUrl = new URL(exports.WELL_KNOWN_OPENID_CONFIG, issuer).href;
|
|
26225
26229
|
const issuerConfigRequestBody = await window.fetch(openIdConfigUrl);
|
|
26226
26230
|
try {
|
|
26227
26231
|
issuerConfig = processConfig(await issuerConfigRequestBody.json());
|
|
@@ -26772,27 +26776,6 @@ exports["default"] = StorageUtilityBrowser;
|
|
|
26772
26776
|
|
|
26773
26777
|
/***/ }),
|
|
26774
26778
|
|
|
26775
|
-
/***/ "./node_modules/@inrupt/solid-client-authn-browser/dist/util/urlPath.js":
|
|
26776
|
-
/*!******************************************************************************!*\
|
|
26777
|
-
!*** ./node_modules/@inrupt/solid-client-authn-browser/dist/util/urlPath.js ***!
|
|
26778
|
-
\******************************************************************************/
|
|
26779
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
26780
|
-
|
|
26781
|
-
"use strict";
|
|
26782
|
-
|
|
26783
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
26784
|
-
exports.appendToUrlPathname = void 0;
|
|
26785
|
-
function appendToUrlPathname(url, append) {
|
|
26786
|
-
const parsedUrl = new URL(url);
|
|
26787
|
-
const path = parsedUrl.pathname;
|
|
26788
|
-
parsedUrl.pathname = `${path}${path.endsWith("/") ? "" : "/"}${append.startsWith("/") ? append.substring(1) : append}`;
|
|
26789
|
-
return parsedUrl.toString();
|
|
26790
|
-
}
|
|
26791
|
-
exports.appendToUrlPathname = appendToUrlPathname;
|
|
26792
|
-
//# sourceMappingURL=urlPath.js.map
|
|
26793
|
-
|
|
26794
|
-
/***/ }),
|
|
26795
|
-
|
|
26796
26779
|
/***/ "./node_modules/@inrupt/solid-client-authn-browser/node_modules/uuid/dist/commonjs-browser/index.js":
|
|
26797
26780
|
/*!**********************************************************************************************************!*\
|
|
26798
26781
|
!*** ./node_modules/@inrupt/solid-client-authn-browser/node_modules/uuid/dist/commonjs-browser/index.js ***!
|
|
@@ -27907,6 +27890,16 @@ async function getWebidFromTokenPayload(idToken, jwksIri, issuerIri, clientId) {
|
|
|
27907
27890
|
}
|
|
27908
27891
|
}
|
|
27909
27892
|
|
|
27893
|
+
function isValidRedirectUrl(redirectUrl) {
|
|
27894
|
+
try {
|
|
27895
|
+
const urlObject = new URL(redirectUrl);
|
|
27896
|
+
return urlObject.hash === "";
|
|
27897
|
+
}
|
|
27898
|
+
catch (e) {
|
|
27899
|
+
return false;
|
|
27900
|
+
}
|
|
27901
|
+
}
|
|
27902
|
+
|
|
27910
27903
|
function isSupportedTokenType(token) {
|
|
27911
27904
|
return typeof token === "string" && ["DPoP", "Bearer"].includes(token);
|
|
27912
27905
|
}
|
|
@@ -28322,6 +28315,7 @@ exports.getSessionIdFromOauthState = getSessionIdFromOauthState;
|
|
|
28322
28315
|
exports.getWebidFromTokenPayload = getWebidFromTokenPayload;
|
|
28323
28316
|
exports.handleRegistration = handleRegistration;
|
|
28324
28317
|
exports.isSupportedTokenType = isSupportedTokenType;
|
|
28318
|
+
exports.isValidRedirectUrl = isValidRedirectUrl;
|
|
28325
28319
|
exports.loadOidcContextFromStorage = loadOidcContextFromStorage;
|
|
28326
28320
|
exports.mockStorage = mockStorage;
|
|
28327
28321
|
exports.mockStorageUtility = mockStorageUtility;
|
|
@@ -52438,10 +52432,11 @@ var Collection = /*#__PURE__*/function (_Node) {
|
|
|
52438
52432
|
}, {
|
|
52439
52433
|
key: "substitute",
|
|
52440
52434
|
value: function substitute(bindings) {
|
|
52441
|
-
var
|
|
52442
|
-
|
|
52435
|
+
var collection = new Collection();
|
|
52436
|
+
this.elements.forEach(function (ea) {
|
|
52437
|
+
collection.append(ea.substitute(bindings));
|
|
52443
52438
|
});
|
|
52444
|
-
return
|
|
52439
|
+
return collection;
|
|
52445
52440
|
}
|
|
52446
52441
|
}, {
|
|
52447
52442
|
key: "toNT",
|
|
@@ -54278,16 +54273,17 @@ var Fetcher = /*#__PURE__*/function () {
|
|
|
54278
54273
|
var fetcher = this;
|
|
54279
54274
|
// @ts-ignore
|
|
54280
54275
|
if (fetcher.fetchQueue && fetcher.fetchQueue[uri]) {
|
|
54281
|
-
console.log('Internal error - fetchQueue exists ' + uri)
|
|
54276
|
+
// console.log('Internal error - fetchQueue exists ' + uri)
|
|
54282
54277
|
var promise = fetcher.fetchQueue[uri];
|
|
54283
54278
|
if (promise['PromiseStatus'] === 'resolved') {
|
|
54284
54279
|
delete fetcher.fetchQueue[uri];
|
|
54285
54280
|
} else {
|
|
54286
54281
|
// pending
|
|
54287
54282
|
delete fetcher.fetchQueue[uri];
|
|
54288
|
-
console.log('*** Fetcher: pending fetchQueue deleted ' + uri)
|
|
54283
|
+
// console.log('*** Fetcher: pending fetchQueue deleted ' + uri)
|
|
54289
54284
|
}
|
|
54290
54285
|
}
|
|
54286
|
+
|
|
54291
54287
|
if (fetcher.requested[uri] && fetcher.requested[uri] !== 'done' && fetcher.requested[uri] !== 'failed' && fetcher.requested[uri] !== 404) {
|
|
54292
54288
|
var msg = "Rdflib: fetcher: Destructive operation on <".concat(fetcher.requested[uri], "> file being fetched! ") + uri;
|
|
54293
54289
|
console.error(msg);
|
|
@@ -56152,6 +56148,9 @@ function jsonldParser(str, kb, base, callback) {
|
|
|
56152
56148
|
var baseString = base && Object.prototype.hasOwnProperty.call(base, 'termType') ? base.value : base;
|
|
56153
56149
|
return jsonld__WEBPACK_IMPORTED_MODULE_0___default().flatten(JSON.parse(str), null, {
|
|
56154
56150
|
base: baseString
|
|
56151
|
+
}).then(function (flattened) {
|
|
56152
|
+
console.log(flattened);
|
|
56153
|
+
return flattened;
|
|
56155
56154
|
}).then(function (flattened) {
|
|
56156
56155
|
return flattened.reduce(function (store, flatResource) {
|
|
56157
56156
|
kb = processResource(kb, base, flatResource);
|
|
@@ -61239,7 +61238,7 @@ contentType, callback, options) {
|
|
|
61239
61238
|
documentString = sz.statementsToNTriples(newSts);
|
|
61240
61239
|
return executeCallback(null, documentString);
|
|
61241
61240
|
case _types__WEBPACK_IMPORTED_MODULE_0__.JSONLDContentType:
|
|
61242
|
-
sz.setFlags('si'); //
|
|
61241
|
+
sz.setFlags('si dr'); // turtle + dr (means no default, no relative prefix)
|
|
61243
61242
|
documentString = sz.statementsToJsonld(newSts); // convert via turtle
|
|
61244
61243
|
return executeCallback(null, documentString);
|
|
61245
61244
|
case _types__WEBPACK_IMPORTED_MODULE_0__.NQuadsContentType:
|
|
@@ -61311,7 +61310,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
61311
61310
|
|
|
61312
61311
|
|
|
61313
61312
|
|
|
61314
|
-
// import * as jsonld from 'jsonld'
|
|
61315
61313
|
|
|
61316
61314
|
function createSerializer(store) {
|
|
61317
61315
|
return new Serializer(store);
|
|
@@ -61818,7 +61816,7 @@ var Serializer = /*#__PURE__*/function () {
|
|
|
61818
61816
|
var termToN3 = termToN3Method.bind(this);
|
|
61819
61817
|
function prefixDirectivesMethod() {
|
|
61820
61818
|
var str = '';
|
|
61821
|
-
if (this.defaultNamespace) {
|
|
61819
|
+
if (this.flags.indexOf('d') < 0 && this.defaultNamespace) {
|
|
61822
61820
|
str += '@prefix : ' + this.explicitURI(this.defaultNamespace) + '.\n';
|
|
61823
61821
|
}
|
|
61824
61822
|
for (var ns in this.prefixes) {
|
|
@@ -62303,20 +62301,19 @@ var Serializer = /*#__PURE__*/function () {
|
|
|
62303
62301
|
key: "statementsToJsonld",
|
|
62304
62302
|
value: function statementsToJsonld(sts) {
|
|
62305
62303
|
// ttl2jsonld creates context keys for all ttl prefix
|
|
62306
|
-
// context keys must be
|
|
62307
|
-
function findId(itemObj) {
|
|
62304
|
+
// context keys must be absolute IRI ttl2jsonld@0.0.8
|
|
62305
|
+
/* function findId (itemObj) {
|
|
62308
62306
|
if (itemObj['@id']) {
|
|
62309
|
-
|
|
62310
|
-
if (keys[item[0]]) itemObj['@id'] = jsonldObj['@context'][item[0]] + item[1]
|
|
62311
|
-
}
|
|
62312
|
-
|
|
62313
|
-
for (
|
|
62314
|
-
if (typeof itemValues[i] !== 'string') {
|
|
62315
|
-
|
|
62316
|
-
findId(itemValues[i]);
|
|
62307
|
+
const item = itemObj['@id'].split(':')
|
|
62308
|
+
if (keys[item[0]]) itemObj['@id'] = jsonldObj['@context'][item[0]] + item[1]
|
|
62309
|
+
}
|
|
62310
|
+
const itemValues = Object.values(itemObj)
|
|
62311
|
+
for (const i in itemValues) {
|
|
62312
|
+
if (typeof itemValues[i] !== 'string') { // @list contains array
|
|
62313
|
+
findId(itemValues[i])
|
|
62317
62314
|
}
|
|
62318
62315
|
}
|
|
62319
|
-
}
|
|
62316
|
+
} */
|
|
62320
62317
|
var turtleDoc = this.statementsToN3(sts);
|
|
62321
62318
|
var jsonldObj = _frogcat_ttl2jsonld__WEBPACK_IMPORTED_MODULE_4__.parse(turtleDoc);
|
|
62322
62319
|
return JSON.stringify(jsonldObj, null, 2);
|
|
@@ -63255,9 +63252,9 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) {
|
|
|
63255
63252
|
// console.log('ds before substitute: ' + ds)
|
|
63256
63253
|
if (binding) ds = ds.substitute(binding);
|
|
63257
63254
|
// console.log('applyPatch: delete: ' + ds)
|
|
63258
|
-
|
|
63255
|
+
|
|
63259
63256
|
var bad = [];
|
|
63260
|
-
var ds2 = ds.map(function (st) {
|
|
63257
|
+
var ds2 = ds.elements.map(function (st) {
|
|
63261
63258
|
// Find the actual statements in the store
|
|
63262
63259
|
var sts = targetKB.statementsMatching(st.subject, st.predicate, st.object, target);
|
|
63263
63260
|
if (sts.length === 0) {
|
|
@@ -63282,8 +63279,7 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) {
|
|
|
63282
63279
|
// log.info("doPatch insert "+patch['insert'])
|
|
63283
63280
|
ds = patch['insert'];
|
|
63284
63281
|
if (binding) ds = ds.substitute(binding);
|
|
63285
|
-
ds
|
|
63286
|
-
ds.map(function (st) {
|
|
63282
|
+
ds.elements.map(function (st) {
|
|
63287
63283
|
st.graph = target;
|
|
63288
63284
|
targetKB.add(st.subject, st.predicate, st.object, st.graph);
|
|
63289
63285
|
});
|
|
@@ -63300,6 +63296,7 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) {
|
|
|
63300
63296
|
//@ts-ignore TODO: add sync property to Query when converting Query to typescript
|
|
63301
63297
|
query.sync = true;
|
|
63302
63298
|
var bindingsFound = [];
|
|
63299
|
+
query.pat.initBindings = [];
|
|
63303
63300
|
targetKB.query(query, function onBinding(binding) {
|
|
63304
63301
|
bindingsFound.push(binding);
|
|
63305
63302
|
// console.log(' got a binding: ' + bindingDebug(binding))
|
|
@@ -66818,15 +66815,13 @@ function createAclLogic(store) {
|
|
|
66818
66815
|
var ns = ns_1.ns;
|
|
66819
66816
|
function findAclDocUrl(url) {
|
|
66820
66817
|
return __awaiter(this, void 0, void 0, function () {
|
|
66821
|
-
var
|
|
66818
|
+
var docNode;
|
|
66822
66819
|
return __generator(this, function (_a) {
|
|
66823
66820
|
switch (_a.label) {
|
|
66824
|
-
case 0:
|
|
66825
|
-
doc = store.sym(url);
|
|
66826
|
-
return [4 /*yield*/, store.fetcher.load(doc)];
|
|
66821
|
+
case 0: return [4 /*yield*/, store.fetcher.load(url)];
|
|
66827
66822
|
case 1:
|
|
66828
66823
|
_a.sent();
|
|
66829
|
-
docNode = store.any(
|
|
66824
|
+
docNode = store.any(url, exports.ACL_LINK);
|
|
66830
66825
|
if (!docNode) {
|
|
66831
66826
|
throw new Error("No ACL link discovered for ".concat(url));
|
|
66832
66827
|
}
|
|
@@ -67634,7 +67629,7 @@ function createInboxLogic(store, profileLogic, utilityLogic, containerLogic, acl
|
|
|
67634
67629
|
case 2: return [4 /*yield*/, profileLogic.getMainInbox(user)];
|
|
67635
67630
|
case 3:
|
|
67636
67631
|
inbox = _a.sent();
|
|
67637
|
-
return [4 /*yield*/, containerLogic.getContainerMembers(inbox
|
|
67632
|
+
return [4 /*yield*/, containerLogic.getContainerMembers(inbox)];
|
|
67638
67633
|
case 4:
|
|
67639
67634
|
urls = _a.sent();
|
|
67640
67635
|
return [2 /*return*/, urls.filter(function (url) { return !containerLogic.isContainer(url); })];
|
|
@@ -68790,19 +68785,21 @@ var rdflib_1 = __webpack_require__(/*! rdflib */ "./node_modules/rdflib/esm/inde
|
|
|
68790
68785
|
function createContainerLogic(store) {
|
|
68791
68786
|
function getContainerElements(containerNode) {
|
|
68792
68787
|
return store
|
|
68793
|
-
.statementsMatching(containerNode, (0, rdflib_1.sym)("http://www.w3.org/ns/ldp#contains"), undefined
|
|
68788
|
+
.statementsMatching(containerNode, (0, rdflib_1.sym)("http://www.w3.org/ns/ldp#contains"), undefined)
|
|
68794
68789
|
.map(function (st) { return st.object; });
|
|
68795
68790
|
}
|
|
68796
68791
|
function isContainer(url) {
|
|
68797
|
-
|
|
68792
|
+
var nodeToString = url.value;
|
|
68793
|
+
return nodeToString.charAt(nodeToString.length - 1) === "/";
|
|
68798
68794
|
}
|
|
68799
68795
|
function createContainer(url) {
|
|
68800
68796
|
return __awaiter(this, void 0, void 0, function () {
|
|
68801
|
-
var result;
|
|
68797
|
+
var stringToNode, result;
|
|
68802
68798
|
return __generator(this, function (_a) {
|
|
68803
68799
|
switch (_a.label) {
|
|
68804
68800
|
case 0:
|
|
68805
|
-
|
|
68801
|
+
stringToNode = (0, rdflib_1.sym)(url);
|
|
68802
|
+
if (!isContainer(stringToNode)) {
|
|
68806
68803
|
throw new Error("Not a container URL ".concat(url));
|
|
68807
68804
|
}
|
|
68808
68805
|
return [4 /*yield*/, store.fetcher._fetch(url, {
|
|
@@ -68826,16 +68823,12 @@ function createContainerLogic(store) {
|
|
|
68826
68823
|
}
|
|
68827
68824
|
function getContainerMembers(containerUrl) {
|
|
68828
68825
|
return __awaiter(this, void 0, void 0, function () {
|
|
68829
|
-
var containerNode, nodes;
|
|
68830
68826
|
return __generator(this, function (_a) {
|
|
68831
68827
|
switch (_a.label) {
|
|
68832
|
-
case 0:
|
|
68833
|
-
containerNode = store.sym(containerUrl);
|
|
68834
|
-
return [4 /*yield*/, store.fetcher.load(containerNode)];
|
|
68828
|
+
case 0: return [4 /*yield*/, store.fetcher.load(containerUrl)];
|
|
68835
68829
|
case 1:
|
|
68836
68830
|
_a.sent();
|
|
68837
|
-
|
|
68838
|
-
return [2 /*return*/, nodes.map(function (node) { return node.value; })];
|
|
68831
|
+
return [2 /*return*/, getContainerElements(containerUrl)];
|
|
68839
68832
|
}
|
|
68840
68833
|
});
|
|
68841
68834
|
});
|
|
@@ -69021,28 +69014,30 @@ var CustomError_1 = __webpack_require__(/*! ../logic/CustomError */ "./node_modu
|
|
|
69021
69014
|
var debug = __importStar(__webpack_require__(/*! ../util/debug */ "./node_modules/solid-logic/lib/util/debug.js"));
|
|
69022
69015
|
var utils_1 = __webpack_require__(/*! ./utils */ "./node_modules/solid-logic/lib/util/utils.js");
|
|
69023
69016
|
function createUtilityLogic(store, aclLogic, containerLogic) {
|
|
69024
|
-
function recursiveDelete(
|
|
69017
|
+
function recursiveDelete(containerNode) {
|
|
69025
69018
|
return __awaiter(this, void 0, void 0, function () {
|
|
69026
|
-
var aclDocUrl, containerMembers, e_1;
|
|
69019
|
+
var aclDocUrl, containerMembers, nodeToStringHere, e_1;
|
|
69027
69020
|
return __generator(this, function (_a) {
|
|
69028
69021
|
switch (_a.label) {
|
|
69029
69022
|
case 0:
|
|
69030
69023
|
_a.trys.push([0, 6, , 7]);
|
|
69031
|
-
if (!containerLogic.isContainer(
|
|
69032
|
-
return [4 /*yield*/, aclLogic.findAclDocUrl(
|
|
69024
|
+
if (!containerLogic.isContainer(containerNode)) return [3 /*break*/, 5];
|
|
69025
|
+
return [4 /*yield*/, aclLogic.findAclDocUrl(containerNode)];
|
|
69033
69026
|
case 1:
|
|
69034
69027
|
aclDocUrl = _a.sent();
|
|
69035
69028
|
return [4 /*yield*/, store.fetcher._fetch(aclDocUrl, { method: "DELETE" })];
|
|
69036
69029
|
case 2:
|
|
69037
69030
|
_a.sent();
|
|
69038
|
-
return [4 /*yield*/, containerLogic.getContainerMembers(
|
|
69031
|
+
return [4 /*yield*/, containerLogic.getContainerMembers(containerNode)];
|
|
69039
69032
|
case 3:
|
|
69040
69033
|
containerMembers = _a.sent();
|
|
69041
69034
|
return [4 /*yield*/, Promise.all(containerMembers.map(function (url) { return recursiveDelete(url); }))];
|
|
69042
69035
|
case 4:
|
|
69043
69036
|
_a.sent();
|
|
69044
69037
|
_a.label = 5;
|
|
69045
|
-
case 5:
|
|
69038
|
+
case 5:
|
|
69039
|
+
nodeToStringHere = containerNode.value;
|
|
69040
|
+
return [2 /*return*/, store.fetcher._fetch(nodeToStringHere, { method: "DELETE" })];
|
|
69046
69041
|
case 6:
|
|
69047
69042
|
e_1 = _a.sent();
|
|
69048
69043
|
return [3 /*break*/, 7];
|
|
@@ -69187,7 +69182,7 @@ function createUtilityLogic(store, aclLogic, containerLogic) {
|
|
|
69187
69182
|
''
|
|
69188
69183
|
].join('\n');
|
|
69189
69184
|
}
|
|
69190
|
-
return [4 /*yield*/, aclLogic.findAclDocUrl(options.target)];
|
|
69185
|
+
return [4 /*yield*/, aclLogic.findAclDocUrl((0, rdflib_1.sym)(options.target))];
|
|
69191
69186
|
case 1:
|
|
69192
69187
|
aclDocUrl = _a.sent();
|
|
69193
69188
|
return [2 /*return*/, store.fetcher._fetch(aclDocUrl, {
|
|
@@ -73559,6 +73554,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
73559
73554
|
/* harmony export */ "getWebidFromTokenPayload": () => (/* binding */ getWebidFromTokenPayload),
|
|
73560
73555
|
/* harmony export */ "handleRegistration": () => (/* binding */ handleRegistration),
|
|
73561
73556
|
/* harmony export */ "isSupportedTokenType": () => (/* binding */ isSupportedTokenType),
|
|
73557
|
+
/* harmony export */ "isValidRedirectUrl": () => (/* binding */ isValidRedirectUrl),
|
|
73562
73558
|
/* harmony export */ "loadOidcContextFromStorage": () => (/* binding */ loadOidcContextFromStorage),
|
|
73563
73559
|
/* harmony export */ "mockStorage": () => (/* binding */ mockStorage),
|
|
73564
73560
|
/* harmony export */ "mockStorageUtility": () => (/* binding */ mockStorageUtility),
|
|
@@ -73665,6 +73661,16 @@ async function getWebidFromTokenPayload(idToken, jwksIri, issuerIri, clientId) {
|
|
|
73665
73661
|
}
|
|
73666
73662
|
}
|
|
73667
73663
|
|
|
73664
|
+
function isValidRedirectUrl(redirectUrl) {
|
|
73665
|
+
try {
|
|
73666
|
+
const urlObject = new URL(redirectUrl);
|
|
73667
|
+
return urlObject.hash === "";
|
|
73668
|
+
}
|
|
73669
|
+
catch (e) {
|
|
73670
|
+
return false;
|
|
73671
|
+
}
|
|
73672
|
+
}
|
|
73673
|
+
|
|
73668
73674
|
function isSupportedTokenType(token) {
|
|
73669
73675
|
return typeof token === "string" && ["DPoP", "Bearer"].includes(token);
|
|
73670
73676
|
}
|
|
@@ -74889,7 +74895,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
74889
74895
|
async function EmbeddedJWK(protectedHeader, token) {
|
|
74890
74896
|
const joseHeader = {
|
|
74891
74897
|
...protectedHeader,
|
|
74892
|
-
...token.header,
|
|
74898
|
+
...token === null || token === void 0 ? void 0 : token.header,
|
|
74893
74899
|
};
|
|
74894
74900
|
if (!(0,_lib_is_object_js__WEBPACK_IMPORTED_MODULE_1__["default"])(joseHeader.jwk)) {
|
|
74895
74901
|
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a JSON object');
|
|
@@ -75034,7 +75040,7 @@ class LocalJWKSet {
|
|
|
75034
75040
|
this._jwks = clone(jwks);
|
|
75035
75041
|
}
|
|
75036
75042
|
async getKey(protectedHeader, token) {
|
|
75037
|
-
const { alg, kid } = { ...protectedHeader, ...token.header };
|
|
75043
|
+
const { alg, kid } = { ...protectedHeader, ...token === null || token === void 0 ? void 0 : token.header };
|
|
75038
75044
|
const kty = getKtyFromAlg(alg);
|
|
75039
75045
|
const candidates = this._jwks.keys.filter((jwk) => {
|
|
75040
75046
|
let candidate = kty === jwk.kty;
|
|
@@ -75076,21 +75082,39 @@ class LocalJWKSet {
|
|
|
75076
75082
|
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSNoMatchingKey();
|
|
75077
75083
|
}
|
|
75078
75084
|
else if (length !== 1) {
|
|
75079
|
-
|
|
75085
|
+
const error = new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSMultipleMatchingKeys();
|
|
75086
|
+
const { _cached } = this;
|
|
75087
|
+
error[Symbol.asyncIterator] = async function* () {
|
|
75088
|
+
for (const jwk of candidates) {
|
|
75089
|
+
try {
|
|
75090
|
+
yield await importWithAlgCache(_cached, jwk, alg);
|
|
75091
|
+
}
|
|
75092
|
+
catch (_a) {
|
|
75093
|
+
continue;
|
|
75094
|
+
}
|
|
75095
|
+
}
|
|
75096
|
+
};
|
|
75097
|
+
throw error;
|
|
75080
75098
|
}
|
|
75081
|
-
|
|
75082
|
-
|
|
75083
|
-
|
|
75084
|
-
|
|
75085
|
-
|
|
75086
|
-
|
|
75087
|
-
|
|
75099
|
+
return importWithAlgCache(this._cached, jwk, alg);
|
|
75100
|
+
}
|
|
75101
|
+
}
|
|
75102
|
+
async function importWithAlgCache(cache, jwk, alg) {
|
|
75103
|
+
const cached = cache.get(jwk) || cache.set(jwk, {}).get(jwk);
|
|
75104
|
+
if (cached[alg] === undefined) {
|
|
75105
|
+
const key = await (0,_key_import_js__WEBPACK_IMPORTED_MODULE_0__.importJWK)({ ...jwk, ext: true }, alg);
|
|
75106
|
+
if (key instanceof Uint8Array || key.type !== 'public') {
|
|
75107
|
+
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSInvalid('JSON Web Key Set members must be public keys');
|
|
75088
75108
|
}
|
|
75089
|
-
|
|
75109
|
+
cached[alg] = key;
|
|
75090
75110
|
}
|
|
75111
|
+
return cached[alg];
|
|
75091
75112
|
}
|
|
75092
75113
|
function createLocalJWKSet(jwks) {
|
|
75093
|
-
|
|
75114
|
+
const set = new LocalJWKSet(jwks);
|
|
75115
|
+
return async function (protectedHeader, token) {
|
|
75116
|
+
return set.getKey(protectedHeader, token);
|
|
75117
|
+
};
|
|
75094
75118
|
}
|
|
75095
75119
|
|
|
75096
75120
|
|
|
@@ -75190,7 +75214,10 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
|
|
|
75190
75214
|
}
|
|
75191
75215
|
}
|
|
75192
75216
|
function createRemoteJWKSet(url, options) {
|
|
75193
|
-
|
|
75217
|
+
const set = new RemoteJWKSet(url, options);
|
|
75218
|
+
return async function (protectedHeader, token) {
|
|
75219
|
+
return set.getKey(protectedHeader, token);
|
|
75220
|
+
};
|
|
75194
75221
|
}
|
|
75195
75222
|
|
|
75196
75223
|
|
|
@@ -76039,83 +76066,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
76039
76066
|
/* harmony import */ var _runtime_asn1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../runtime/asn1.js */ "./node_modules/jose/dist/browser/runtime/asn1.js");
|
|
76040
76067
|
/* harmony import */ var _runtime_jwk_to_key_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../runtime/jwk_to_key.js */ "./node_modules/jose/dist/browser/runtime/jwk_to_key.js");
|
|
76041
76068
|
/* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
|
|
76042
|
-
/* harmony import */ var
|
|
76043
|
-
/* harmony import */ var _lib_is_object_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../lib/is_object.js */ "./node_modules/jose/dist/browser/lib/is_object.js");
|
|
76044
|
-
|
|
76045
|
-
|
|
76069
|
+
/* harmony import */ var _lib_is_object_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lib/is_object.js */ "./node_modules/jose/dist/browser/lib/is_object.js");
|
|
76046
76070
|
|
|
76047
76071
|
|
|
76048
76072
|
|
|
76049
76073
|
|
|
76050
76074
|
|
|
76051
|
-
function getElement(seq) {
|
|
76052
|
-
let result = [];
|
|
76053
|
-
let next = 0;
|
|
76054
|
-
while (next < seq.length) {
|
|
76055
|
-
let nextPart = parseElement(seq.subarray(next));
|
|
76056
|
-
result.push(nextPart);
|
|
76057
|
-
next += nextPart.byteLength;
|
|
76058
|
-
}
|
|
76059
|
-
return result;
|
|
76060
|
-
}
|
|
76061
|
-
function parseElement(bytes) {
|
|
76062
|
-
let position = 0;
|
|
76063
|
-
let tag = bytes[0] & 0x1f;
|
|
76064
|
-
position++;
|
|
76065
|
-
if (tag === 0x1f) {
|
|
76066
|
-
tag = 0;
|
|
76067
|
-
while (bytes[position] >= 0x80) {
|
|
76068
|
-
tag = tag * 128 + bytes[position] - 0x80;
|
|
76069
|
-
position++;
|
|
76070
|
-
}
|
|
76071
|
-
tag = tag * 128 + bytes[position] - 0x80;
|
|
76072
|
-
position++;
|
|
76073
|
-
}
|
|
76074
|
-
let length = 0;
|
|
76075
|
-
if (bytes[position] < 0x80) {
|
|
76076
|
-
length = bytes[position];
|
|
76077
|
-
position++;
|
|
76078
|
-
}
|
|
76079
|
-
else if (length === 0x80) {
|
|
76080
|
-
length = 0;
|
|
76081
|
-
while (bytes[position + length] !== 0 || bytes[position + length + 1] !== 0) {
|
|
76082
|
-
if (length > bytes.byteLength) {
|
|
76083
|
-
throw new TypeError('invalid indefinite form length');
|
|
76084
|
-
}
|
|
76085
|
-
length++;
|
|
76086
|
-
}
|
|
76087
|
-
const byteLength = position + length + 2;
|
|
76088
|
-
return {
|
|
76089
|
-
byteLength,
|
|
76090
|
-
contents: bytes.subarray(position, position + length),
|
|
76091
|
-
raw: bytes.subarray(0, byteLength),
|
|
76092
|
-
};
|
|
76093
|
-
}
|
|
76094
|
-
else {
|
|
76095
|
-
let numberOfDigits = bytes[position] & 0x7f;
|
|
76096
|
-
position++;
|
|
76097
|
-
length = 0;
|
|
76098
|
-
for (let i = 0; i < numberOfDigits; i++) {
|
|
76099
|
-
length = length * 256 + bytes[position];
|
|
76100
|
-
position++;
|
|
76101
|
-
}
|
|
76102
|
-
}
|
|
76103
|
-
const byteLength = position + length;
|
|
76104
|
-
return {
|
|
76105
|
-
byteLength,
|
|
76106
|
-
contents: bytes.subarray(position, byteLength),
|
|
76107
|
-
raw: bytes.subarray(0, byteLength),
|
|
76108
|
-
};
|
|
76109
|
-
}
|
|
76110
|
-
function spkiFromX509(buf) {
|
|
76111
|
-
const tbsCertificate = getElement(getElement(parseElement(buf).contents)[0].contents);
|
|
76112
|
-
return (0,_runtime_base64url_js__WEBPACK_IMPORTED_MODULE_0__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
|
|
76113
|
-
}
|
|
76114
|
-
function getSPKI(x509) {
|
|
76115
|
-
const pem = x509.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, '');
|
|
76116
|
-
const raw = (0,_runtime_base64url_js__WEBPACK_IMPORTED_MODULE_0__.decodeBase64)(pem);
|
|
76117
|
-
return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__["default"])(spkiFromX509(raw), 'PUBLIC KEY');
|
|
76118
|
-
}
|
|
76119
76075
|
async function importSPKI(spki, alg, options) {
|
|
76120
76076
|
if (typeof spki !== 'string' || spki.indexOf('-----BEGIN PUBLIC KEY-----') !== 0) {
|
|
76121
76077
|
throw new TypeError('"spki" must be SPKI formatted string');
|
|
@@ -76126,14 +76082,7 @@ async function importX509(x509, alg, options) {
|
|
|
76126
76082
|
if (typeof x509 !== 'string' || x509.indexOf('-----BEGIN CERTIFICATE-----') !== 0) {
|
|
76127
76083
|
throw new TypeError('"x509" must be X.509 formatted string');
|
|
76128
76084
|
}
|
|
76129
|
-
|
|
76130
|
-
try {
|
|
76131
|
-
spki = getSPKI(x509);
|
|
76132
|
-
}
|
|
76133
|
-
catch (cause) {
|
|
76134
|
-
throw new TypeError('failed to parse the X.509 certificate', { cause });
|
|
76135
|
-
}
|
|
76136
|
-
return (0,_runtime_asn1_js__WEBPACK_IMPORTED_MODULE_1__.fromSPKI)(spki, alg, options);
|
|
76085
|
+
return (0,_runtime_asn1_js__WEBPACK_IMPORTED_MODULE_1__.fromX509)(x509, alg, options);
|
|
76137
76086
|
}
|
|
76138
76087
|
async function importPKCS8(pkcs8, alg, options) {
|
|
76139
76088
|
if (typeof pkcs8 !== 'string' || pkcs8.indexOf('-----BEGIN PRIVATE KEY-----') !== 0) {
|
|
@@ -76143,13 +76092,10 @@ async function importPKCS8(pkcs8, alg, options) {
|
|
|
76143
76092
|
}
|
|
76144
76093
|
async function importJWK(jwk, alg, octAsKeyObject) {
|
|
76145
76094
|
var _a;
|
|
76146
|
-
if (!(0,
|
|
76095
|
+
if (!(0,_lib_is_object_js__WEBPACK_IMPORTED_MODULE_4__["default"])(jwk)) {
|
|
76147
76096
|
throw new TypeError('JWK must be an object');
|
|
76148
76097
|
}
|
|
76149
76098
|
alg || (alg = jwk.alg);
|
|
76150
|
-
if (typeof alg !== 'string' || !alg) {
|
|
76151
|
-
throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
|
|
76152
|
-
}
|
|
76153
76099
|
switch (jwk.kty) {
|
|
76154
76100
|
case 'oct':
|
|
76155
76101
|
if (typeof jwk.k !== 'string' || !jwk.k) {
|
|
@@ -76516,13 +76462,13 @@ function checkSigCryptoKey(key, alg, ...usages) {
|
|
|
76516
76462
|
throw unusable(`SHA-${expected}`, 'algorithm.hash');
|
|
76517
76463
|
break;
|
|
76518
76464
|
}
|
|
76519
|
-
case (0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA': {
|
|
76520
|
-
if (!isAlgorithm(key.algorithm, 'NODE-ED25519'))
|
|
76521
|
-
throw unusable('NODE-ED25519');
|
|
76522
|
-
break;
|
|
76523
|
-
}
|
|
76524
76465
|
case 'EdDSA': {
|
|
76525
76466
|
if (key.algorithm.name !== 'Ed25519' && key.algorithm.name !== 'Ed448') {
|
|
76467
|
+
if ((0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
76468
|
+
if (isAlgorithm(key.algorithm, 'NODE-ED25519'))
|
|
76469
|
+
break;
|
|
76470
|
+
throw unusable('Ed25519, Ed448, or NODE-ED25519');
|
|
76471
|
+
}
|
|
76526
76472
|
throw unusable('Ed25519 or Ed448');
|
|
76527
76473
|
}
|
|
76528
76474
|
break;
|
|
@@ -77338,6 +77284,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
77338
77284
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77339
77285
|
/* harmony export */ "fromPKCS8": () => (/* binding */ fromPKCS8),
|
|
77340
77286
|
/* harmony export */ "fromSPKI": () => (/* binding */ fromSPKI),
|
|
77287
|
+
/* harmony export */ "fromX509": () => (/* binding */ fromX509),
|
|
77341
77288
|
/* harmony export */ "toPKCS8": () => (/* binding */ toPKCS8),
|
|
77342
77289
|
/* harmony export */ "toSPKI": () => (/* binding */ toSPKI)
|
|
77343
77290
|
/* harmony export */ });
|
|
@@ -77407,7 +77354,7 @@ const getNamedCurve = (keyData) => {
|
|
|
77407
77354
|
}
|
|
77408
77355
|
};
|
|
77409
77356
|
const genericImport = async (replace, keyFormat, pem, alg, options) => {
|
|
77410
|
-
var _a;
|
|
77357
|
+
var _a, _b;
|
|
77411
77358
|
let algorithm;
|
|
77412
77359
|
let keyUsages;
|
|
77413
77360
|
const keyData = new Uint8Array(atob(pem.replace(replace, ''))
|
|
@@ -77458,12 +77405,6 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
|
|
|
77458
77405
|
keyUsages = isPublic ? [] : ['deriveBits'];
|
|
77459
77406
|
break;
|
|
77460
77407
|
}
|
|
77461
|
-
case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA': {
|
|
77462
|
-
const namedCurve = getNamedCurve(keyData).toUpperCase();
|
|
77463
|
-
algorithm = { name: `NODE-${namedCurve}`, namedCurve: `NODE-${namedCurve}` };
|
|
77464
|
-
keyUsages = isPublic ? ['verify'] : ['sign'];
|
|
77465
|
-
break;
|
|
77466
|
-
}
|
|
77467
77408
|
case 'EdDSA':
|
|
77468
77409
|
algorithm = { name: getNamedCurve(keyData) };
|
|
77469
77410
|
keyUsages = isPublic ? ['verify'] : ['sign'];
|
|
@@ -77471,7 +77412,18 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
|
|
|
77471
77412
|
default:
|
|
77472
77413
|
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
|
|
77473
77414
|
}
|
|
77474
|
-
|
|
77415
|
+
try {
|
|
77416
|
+
return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
|
|
77417
|
+
}
|
|
77418
|
+
catch (err) {
|
|
77419
|
+
if (algorithm.name === 'Ed25519' &&
|
|
77420
|
+
(err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
|
|
77421
|
+
(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
77422
|
+
algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
77423
|
+
return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_b = options === null || options === void 0 ? void 0 : options.extractable) !== null && _b !== void 0 ? _b : false, keyUsages);
|
|
77424
|
+
}
|
|
77425
|
+
throw err;
|
|
77426
|
+
}
|
|
77475
77427
|
};
|
|
77476
77428
|
const fromPKCS8 = (pem, alg, options) => {
|
|
77477
77429
|
return genericImport(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g, 'pkcs8', pem, alg, options);
|
|
@@ -77479,6 +77431,84 @@ const fromPKCS8 = (pem, alg, options) => {
|
|
|
77479
77431
|
const fromSPKI = (pem, alg, options) => {
|
|
77480
77432
|
return genericImport(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g, 'spki', pem, alg, options);
|
|
77481
77433
|
};
|
|
77434
|
+
function getElement(seq) {
|
|
77435
|
+
let result = [];
|
|
77436
|
+
let next = 0;
|
|
77437
|
+
while (next < seq.length) {
|
|
77438
|
+
let nextPart = parseElement(seq.subarray(next));
|
|
77439
|
+
result.push(nextPart);
|
|
77440
|
+
next += nextPart.byteLength;
|
|
77441
|
+
}
|
|
77442
|
+
return result;
|
|
77443
|
+
}
|
|
77444
|
+
function parseElement(bytes) {
|
|
77445
|
+
let position = 0;
|
|
77446
|
+
let tag = bytes[0] & 0x1f;
|
|
77447
|
+
position++;
|
|
77448
|
+
if (tag === 0x1f) {
|
|
77449
|
+
tag = 0;
|
|
77450
|
+
while (bytes[position] >= 0x80) {
|
|
77451
|
+
tag = tag * 128 + bytes[position] - 0x80;
|
|
77452
|
+
position++;
|
|
77453
|
+
}
|
|
77454
|
+
tag = tag * 128 + bytes[position] - 0x80;
|
|
77455
|
+
position++;
|
|
77456
|
+
}
|
|
77457
|
+
let length = 0;
|
|
77458
|
+
if (bytes[position] < 0x80) {
|
|
77459
|
+
length = bytes[position];
|
|
77460
|
+
position++;
|
|
77461
|
+
}
|
|
77462
|
+
else if (length === 0x80) {
|
|
77463
|
+
length = 0;
|
|
77464
|
+
while (bytes[position + length] !== 0 || bytes[position + length + 1] !== 0) {
|
|
77465
|
+
if (length > bytes.byteLength) {
|
|
77466
|
+
throw new TypeError('invalid indefinite form length');
|
|
77467
|
+
}
|
|
77468
|
+
length++;
|
|
77469
|
+
}
|
|
77470
|
+
const byteLength = position + length + 2;
|
|
77471
|
+
return {
|
|
77472
|
+
byteLength,
|
|
77473
|
+
contents: bytes.subarray(position, position + length),
|
|
77474
|
+
raw: bytes.subarray(0, byteLength),
|
|
77475
|
+
};
|
|
77476
|
+
}
|
|
77477
|
+
else {
|
|
77478
|
+
let numberOfDigits = bytes[position] & 0x7f;
|
|
77479
|
+
position++;
|
|
77480
|
+
length = 0;
|
|
77481
|
+
for (let i = 0; i < numberOfDigits; i++) {
|
|
77482
|
+
length = length * 256 + bytes[position];
|
|
77483
|
+
position++;
|
|
77484
|
+
}
|
|
77485
|
+
}
|
|
77486
|
+
const byteLength = position + length;
|
|
77487
|
+
return {
|
|
77488
|
+
byteLength,
|
|
77489
|
+
contents: bytes.subarray(position, byteLength),
|
|
77490
|
+
raw: bytes.subarray(0, byteLength),
|
|
77491
|
+
};
|
|
77492
|
+
}
|
|
77493
|
+
function spkiFromX509(buf) {
|
|
77494
|
+
const tbsCertificate = getElement(getElement(parseElement(buf).contents)[0].contents);
|
|
77495
|
+
return (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
|
|
77496
|
+
}
|
|
77497
|
+
function getSPKI(x509) {
|
|
77498
|
+
const pem = x509.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, '');
|
|
77499
|
+
const raw = (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.decodeBase64)(pem);
|
|
77500
|
+
return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__["default"])(spkiFromX509(raw), 'PUBLIC KEY');
|
|
77501
|
+
}
|
|
77502
|
+
const fromX509 = (pem, alg, options) => {
|
|
77503
|
+
let spki;
|
|
77504
|
+
try {
|
|
77505
|
+
spki = getSPKI(pem);
|
|
77506
|
+
}
|
|
77507
|
+
catch (cause) {
|
|
77508
|
+
throw new TypeError('failed to parse the X.509 certificate', { cause });
|
|
77509
|
+
}
|
|
77510
|
+
return fromSPKI(spki, alg, options);
|
|
77511
|
+
};
|
|
77482
77512
|
|
|
77483
77513
|
|
|
77484
77514
|
/***/ }),
|
|
@@ -78036,7 +78066,7 @@ function getModulusLengthOption(options) {
|
|
|
78036
78066
|
return modulusLength;
|
|
78037
78067
|
}
|
|
78038
78068
|
async function generateKeyPair(alg, options) {
|
|
78039
|
-
var _a, _b, _c;
|
|
78069
|
+
var _a, _b, _c, _d;
|
|
78040
78070
|
let algorithm;
|
|
78041
78071
|
let keyUsages;
|
|
78042
78072
|
switch (alg) {
|
|
@@ -78086,17 +78116,6 @@ async function generateKeyPair(alg, options) {
|
|
|
78086
78116
|
algorithm = { name: 'ECDSA', namedCurve: 'P-521' };
|
|
78087
78117
|
keyUsages = ['sign', 'verify'];
|
|
78088
78118
|
break;
|
|
78089
|
-
case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA':
|
|
78090
|
-
switch (options === null || options === void 0 ? void 0 : options.crv) {
|
|
78091
|
-
case undefined:
|
|
78092
|
-
case 'Ed25519':
|
|
78093
|
-
algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
78094
|
-
keyUsages = ['sign', 'verify'];
|
|
78095
|
-
break;
|
|
78096
|
-
default:
|
|
78097
|
-
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported crv option provided');
|
|
78098
|
-
}
|
|
78099
|
-
break;
|
|
78100
78119
|
case 'EdDSA':
|
|
78101
78120
|
keyUsages = ['sign', 'verify'];
|
|
78102
78121
|
const crv = (_a = options === null || options === void 0 ? void 0 : options.crv) !== null && _a !== void 0 ? _a : 'Ed25519';
|
|
@@ -78134,7 +78153,18 @@ async function generateKeyPair(alg, options) {
|
|
|
78134
78153
|
default:
|
|
78135
78154
|
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
78136
78155
|
}
|
|
78137
|
-
|
|
78156
|
+
try {
|
|
78157
|
+
return (await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_c = options === null || options === void 0 ? void 0 : options.extractable) !== null && _c !== void 0 ? _c : false, keyUsages));
|
|
78158
|
+
}
|
|
78159
|
+
catch (err) {
|
|
78160
|
+
if (algorithm.name === 'Ed25519' &&
|
|
78161
|
+
(err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
|
|
78162
|
+
(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
78163
|
+
algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
78164
|
+
return (await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_d = options === null || options === void 0 ? void 0 : options.extractable) !== null && _d !== void 0 ? _d : false, keyUsages));
|
|
78165
|
+
}
|
|
78166
|
+
throw err;
|
|
78167
|
+
}
|
|
78138
78168
|
}
|
|
78139
78169
|
|
|
78140
78170
|
|
|
@@ -78314,19 +78344,6 @@ function subtleMapping(jwk) {
|
|
|
78314
78344
|
}
|
|
78315
78345
|
break;
|
|
78316
78346
|
}
|
|
78317
|
-
case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'OKP':
|
|
78318
|
-
if (jwk.alg !== 'EdDSA') {
|
|
78319
|
-
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
78320
|
-
}
|
|
78321
|
-
switch (jwk.crv) {
|
|
78322
|
-
case 'Ed25519':
|
|
78323
|
-
algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
78324
|
-
keyUsages = jwk.d ? ['sign'] : ['verify'];
|
|
78325
|
-
break;
|
|
78326
|
-
default:
|
|
78327
|
-
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
78328
|
-
}
|
|
78329
|
-
break;
|
|
78330
78347
|
case 'OKP': {
|
|
78331
78348
|
switch (jwk.alg) {
|
|
78332
78349
|
case 'EdDSA':
|
|
@@ -78352,6 +78369,9 @@ function subtleMapping(jwk) {
|
|
|
78352
78369
|
}
|
|
78353
78370
|
const parse = async (jwk) => {
|
|
78354
78371
|
var _a, _b;
|
|
78372
|
+
if (!jwk.alg) {
|
|
78373
|
+
throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
|
|
78374
|
+
}
|
|
78355
78375
|
const { algorithm, keyUsages } = subtleMapping(jwk);
|
|
78356
78376
|
const rest = [
|
|
78357
78377
|
algorithm,
|
|
@@ -78364,7 +78384,18 @@ const parse = async (jwk) => {
|
|
|
78364
78384
|
const keyData = { ...jwk };
|
|
78365
78385
|
delete keyData.alg;
|
|
78366
78386
|
delete keyData.use;
|
|
78367
|
-
|
|
78387
|
+
try {
|
|
78388
|
+
return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
|
|
78389
|
+
}
|
|
78390
|
+
catch (err) {
|
|
78391
|
+
if (algorithm.name === 'Ed25519' &&
|
|
78392
|
+
(err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
|
|
78393
|
+
(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
|
|
78394
|
+
rest[0] = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
78395
|
+
return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
|
|
78396
|
+
}
|
|
78397
|
+
throw err;
|
|
78398
|
+
}
|
|
78368
78399
|
};
|
|
78369
78400
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parse);
|
|
78370
78401
|
|
|
@@ -78629,10 +78660,10 @@ function subtleDsa(alg, algorithm) {
|
|
|
78629
78660
|
case 'ES384':
|
|
78630
78661
|
case 'ES512':
|
|
78631
78662
|
return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };
|
|
78632
|
-
case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA':
|
|
78633
|
-
const { namedCurve } = algorithm;
|
|
78634
|
-
return { name: namedCurve, namedCurve };
|
|
78635
78663
|
case 'EdDSA':
|
|
78664
|
+
if ((0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && algorithm.name === 'NODE-ED25519') {
|
|
78665
|
+
return { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
78666
|
+
}
|
|
78636
78667
|
return { name: algorithm.name };
|
|
78637
78668
|
default:
|
|
78638
78669
|
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
|
|
@@ -79056,6 +79087,7 @@ class JWKSMultipleMatchingKeys extends JOSEError {
|
|
|
79056
79087
|
return 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';
|
|
79057
79088
|
}
|
|
79058
79089
|
}
|
|
79090
|
+
Symbol.asyncIterator;
|
|
79059
79091
|
class JWKSTimeout extends JOSEError {
|
|
79060
79092
|
constructor() {
|
|
79061
79093
|
super(...arguments);
|