oidc-spa 8.6.17 → 8.6.18
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/README.md +11 -8
- package/core/createOidc.js +6 -1
- package/core/createOidc.js.map +1 -1
- package/core/loginOrGoToAuthServer.js +0 -7
- package/core/loginOrGoToAuthServer.js.map +1 -1
- package/core/loginSilent.js +0 -8
- package/core/loginSilent.js.map +1 -1
- package/esm/core/createOidc.mjs +6 -1
- package/esm/core/createOidc.mjs.map +1 -1
- package/esm/core/loginOrGoToAuthServer.mjs +0 -7
- package/esm/core/loginOrGoToAuthServer.mjs.map +1 -1
- package/esm/core/loginSilent.mjs +0 -8
- package/esm/core/loginSilent.mjs.map +1 -1
- package/esm/tools/loadWebcryptoLinerShim.d.ts +1 -0
- package/esm/tools/loadWebcryptoLinerShim.mjs +9 -0
- package/esm/tools/loadWebcryptoLinerShim.mjs.map +1 -0
- package/esm/vendor/frontend/webcrypto-liner-shim.d.ts +2 -0
- package/esm/vendor/frontend/webcrypto-liner-shim.mjs +23977 -0
- package/package.json +1 -1
- package/src/core/createOidc.ts +6 -0
- package/src/core/loginOrGoToAuthServer.ts +0 -10
- package/src/core/loginSilent.ts +0 -11
- package/src/tools/loadWebcryptoLinerShim.ts +11 -0
- package/src/vendor/frontend/webcrypto-liner-shim.ts +3 -0
- package/tools/loadWebcryptoLinerShim.d.ts +1 -0
- package/tools/loadWebcryptoLinerShim.js +45 -0
- package/tools/loadWebcryptoLinerShim.js.map +1 -0
- package/vendor/frontend/webcrypto-liner-shim.d.ts +2 -0
- package/vendor/frontend/webcrypto-liner-shim.js +3 -0
package/package.json
CHANGED
package/src/core/createOidc.ts
CHANGED
|
@@ -59,6 +59,7 @@ import {
|
|
|
59
59
|
getIsStateDataCookieEnabled
|
|
60
60
|
} from "./StateDataCookie";
|
|
61
61
|
import { getIsTokenSubstitutionEnabled } from "./tokenPlaceholderSubstitution";
|
|
62
|
+
import { loadWebcryptoLinerShim } from "../tools/loadWebcryptoLinerShim";
|
|
62
63
|
|
|
63
64
|
// NOTE: Replaced at build time
|
|
64
65
|
const VERSION = "{{OIDC_SPA_VERSION}}";
|
|
@@ -388,6 +389,11 @@ export async function createOidc_nonMemoized<
|
|
|
388
389
|
|
|
389
390
|
const { issuerUri, clientId, configId, log } = preProcessedParams;
|
|
390
391
|
|
|
392
|
+
if (window.crypto.subtle === undefined) {
|
|
393
|
+
log?.("window.crypto.subtle not present, lazily loading polyfills.");
|
|
394
|
+
await loadWebcryptoLinerShim();
|
|
395
|
+
}
|
|
396
|
+
|
|
391
397
|
const getExtraQueryParams = (() => {
|
|
392
398
|
if (extraQueryParamsOrGetter === undefined) {
|
|
393
399
|
return undefined;
|
|
@@ -356,16 +356,6 @@ export function createLoginOrGoToAuthServer(params: {
|
|
|
356
356
|
error => {
|
|
357
357
|
assert(error instanceof Error, "393430");
|
|
358
358
|
|
|
359
|
-
if (error.message.includes("Crypto.subtle is available only in secure contexts")) {
|
|
360
|
-
throw new Error(
|
|
361
|
-
[
|
|
362
|
-
`oidc-spa: ${error.message}.`,
|
|
363
|
-
"\nTo fix this error see:",
|
|
364
|
-
"https://docs.oidc-spa.dev/v/v8/resources/fixing-crypto.subtle-is-available-only-in-secure-contexts-https"
|
|
365
|
-
].join(" ")
|
|
366
|
-
);
|
|
367
|
-
}
|
|
368
|
-
|
|
369
359
|
assert(false, `This is a bug in oidc-spa, please report: ${error.message}`);
|
|
370
360
|
}
|
|
371
361
|
);
|
package/src/core/loginSilent.ts
CHANGED
|
@@ -207,17 +207,6 @@ export async function loginSilent(params: {
|
|
|
207
207
|
return;
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
if (error.message.includes("Crypto.subtle is available only in secure contexts")) {
|
|
211
|
-
clearTimeouts({ wasSuccess: false });
|
|
212
|
-
throw new Error(
|
|
213
|
-
[
|
|
214
|
-
`oidc-spa: ${error.message}.`,
|
|
215
|
-
"\nTo fix this error see:",
|
|
216
|
-
"https://docs.oidc-spa.dev/v/v8/resources/fixing-crypto.subtle-is-available-only-in-secure-contexts-https"
|
|
217
|
-
].join(" ")
|
|
218
|
-
);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
210
|
assert(false, `This is a bug in oidc-spa, please report: ${error.message}`);
|
|
222
211
|
}
|
|
223
212
|
);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
let prLoaded: Promise<void> | undefined = undefined;
|
|
2
|
+
|
|
3
|
+
export function loadWebcryptoLinerShim() {
|
|
4
|
+
if (prLoaded !== undefined) {
|
|
5
|
+
return prLoaded;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
prLoaded = import("../vendor/frontend/webcrypto-liner-shim").then(() => {});
|
|
9
|
+
|
|
10
|
+
return prLoaded;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function loadWebcryptoLinerShim(): Promise<void>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.loadWebcryptoLinerShim = loadWebcryptoLinerShim;
|
|
37
|
+
let prLoaded = undefined;
|
|
38
|
+
function loadWebcryptoLinerShim() {
|
|
39
|
+
if (prLoaded !== undefined) {
|
|
40
|
+
return prLoaded;
|
|
41
|
+
}
|
|
42
|
+
prLoaded = Promise.resolve().then(() => __importStar(require("../vendor/frontend/webcrypto-liner-shim"))).then(() => { });
|
|
43
|
+
return prLoaded;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=loadWebcryptoLinerShim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadWebcryptoLinerShim.js","sourceRoot":"","sources":["../src/tools/loadWebcryptoLinerShim.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wDAQC;AAVD,IAAI,QAAQ,GAA8B,SAAS,CAAC;AAEpD,SAAgB,sBAAsB;IAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,QAAQ,GAAG,kDAAO,yCAAyC,IAAE,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE5E,OAAO,QAAQ,CAAC;AACpB,CAAC"}
|