solid-ui 2.4.25-3d353685 → 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 +244 -214
- package/dist/main.js.map +1 -1
- package/lib/versionInfo.js +4 -4
- package/lib/versionInfo.js.map +1 -1
- package/package.json +4 -4
package/dist/main.js
CHANGED
|
@@ -13119,12 +13119,12 @@ 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: '16.19.
|
|
13127
|
+
node: '16.19.1',
|
|
13128
13128
|
v8: '9.4.146.26-node.24',
|
|
13129
13129
|
uv: '1.43.0',
|
|
13130
13130
|
zlib: '1.2.11',
|
|
@@ -13134,7 +13134,7 @@ var versionInfo = {
|
|
|
13134
13134
|
nghttp2: '1.47.0',
|
|
13135
13135
|
napi: '8',
|
|
13136
13136
|
llhttp: '6.0.10',
|
|
13137
|
-
openssl: '1.1.
|
|
13137
|
+
openssl: '1.1.1t+quic',
|
|
13138
13138
|
cldr: '41.0',
|
|
13139
13139
|
icu: '71.1',
|
|
13140
13140
|
tz: '2022f',
|
|
@@ -25646,7 +25646,10 @@ class ClientAuthentication {
|
|
|
25646
25646
|
this.login = async (options, eventEmitter) => {
|
|
25647
25647
|
var _a, _b;
|
|
25648
25648
|
await this.sessionInfoManager.clear(options.sessionId);
|
|
25649
|
-
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
|
+
}
|
|
25650
25653
|
await this.loginHandler.handle({
|
|
25651
25654
|
...options,
|
|
25652
25655
|
redirectUrl,
|
|
@@ -26117,7 +26120,6 @@ exports["default"] = ClientRegistrar;
|
|
|
26117
26120
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
26118
26121
|
exports.WELL_KNOWN_OPENID_CONFIG = void 0;
|
|
26119
26122
|
const solid_client_authn_core_1 = __webpack_require__(/*! @inrupt/solid-client-authn-core */ "./node_modules/@inrupt/solid-client-authn-core/dist/index.js");
|
|
26120
|
-
const urlPath_1 = __webpack_require__(/*! ../../util/urlPath */ "./node_modules/@inrupt/solid-client-authn-browser/dist/util/urlPath.js");
|
|
26121
26123
|
exports.WELL_KNOWN_OPENID_CONFIG = ".well-known/openid-configuration";
|
|
26122
26124
|
const issuerConfigKeyMap = {
|
|
26123
26125
|
issuer: {
|
|
@@ -26223,7 +26225,7 @@ class IssuerConfigFetcher {
|
|
|
26223
26225
|
}
|
|
26224
26226
|
async fetchConfig(issuer) {
|
|
26225
26227
|
let issuerConfig;
|
|
26226
|
-
const openIdConfigUrl =
|
|
26228
|
+
const openIdConfigUrl = new URL(exports.WELL_KNOWN_OPENID_CONFIG, issuer).href;
|
|
26227
26229
|
const issuerConfigRequestBody = await window.fetch(openIdConfigUrl);
|
|
26228
26230
|
try {
|
|
26229
26231
|
issuerConfig = processConfig(await issuerConfigRequestBody.json());
|
|
@@ -26774,27 +26776,6 @@ exports["default"] = StorageUtilityBrowser;
|
|
|
26774
26776
|
|
|
26775
26777
|
/***/ }),
|
|
26776
26778
|
|
|
26777
|
-
/***/ "./node_modules/@inrupt/solid-client-authn-browser/dist/util/urlPath.js":
|
|
26778
|
-
/*!******************************************************************************!*\
|
|
26779
|
-
!*** ./node_modules/@inrupt/solid-client-authn-browser/dist/util/urlPath.js ***!
|
|
26780
|
-
\******************************************************************************/
|
|
26781
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
26782
|
-
|
|
26783
|
-
"use strict";
|
|
26784
|
-
|
|
26785
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
26786
|
-
exports.appendToUrlPathname = void 0;
|
|
26787
|
-
function appendToUrlPathname(url, append) {
|
|
26788
|
-
const parsedUrl = new URL(url);
|
|
26789
|
-
const path = parsedUrl.pathname;
|
|
26790
|
-
parsedUrl.pathname = `${path}${path.endsWith("/") ? "" : "/"}${append.startsWith("/") ? append.substring(1) : append}`;
|
|
26791
|
-
return parsedUrl.toString();
|
|
26792
|
-
}
|
|
26793
|
-
exports.appendToUrlPathname = appendToUrlPathname;
|
|
26794
|
-
//# sourceMappingURL=urlPath.js.map
|
|
26795
|
-
|
|
26796
|
-
/***/ }),
|
|
26797
|
-
|
|
26798
26779
|
/***/ "./node_modules/@inrupt/solid-client-authn-browser/node_modules/uuid/dist/commonjs-browser/index.js":
|
|
26799
26780
|
/*!**********************************************************************************************************!*\
|
|
26800
26781
|
!*** ./node_modules/@inrupt/solid-client-authn-browser/node_modules/uuid/dist/commonjs-browser/index.js ***!
|
|
@@ -27909,6 +27890,16 @@ async function getWebidFromTokenPayload(idToken, jwksIri, issuerIri, clientId) {
|
|
|
27909
27890
|
}
|
|
27910
27891
|
}
|
|
27911
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
|
+
|
|
27912
27903
|
function isSupportedTokenType(token) {
|
|
27913
27904
|
return typeof token === "string" && ["DPoP", "Bearer"].includes(token);
|
|
27914
27905
|
}
|
|
@@ -28324,6 +28315,7 @@ exports.getSessionIdFromOauthState = getSessionIdFromOauthState;
|
|
|
28324
28315
|
exports.getWebidFromTokenPayload = getWebidFromTokenPayload;
|
|
28325
28316
|
exports.handleRegistration = handleRegistration;
|
|
28326
28317
|
exports.isSupportedTokenType = isSupportedTokenType;
|
|
28318
|
+
exports.isValidRedirectUrl = isValidRedirectUrl;
|
|
28327
28319
|
exports.loadOidcContextFromStorage = loadOidcContextFromStorage;
|
|
28328
28320
|
exports.mockStorage = mockStorage;
|
|
28329
28321
|
exports.mockStorageUtility = mockStorageUtility;
|
|
@@ -52440,10 +52432,11 @@ var Collection = /*#__PURE__*/function (_Node) {
|
|
|
52440
52432
|
}, {
|
|
52441
52433
|
key: "substitute",
|
|
52442
52434
|
value: function substitute(bindings) {
|
|
52443
|
-
var
|
|
52444
|
-
|
|
52435
|
+
var collection = new Collection();
|
|
52436
|
+
this.elements.forEach(function (ea) {
|
|
52437
|
+
collection.append(ea.substitute(bindings));
|
|
52445
52438
|
});
|
|
52446
|
-
return
|
|
52439
|
+
return collection;
|
|
52447
52440
|
}
|
|
52448
52441
|
}, {
|
|
52449
52442
|
key: "toNT",
|
|
@@ -54280,16 +54273,17 @@ var Fetcher = /*#__PURE__*/function () {
|
|
|
54280
54273
|
var fetcher = this;
|
|
54281
54274
|
// @ts-ignore
|
|
54282
54275
|
if (fetcher.fetchQueue && fetcher.fetchQueue[uri]) {
|
|
54283
|
-
console.log('Internal error - fetchQueue exists ' + uri)
|
|
54276
|
+
// console.log('Internal error - fetchQueue exists ' + uri)
|
|
54284
54277
|
var promise = fetcher.fetchQueue[uri];
|
|
54285
54278
|
if (promise['PromiseStatus'] === 'resolved') {
|
|
54286
54279
|
delete fetcher.fetchQueue[uri];
|
|
54287
54280
|
} else {
|
|
54288
54281
|
// pending
|
|
54289
54282
|
delete fetcher.fetchQueue[uri];
|
|
54290
|
-
console.log('*** Fetcher: pending fetchQueue deleted ' + uri)
|
|
54283
|
+
// console.log('*** Fetcher: pending fetchQueue deleted ' + uri)
|
|
54291
54284
|
}
|
|
54292
54285
|
}
|
|
54286
|
+
|
|
54293
54287
|
if (fetcher.requested[uri] && fetcher.requested[uri] !== 'done' && fetcher.requested[uri] !== 'failed' && fetcher.requested[uri] !== 404) {
|
|
54294
54288
|
var msg = "Rdflib: fetcher: Destructive operation on <".concat(fetcher.requested[uri], "> file being fetched! ") + uri;
|
|
54295
54289
|
console.error(msg);
|
|
@@ -56154,6 +56148,9 @@ function jsonldParser(str, kb, base, callback) {
|
|
|
56154
56148
|
var baseString = base && Object.prototype.hasOwnProperty.call(base, 'termType') ? base.value : base;
|
|
56155
56149
|
return jsonld__WEBPACK_IMPORTED_MODULE_0___default().flatten(JSON.parse(str), null, {
|
|
56156
56150
|
base: baseString
|
|
56151
|
+
}).then(function (flattened) {
|
|
56152
|
+
console.log(flattened);
|
|
56153
|
+
return flattened;
|
|
56157
56154
|
}).then(function (flattened) {
|
|
56158
56155
|
return flattened.reduce(function (store, flatResource) {
|
|
56159
56156
|
kb = processResource(kb, base, flatResource);
|
|
@@ -61241,7 +61238,7 @@ contentType, callback, options) {
|
|
|
61241
61238
|
documentString = sz.statementsToNTriples(newSts);
|
|
61242
61239
|
return executeCallback(null, documentString);
|
|
61243
61240
|
case _types__WEBPACK_IMPORTED_MODULE_0__.JSONLDContentType:
|
|
61244
|
-
sz.setFlags('si'); //
|
|
61241
|
+
sz.setFlags('si dr'); // turtle + dr (means no default, no relative prefix)
|
|
61245
61242
|
documentString = sz.statementsToJsonld(newSts); // convert via turtle
|
|
61246
61243
|
return executeCallback(null, documentString);
|
|
61247
61244
|
case _types__WEBPACK_IMPORTED_MODULE_0__.NQuadsContentType:
|
|
@@ -61313,7 +61310,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
61313
61310
|
|
|
61314
61311
|
|
|
61315
61312
|
|
|
61316
|
-
// import * as jsonld from 'jsonld'
|
|
61317
61313
|
|
|
61318
61314
|
function createSerializer(store) {
|
|
61319
61315
|
return new Serializer(store);
|
|
@@ -61820,7 +61816,7 @@ var Serializer = /*#__PURE__*/function () {
|
|
|
61820
61816
|
var termToN3 = termToN3Method.bind(this);
|
|
61821
61817
|
function prefixDirectivesMethod() {
|
|
61822
61818
|
var str = '';
|
|
61823
|
-
if (this.defaultNamespace) {
|
|
61819
|
+
if (this.flags.indexOf('d') < 0 && this.defaultNamespace) {
|
|
61824
61820
|
str += '@prefix : ' + this.explicitURI(this.defaultNamespace) + '.\n';
|
|
61825
61821
|
}
|
|
61826
61822
|
for (var ns in this.prefixes) {
|
|
@@ -62305,20 +62301,19 @@ var Serializer = /*#__PURE__*/function () {
|
|
|
62305
62301
|
key: "statementsToJsonld",
|
|
62306
62302
|
value: function statementsToJsonld(sts) {
|
|
62307
62303
|
// ttl2jsonld creates context keys for all ttl prefix
|
|
62308
|
-
// context keys must be
|
|
62309
|
-
function findId(itemObj) {
|
|
62304
|
+
// context keys must be absolute IRI ttl2jsonld@0.0.8
|
|
62305
|
+
/* function findId (itemObj) {
|
|
62310
62306
|
if (itemObj['@id']) {
|
|
62311
|
-
|
|
62312
|
-
if (keys[item[0]]) itemObj['@id'] = jsonldObj['@context'][item[0]] + item[1]
|
|
62313
|
-
}
|
|
62314
|
-
|
|
62315
|
-
for (
|
|
62316
|
-
if (typeof itemValues[i] !== 'string') {
|
|
62317
|
-
|
|
62318
|
-
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])
|
|
62319
62314
|
}
|
|
62320
62315
|
}
|
|
62321
|
-
}
|
|
62316
|
+
} */
|
|
62322
62317
|
var turtleDoc = this.statementsToN3(sts);
|
|
62323
62318
|
var jsonldObj = _frogcat_ttl2jsonld__WEBPACK_IMPORTED_MODULE_4__.parse(turtleDoc);
|
|
62324
62319
|
return JSON.stringify(jsonldObj, null, 2);
|
|
@@ -63257,9 +63252,9 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) {
|
|
|
63257
63252
|
// console.log('ds before substitute: ' + ds)
|
|
63258
63253
|
if (binding) ds = ds.substitute(binding);
|
|
63259
63254
|
// console.log('applyPatch: delete: ' + ds)
|
|
63260
|
-
|
|
63255
|
+
|
|
63261
63256
|
var bad = [];
|
|
63262
|
-
var ds2 = ds.map(function (st) {
|
|
63257
|
+
var ds2 = ds.elements.map(function (st) {
|
|
63263
63258
|
// Find the actual statements in the store
|
|
63264
63259
|
var sts = targetKB.statementsMatching(st.subject, st.predicate, st.object, target);
|
|
63265
63260
|
if (sts.length === 0) {
|
|
@@ -63284,8 +63279,7 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) {
|
|
|
63284
63279
|
// log.info("doPatch insert "+patch['insert'])
|
|
63285
63280
|
ds = patch['insert'];
|
|
63286
63281
|
if (binding) ds = ds.substitute(binding);
|
|
63287
|
-
ds
|
|
63288
|
-
ds.map(function (st) {
|
|
63282
|
+
ds.elements.map(function (st) {
|
|
63289
63283
|
st.graph = target;
|
|
63290
63284
|
targetKB.add(st.subject, st.predicate, st.object, st.graph);
|
|
63291
63285
|
});
|
|
@@ -63302,6 +63296,7 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) {
|
|
|
63302
63296
|
//@ts-ignore TODO: add sync property to Query when converting Query to typescript
|
|
63303
63297
|
query.sync = true;
|
|
63304
63298
|
var bindingsFound = [];
|
|
63299
|
+
query.pat.initBindings = [];
|
|
63305
63300
|
targetKB.query(query, function onBinding(binding) {
|
|
63306
63301
|
bindingsFound.push(binding);
|
|
63307
63302
|
// console.log(' got a binding: ' + bindingDebug(binding))
|
|
@@ -66820,15 +66815,13 @@ function createAclLogic(store) {
|
|
|
66820
66815
|
var ns = ns_1.ns;
|
|
66821
66816
|
function findAclDocUrl(url) {
|
|
66822
66817
|
return __awaiter(this, void 0, void 0, function () {
|
|
66823
|
-
var
|
|
66818
|
+
var docNode;
|
|
66824
66819
|
return __generator(this, function (_a) {
|
|
66825
66820
|
switch (_a.label) {
|
|
66826
|
-
case 0:
|
|
66827
|
-
doc = store.sym(url);
|
|
66828
|
-
return [4 /*yield*/, store.fetcher.load(doc)];
|
|
66821
|
+
case 0: return [4 /*yield*/, store.fetcher.load(url)];
|
|
66829
66822
|
case 1:
|
|
66830
66823
|
_a.sent();
|
|
66831
|
-
docNode = store.any(
|
|
66824
|
+
docNode = store.any(url, exports.ACL_LINK);
|
|
66832
66825
|
if (!docNode) {
|
|
66833
66826
|
throw new Error("No ACL link discovered for ".concat(url));
|
|
66834
66827
|
}
|
|
@@ -67636,7 +67629,7 @@ function createInboxLogic(store, profileLogic, utilityLogic, containerLogic, acl
|
|
|
67636
67629
|
case 2: return [4 /*yield*/, profileLogic.getMainInbox(user)];
|
|
67637
67630
|
case 3:
|
|
67638
67631
|
inbox = _a.sent();
|
|
67639
|
-
return [4 /*yield*/, containerLogic.getContainerMembers(inbox
|
|
67632
|
+
return [4 /*yield*/, containerLogic.getContainerMembers(inbox)];
|
|
67640
67633
|
case 4:
|
|
67641
67634
|
urls = _a.sent();
|
|
67642
67635
|
return [2 /*return*/, urls.filter(function (url) { return !containerLogic.isContainer(url); })];
|
|
@@ -68792,19 +68785,21 @@ var rdflib_1 = __webpack_require__(/*! rdflib */ "./node_modules/rdflib/esm/inde
|
|
|
68792
68785
|
function createContainerLogic(store) {
|
|
68793
68786
|
function getContainerElements(containerNode) {
|
|
68794
68787
|
return store
|
|
68795
|
-
.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)
|
|
68796
68789
|
.map(function (st) { return st.object; });
|
|
68797
68790
|
}
|
|
68798
68791
|
function isContainer(url) {
|
|
68799
|
-
|
|
68792
|
+
var nodeToString = url.value;
|
|
68793
|
+
return nodeToString.charAt(nodeToString.length - 1) === "/";
|
|
68800
68794
|
}
|
|
68801
68795
|
function createContainer(url) {
|
|
68802
68796
|
return __awaiter(this, void 0, void 0, function () {
|
|
68803
|
-
var result;
|
|
68797
|
+
var stringToNode, result;
|
|
68804
68798
|
return __generator(this, function (_a) {
|
|
68805
68799
|
switch (_a.label) {
|
|
68806
68800
|
case 0:
|
|
68807
|
-
|
|
68801
|
+
stringToNode = (0, rdflib_1.sym)(url);
|
|
68802
|
+
if (!isContainer(stringToNode)) {
|
|
68808
68803
|
throw new Error("Not a container URL ".concat(url));
|
|
68809
68804
|
}
|
|
68810
68805
|
return [4 /*yield*/, store.fetcher._fetch(url, {
|
|
@@ -68828,16 +68823,12 @@ function createContainerLogic(store) {
|
|
|
68828
68823
|
}
|
|
68829
68824
|
function getContainerMembers(containerUrl) {
|
|
68830
68825
|
return __awaiter(this, void 0, void 0, function () {
|
|
68831
|
-
var containerNode, nodes;
|
|
68832
68826
|
return __generator(this, function (_a) {
|
|
68833
68827
|
switch (_a.label) {
|
|
68834
|
-
case 0:
|
|
68835
|
-
containerNode = store.sym(containerUrl);
|
|
68836
|
-
return [4 /*yield*/, store.fetcher.load(containerNode)];
|
|
68828
|
+
case 0: return [4 /*yield*/, store.fetcher.load(containerUrl)];
|
|
68837
68829
|
case 1:
|
|
68838
68830
|
_a.sent();
|
|
68839
|
-
|
|
68840
|
-
return [2 /*return*/, nodes.map(function (node) { return node.value; })];
|
|
68831
|
+
return [2 /*return*/, getContainerElements(containerUrl)];
|
|
68841
68832
|
}
|
|
68842
68833
|
});
|
|
68843
68834
|
});
|
|
@@ -69023,28 +69014,30 @@ var CustomError_1 = __webpack_require__(/*! ../logic/CustomError */ "./node_modu
|
|
|
69023
69014
|
var debug = __importStar(__webpack_require__(/*! ../util/debug */ "./node_modules/solid-logic/lib/util/debug.js"));
|
|
69024
69015
|
var utils_1 = __webpack_require__(/*! ./utils */ "./node_modules/solid-logic/lib/util/utils.js");
|
|
69025
69016
|
function createUtilityLogic(store, aclLogic, containerLogic) {
|
|
69026
|
-
function recursiveDelete(
|
|
69017
|
+
function recursiveDelete(containerNode) {
|
|
69027
69018
|
return __awaiter(this, void 0, void 0, function () {
|
|
69028
|
-
var aclDocUrl, containerMembers, e_1;
|
|
69019
|
+
var aclDocUrl, containerMembers, nodeToStringHere, e_1;
|
|
69029
69020
|
return __generator(this, function (_a) {
|
|
69030
69021
|
switch (_a.label) {
|
|
69031
69022
|
case 0:
|
|
69032
69023
|
_a.trys.push([0, 6, , 7]);
|
|
69033
|
-
if (!containerLogic.isContainer(
|
|
69034
|
-
return [4 /*yield*/, aclLogic.findAclDocUrl(
|
|
69024
|
+
if (!containerLogic.isContainer(containerNode)) return [3 /*break*/, 5];
|
|
69025
|
+
return [4 /*yield*/, aclLogic.findAclDocUrl(containerNode)];
|
|
69035
69026
|
case 1:
|
|
69036
69027
|
aclDocUrl = _a.sent();
|
|
69037
69028
|
return [4 /*yield*/, store.fetcher._fetch(aclDocUrl, { method: "DELETE" })];
|
|
69038
69029
|
case 2:
|
|
69039
69030
|
_a.sent();
|
|
69040
|
-
return [4 /*yield*/, containerLogic.getContainerMembers(
|
|
69031
|
+
return [4 /*yield*/, containerLogic.getContainerMembers(containerNode)];
|
|
69041
69032
|
case 3:
|
|
69042
69033
|
containerMembers = _a.sent();
|
|
69043
69034
|
return [4 /*yield*/, Promise.all(containerMembers.map(function (url) { return recursiveDelete(url); }))];
|
|
69044
69035
|
case 4:
|
|
69045
69036
|
_a.sent();
|
|
69046
69037
|
_a.label = 5;
|
|
69047
|
-
case 5:
|
|
69038
|
+
case 5:
|
|
69039
|
+
nodeToStringHere = containerNode.value;
|
|
69040
|
+
return [2 /*return*/, store.fetcher._fetch(nodeToStringHere, { method: "DELETE" })];
|
|
69048
69041
|
case 6:
|
|
69049
69042
|
e_1 = _a.sent();
|
|
69050
69043
|
return [3 /*break*/, 7];
|
|
@@ -69189,7 +69182,7 @@ function createUtilityLogic(store, aclLogic, containerLogic) {
|
|
|
69189
69182
|
''
|
|
69190
69183
|
].join('\n');
|
|
69191
69184
|
}
|
|
69192
|
-
return [4 /*yield*/, aclLogic.findAclDocUrl(options.target)];
|
|
69185
|
+
return [4 /*yield*/, aclLogic.findAclDocUrl((0, rdflib_1.sym)(options.target))];
|
|
69193
69186
|
case 1:
|
|
69194
69187
|
aclDocUrl = _a.sent();
|
|
69195
69188
|
return [2 /*return*/, store.fetcher._fetch(aclDocUrl, {
|
|
@@ -73561,6 +73554,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
73561
73554
|
/* harmony export */ "getWebidFromTokenPayload": () => (/* binding */ getWebidFromTokenPayload),
|
|
73562
73555
|
/* harmony export */ "handleRegistration": () => (/* binding */ handleRegistration),
|
|
73563
73556
|
/* harmony export */ "isSupportedTokenType": () => (/* binding */ isSupportedTokenType),
|
|
73557
|
+
/* harmony export */ "isValidRedirectUrl": () => (/* binding */ isValidRedirectUrl),
|
|
73564
73558
|
/* harmony export */ "loadOidcContextFromStorage": () => (/* binding */ loadOidcContextFromStorage),
|
|
73565
73559
|
/* harmony export */ "mockStorage": () => (/* binding */ mockStorage),
|
|
73566
73560
|
/* harmony export */ "mockStorageUtility": () => (/* binding */ mockStorageUtility),
|
|
@@ -73667,6 +73661,16 @@ async function getWebidFromTokenPayload(idToken, jwksIri, issuerIri, clientId) {
|
|
|
73667
73661
|
}
|
|
73668
73662
|
}
|
|
73669
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
|
+
|
|
73670
73674
|
function isSupportedTokenType(token) {
|
|
73671
73675
|
return typeof token === "string" && ["DPoP", "Bearer"].includes(token);
|
|
73672
73676
|
}
|
|
@@ -74891,7 +74895,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
74891
74895
|
async function EmbeddedJWK(protectedHeader, token) {
|
|
74892
74896
|
const joseHeader = {
|
|
74893
74897
|
...protectedHeader,
|
|
74894
|
-
...token.header,
|
|
74898
|
+
...token === null || token === void 0 ? void 0 : token.header,
|
|
74895
74899
|
};
|
|
74896
74900
|
if (!(0,_lib_is_object_js__WEBPACK_IMPORTED_MODULE_1__["default"])(joseHeader.jwk)) {
|
|
74897
74901
|
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a JSON object');
|
|
@@ -75036,7 +75040,7 @@ class LocalJWKSet {
|
|
|
75036
75040
|
this._jwks = clone(jwks);
|
|
75037
75041
|
}
|
|
75038
75042
|
async getKey(protectedHeader, token) {
|
|
75039
|
-
const { alg, kid } = { ...protectedHeader, ...token.header };
|
|
75043
|
+
const { alg, kid } = { ...protectedHeader, ...token === null || token === void 0 ? void 0 : token.header };
|
|
75040
75044
|
const kty = getKtyFromAlg(alg);
|
|
75041
75045
|
const candidates = this._jwks.keys.filter((jwk) => {
|
|
75042
75046
|
let candidate = kty === jwk.kty;
|
|
@@ -75078,21 +75082,39 @@ class LocalJWKSet {
|
|
|
75078
75082
|
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSNoMatchingKey();
|
|
75079
75083
|
}
|
|
75080
75084
|
else if (length !== 1) {
|
|
75081
|
-
|
|
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;
|
|
75082
75098
|
}
|
|
75083
|
-
|
|
75084
|
-
|
|
75085
|
-
|
|
75086
|
-
|
|
75087
|
-
|
|
75088
|
-
|
|
75089
|
-
|
|
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');
|
|
75090
75108
|
}
|
|
75091
|
-
|
|
75109
|
+
cached[alg] = key;
|
|
75092
75110
|
}
|
|
75111
|
+
return cached[alg];
|
|
75093
75112
|
}
|
|
75094
75113
|
function createLocalJWKSet(jwks) {
|
|
75095
|
-
|
|
75114
|
+
const set = new LocalJWKSet(jwks);
|
|
75115
|
+
return async function (protectedHeader, token) {
|
|
75116
|
+
return set.getKey(protectedHeader, token);
|
|
75117
|
+
};
|
|
75096
75118
|
}
|
|
75097
75119
|
|
|
75098
75120
|
|
|
@@ -75192,7 +75214,10 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
|
|
|
75192
75214
|
}
|
|
75193
75215
|
}
|
|
75194
75216
|
function createRemoteJWKSet(url, options) {
|
|
75195
|
-
|
|
75217
|
+
const set = new RemoteJWKSet(url, options);
|
|
75218
|
+
return async function (protectedHeader, token) {
|
|
75219
|
+
return set.getKey(protectedHeader, token);
|
|
75220
|
+
};
|
|
75196
75221
|
}
|
|
75197
75222
|
|
|
75198
75223
|
|
|
@@ -76041,83 +76066,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
76041
76066
|
/* harmony import */ var _runtime_asn1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../runtime/asn1.js */ "./node_modules/jose/dist/browser/runtime/asn1.js");
|
|
76042
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");
|
|
76043
76068
|
/* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
|
|
76044
|
-
/* harmony import */ var
|
|
76045
|
-
/* 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");
|
|
76046
|
-
|
|
76047
|
-
|
|
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");
|
|
76048
76070
|
|
|
76049
76071
|
|
|
76050
76072
|
|
|
76051
76073
|
|
|
76052
76074
|
|
|
76053
|
-
function getElement(seq) {
|
|
76054
|
-
let result = [];
|
|
76055
|
-
let next = 0;
|
|
76056
|
-
while (next < seq.length) {
|
|
76057
|
-
let nextPart = parseElement(seq.subarray(next));
|
|
76058
|
-
result.push(nextPart);
|
|
76059
|
-
next += nextPart.byteLength;
|
|
76060
|
-
}
|
|
76061
|
-
return result;
|
|
76062
|
-
}
|
|
76063
|
-
function parseElement(bytes) {
|
|
76064
|
-
let position = 0;
|
|
76065
|
-
let tag = bytes[0] & 0x1f;
|
|
76066
|
-
position++;
|
|
76067
|
-
if (tag === 0x1f) {
|
|
76068
|
-
tag = 0;
|
|
76069
|
-
while (bytes[position] >= 0x80) {
|
|
76070
|
-
tag = tag * 128 + bytes[position] - 0x80;
|
|
76071
|
-
position++;
|
|
76072
|
-
}
|
|
76073
|
-
tag = tag * 128 + bytes[position] - 0x80;
|
|
76074
|
-
position++;
|
|
76075
|
-
}
|
|
76076
|
-
let length = 0;
|
|
76077
|
-
if (bytes[position] < 0x80) {
|
|
76078
|
-
length = bytes[position];
|
|
76079
|
-
position++;
|
|
76080
|
-
}
|
|
76081
|
-
else if (length === 0x80) {
|
|
76082
|
-
length = 0;
|
|
76083
|
-
while (bytes[position + length] !== 0 || bytes[position + length + 1] !== 0) {
|
|
76084
|
-
if (length > bytes.byteLength) {
|
|
76085
|
-
throw new TypeError('invalid indefinite form length');
|
|
76086
|
-
}
|
|
76087
|
-
length++;
|
|
76088
|
-
}
|
|
76089
|
-
const byteLength = position + length + 2;
|
|
76090
|
-
return {
|
|
76091
|
-
byteLength,
|
|
76092
|
-
contents: bytes.subarray(position, position + length),
|
|
76093
|
-
raw: bytes.subarray(0, byteLength),
|
|
76094
|
-
};
|
|
76095
|
-
}
|
|
76096
|
-
else {
|
|
76097
|
-
let numberOfDigits = bytes[position] & 0x7f;
|
|
76098
|
-
position++;
|
|
76099
|
-
length = 0;
|
|
76100
|
-
for (let i = 0; i < numberOfDigits; i++) {
|
|
76101
|
-
length = length * 256 + bytes[position];
|
|
76102
|
-
position++;
|
|
76103
|
-
}
|
|
76104
|
-
}
|
|
76105
|
-
const byteLength = position + length;
|
|
76106
|
-
return {
|
|
76107
|
-
byteLength,
|
|
76108
|
-
contents: bytes.subarray(position, byteLength),
|
|
76109
|
-
raw: bytes.subarray(0, byteLength),
|
|
76110
|
-
};
|
|
76111
|
-
}
|
|
76112
|
-
function spkiFromX509(buf) {
|
|
76113
|
-
const tbsCertificate = getElement(getElement(parseElement(buf).contents)[0].contents);
|
|
76114
|
-
return (0,_runtime_base64url_js__WEBPACK_IMPORTED_MODULE_0__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
|
|
76115
|
-
}
|
|
76116
|
-
function getSPKI(x509) {
|
|
76117
|
-
const pem = x509.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, '');
|
|
76118
|
-
const raw = (0,_runtime_base64url_js__WEBPACK_IMPORTED_MODULE_0__.decodeBase64)(pem);
|
|
76119
|
-
return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__["default"])(spkiFromX509(raw), 'PUBLIC KEY');
|
|
76120
|
-
}
|
|
76121
76075
|
async function importSPKI(spki, alg, options) {
|
|
76122
76076
|
if (typeof spki !== 'string' || spki.indexOf('-----BEGIN PUBLIC KEY-----') !== 0) {
|
|
76123
76077
|
throw new TypeError('"spki" must be SPKI formatted string');
|
|
@@ -76128,14 +76082,7 @@ async function importX509(x509, alg, options) {
|
|
|
76128
76082
|
if (typeof x509 !== 'string' || x509.indexOf('-----BEGIN CERTIFICATE-----') !== 0) {
|
|
76129
76083
|
throw new TypeError('"x509" must be X.509 formatted string');
|
|
76130
76084
|
}
|
|
76131
|
-
|
|
76132
|
-
try {
|
|
76133
|
-
spki = getSPKI(x509);
|
|
76134
|
-
}
|
|
76135
|
-
catch (cause) {
|
|
76136
|
-
throw new TypeError('failed to parse the X.509 certificate', { cause });
|
|
76137
|
-
}
|
|
76138
|
-
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);
|
|
76139
76086
|
}
|
|
76140
76087
|
async function importPKCS8(pkcs8, alg, options) {
|
|
76141
76088
|
if (typeof pkcs8 !== 'string' || pkcs8.indexOf('-----BEGIN PRIVATE KEY-----') !== 0) {
|
|
@@ -76145,13 +76092,10 @@ async function importPKCS8(pkcs8, alg, options) {
|
|
|
76145
76092
|
}
|
|
76146
76093
|
async function importJWK(jwk, alg, octAsKeyObject) {
|
|
76147
76094
|
var _a;
|
|
76148
|
-
if (!(0,
|
|
76095
|
+
if (!(0,_lib_is_object_js__WEBPACK_IMPORTED_MODULE_4__["default"])(jwk)) {
|
|
76149
76096
|
throw new TypeError('JWK must be an object');
|
|
76150
76097
|
}
|
|
76151
76098
|
alg || (alg = jwk.alg);
|
|
76152
|
-
if (typeof alg !== 'string' || !alg) {
|
|
76153
|
-
throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
|
|
76154
|
-
}
|
|
76155
76099
|
switch (jwk.kty) {
|
|
76156
76100
|
case 'oct':
|
|
76157
76101
|
if (typeof jwk.k !== 'string' || !jwk.k) {
|
|
@@ -76518,13 +76462,13 @@ function checkSigCryptoKey(key, alg, ...usages) {
|
|
|
76518
76462
|
throw unusable(`SHA-${expected}`, 'algorithm.hash');
|
|
76519
76463
|
break;
|
|
76520
76464
|
}
|
|
76521
|
-
case (0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA': {
|
|
76522
|
-
if (!isAlgorithm(key.algorithm, 'NODE-ED25519'))
|
|
76523
|
-
throw unusable('NODE-ED25519');
|
|
76524
|
-
break;
|
|
76525
|
-
}
|
|
76526
76465
|
case 'EdDSA': {
|
|
76527
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
|
+
}
|
|
76528
76472
|
throw unusable('Ed25519 or Ed448');
|
|
76529
76473
|
}
|
|
76530
76474
|
break;
|
|
@@ -77340,6 +77284,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
77340
77284
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77341
77285
|
/* harmony export */ "fromPKCS8": () => (/* binding */ fromPKCS8),
|
|
77342
77286
|
/* harmony export */ "fromSPKI": () => (/* binding */ fromSPKI),
|
|
77287
|
+
/* harmony export */ "fromX509": () => (/* binding */ fromX509),
|
|
77343
77288
|
/* harmony export */ "toPKCS8": () => (/* binding */ toPKCS8),
|
|
77344
77289
|
/* harmony export */ "toSPKI": () => (/* binding */ toSPKI)
|
|
77345
77290
|
/* harmony export */ });
|
|
@@ -77409,7 +77354,7 @@ const getNamedCurve = (keyData) => {
|
|
|
77409
77354
|
}
|
|
77410
77355
|
};
|
|
77411
77356
|
const genericImport = async (replace, keyFormat, pem, alg, options) => {
|
|
77412
|
-
var _a;
|
|
77357
|
+
var _a, _b;
|
|
77413
77358
|
let algorithm;
|
|
77414
77359
|
let keyUsages;
|
|
77415
77360
|
const keyData = new Uint8Array(atob(pem.replace(replace, ''))
|
|
@@ -77460,12 +77405,6 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
|
|
|
77460
77405
|
keyUsages = isPublic ? [] : ['deriveBits'];
|
|
77461
77406
|
break;
|
|
77462
77407
|
}
|
|
77463
|
-
case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA': {
|
|
77464
|
-
const namedCurve = getNamedCurve(keyData).toUpperCase();
|
|
77465
|
-
algorithm = { name: `NODE-${namedCurve}`, namedCurve: `NODE-${namedCurve}` };
|
|
77466
|
-
keyUsages = isPublic ? ['verify'] : ['sign'];
|
|
77467
|
-
break;
|
|
77468
|
-
}
|
|
77469
77408
|
case 'EdDSA':
|
|
77470
77409
|
algorithm = { name: getNamedCurve(keyData) };
|
|
77471
77410
|
keyUsages = isPublic ? ['verify'] : ['sign'];
|
|
@@ -77473,7 +77412,18 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
|
|
|
77473
77412
|
default:
|
|
77474
77413
|
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
|
|
77475
77414
|
}
|
|
77476
|
-
|
|
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
|
+
}
|
|
77477
77427
|
};
|
|
77478
77428
|
const fromPKCS8 = (pem, alg, options) => {
|
|
77479
77429
|
return genericImport(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g, 'pkcs8', pem, alg, options);
|
|
@@ -77481,6 +77431,84 @@ const fromPKCS8 = (pem, alg, options) => {
|
|
|
77481
77431
|
const fromSPKI = (pem, alg, options) => {
|
|
77482
77432
|
return genericImport(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g, 'spki', pem, alg, options);
|
|
77483
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
|
+
};
|
|
77484
77512
|
|
|
77485
77513
|
|
|
77486
77514
|
/***/ }),
|
|
@@ -78038,7 +78066,7 @@ function getModulusLengthOption(options) {
|
|
|
78038
78066
|
return modulusLength;
|
|
78039
78067
|
}
|
|
78040
78068
|
async function generateKeyPair(alg, options) {
|
|
78041
|
-
var _a, _b, _c;
|
|
78069
|
+
var _a, _b, _c, _d;
|
|
78042
78070
|
let algorithm;
|
|
78043
78071
|
let keyUsages;
|
|
78044
78072
|
switch (alg) {
|
|
@@ -78088,17 +78116,6 @@ async function generateKeyPair(alg, options) {
|
|
|
78088
78116
|
algorithm = { name: 'ECDSA', namedCurve: 'P-521' };
|
|
78089
78117
|
keyUsages = ['sign', 'verify'];
|
|
78090
78118
|
break;
|
|
78091
|
-
case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA':
|
|
78092
|
-
switch (options === null || options === void 0 ? void 0 : options.crv) {
|
|
78093
|
-
case undefined:
|
|
78094
|
-
case 'Ed25519':
|
|
78095
|
-
algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
78096
|
-
keyUsages = ['sign', 'verify'];
|
|
78097
|
-
break;
|
|
78098
|
-
default:
|
|
78099
|
-
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported crv option provided');
|
|
78100
|
-
}
|
|
78101
|
-
break;
|
|
78102
78119
|
case 'EdDSA':
|
|
78103
78120
|
keyUsages = ['sign', 'verify'];
|
|
78104
78121
|
const crv = (_a = options === null || options === void 0 ? void 0 : options.crv) !== null && _a !== void 0 ? _a : 'Ed25519';
|
|
@@ -78136,7 +78153,18 @@ async function generateKeyPair(alg, options) {
|
|
|
78136
78153
|
default:
|
|
78137
78154
|
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
78138
78155
|
}
|
|
78139
|
-
|
|
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
|
+
}
|
|
78140
78168
|
}
|
|
78141
78169
|
|
|
78142
78170
|
|
|
@@ -78316,19 +78344,6 @@ function subtleMapping(jwk) {
|
|
|
78316
78344
|
}
|
|
78317
78345
|
break;
|
|
78318
78346
|
}
|
|
78319
|
-
case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'OKP':
|
|
78320
|
-
if (jwk.alg !== 'EdDSA') {
|
|
78321
|
-
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
78322
|
-
}
|
|
78323
|
-
switch (jwk.crv) {
|
|
78324
|
-
case 'Ed25519':
|
|
78325
|
-
algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
|
|
78326
|
-
keyUsages = jwk.d ? ['sign'] : ['verify'];
|
|
78327
|
-
break;
|
|
78328
|
-
default:
|
|
78329
|
-
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
|
|
78330
|
-
}
|
|
78331
|
-
break;
|
|
78332
78347
|
case 'OKP': {
|
|
78333
78348
|
switch (jwk.alg) {
|
|
78334
78349
|
case 'EdDSA':
|
|
@@ -78354,6 +78369,9 @@ function subtleMapping(jwk) {
|
|
|
78354
78369
|
}
|
|
78355
78370
|
const parse = async (jwk) => {
|
|
78356
78371
|
var _a, _b;
|
|
78372
|
+
if (!jwk.alg) {
|
|
78373
|
+
throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
|
|
78374
|
+
}
|
|
78357
78375
|
const { algorithm, keyUsages } = subtleMapping(jwk);
|
|
78358
78376
|
const rest = [
|
|
78359
78377
|
algorithm,
|
|
@@ -78366,7 +78384,18 @@ const parse = async (jwk) => {
|
|
|
78366
78384
|
const keyData = { ...jwk };
|
|
78367
78385
|
delete keyData.alg;
|
|
78368
78386
|
delete keyData.use;
|
|
78369
|
-
|
|
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
|
+
}
|
|
78370
78399
|
};
|
|
78371
78400
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parse);
|
|
78372
78401
|
|
|
@@ -78631,10 +78660,10 @@ function subtleDsa(alg, algorithm) {
|
|
|
78631
78660
|
case 'ES384':
|
|
78632
78661
|
case 'ES512':
|
|
78633
78662
|
return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };
|
|
78634
|
-
case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA':
|
|
78635
|
-
const { namedCurve } = algorithm;
|
|
78636
|
-
return { name: namedCurve, namedCurve };
|
|
78637
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
|
+
}
|
|
78638
78667
|
return { name: algorithm.name };
|
|
78639
78668
|
default:
|
|
78640
78669
|
throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
|
|
@@ -79058,6 +79087,7 @@ class JWKSMultipleMatchingKeys extends JOSEError {
|
|
|
79058
79087
|
return 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';
|
|
79059
79088
|
}
|
|
79060
79089
|
}
|
|
79090
|
+
Symbol.asyncIterator;
|
|
79061
79091
|
class JWKSTimeout extends JOSEError {
|
|
79062
79092
|
constructor() {
|
|
79063
79093
|
super(...arguments);
|