oidc-spa 7.1.9 → 7.2.0-rc.1
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/backend.js +235 -352
- package/backend.js.map +1 -1
- package/core/AuthResponse.js +12 -49
- package/core/AuthResponse.js.map +1 -1
- package/core/Oidc.d.ts +1 -2
- package/core/OidcInitializationError.d.ts +2 -2
- package/core/OidcInitializationError.js +230 -297
- package/core/OidcInitializationError.js.map +1 -1
- package/core/OidcMetadata.js +1 -1
- package/core/OidcMetadata.js.map +1 -1
- package/core/StateData.d.ts +5 -5
- package/core/StateData.js +25 -25
- package/core/StateData.js.map +1 -1
- package/core/configId.js +1 -1
- package/core/configId.js.map +1 -1
- package/core/createOidc.d.ts +8 -0
- package/core/createOidc.js +999 -1294
- package/core/createOidc.js.map +1 -1
- package/core/evtIsUserActive.js +26 -27
- package/core/evtIsUserActive.js.map +1 -1
- package/core/handleOidcCallback.js +99 -154
- package/core/handleOidcCallback.js.map +1 -1
- package/core/iframeMessageProtection.d.ts +1 -1
- package/core/iframeMessageProtection.js +43 -108
- package/core/iframeMessageProtection.js.map +1 -1
- package/core/index.d.ts +1 -1
- package/core/index.js +3 -3
- package/core/index.js.map +1 -1
- package/core/initialLocationHref.js +1 -1
- package/core/initialLocationHref.js.map +1 -1
- package/core/isNewBrowserSession.js +8 -8
- package/core/isNewBrowserSession.js.map +1 -1
- package/core/loginOrGoToAuthServer.d.ts +1 -1
- package/core/loginOrGoToAuthServer.js +188 -310
- package/core/loginOrGoToAuthServer.js.map +1 -1
- package/core/loginPropagationToOtherTabs.js +15 -16
- package/core/loginPropagationToOtherTabs.js.map +1 -1
- package/core/loginSilent.d.ts +2 -3
- package/core/loginSilent.js +118 -214
- package/core/loginSilent.js.map +1 -1
- package/core/logoutPropagationToOtherTabs.js +15 -16
- package/core/logoutPropagationToOtherTabs.js.map +1 -1
- package/core/oidcClientTsUserToTokens.d.ts +1 -1
- package/core/oidcClientTsUserToTokens.js +75 -72
- package/core/oidcClientTsUserToTokens.js.map +1 -1
- package/core/ongoingLoginOrRefreshProcesses.js +23 -89
- package/core/ongoingLoginOrRefreshProcesses.js.map +1 -1
- package/core/persistedAuthState.js +13 -13
- package/core/persistedAuthState.js.map +1 -1
- package/entrypoint.js +9 -9
- package/entrypoint.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/keycloak/index.d.ts +3 -0
- package/keycloak/index.js +8 -0
- package/keycloak/index.js.map +1 -0
- package/keycloak/isKeycloak.d.ts +3 -0
- package/keycloak/isKeycloak.js +20 -0
- package/keycloak/isKeycloak.js.map +1 -0
- package/keycloak/keycloak-js/Keycloak.d.ts +284 -0
- package/keycloak/keycloak-js/Keycloak.js +778 -0
- package/keycloak/keycloak-js/Keycloak.js.map +1 -0
- package/keycloak/keycloak-js/index.d.ts +2 -0
- package/keycloak/keycloak-js/index.js +6 -0
- package/keycloak/keycloak-js/index.js.map +1 -0
- package/keycloak/keycloak-js/types.d.ts +361 -0
- package/keycloak/keycloak-js/types.js +3 -0
- package/keycloak/keycloak-js/types.js.map +1 -0
- package/keycloak/keycloakIssuerUriParsed.d.ts +9 -0
- package/keycloak/keycloakIssuerUriParsed.js +19 -0
- package/keycloak/keycloakIssuerUriParsed.js.map +1 -0
- package/keycloak/keycloakUtils.d.ts +37 -0
- package/keycloak/keycloakUtils.js +47 -0
- package/keycloak/keycloakUtils.js.map +1 -0
- package/keycloak-js.d.ts +1 -0
- package/keycloak-js.js +18 -0
- package/keycloak-js.js.map +1 -0
- package/mock/oidc.js +147 -194
- package/mock/oidc.js.map +1 -1
- package/mock/react.js +2 -2
- package/mock/react.js.map +1 -1
- package/package.json +38 -9
- package/react/react.js +133 -244
- package/react/react.js.map +1 -1
- package/src/core/AuthResponse.ts +2 -0
- package/src/core/Oidc.ts +1 -2
- package/src/core/OidcInitializationError.ts +30 -30
- package/src/core/OidcMetadata.ts +1 -1
- package/src/core/StateData.ts +24 -24
- package/src/core/createOidc.ts +24 -31
- package/src/core/handleOidcCallback.ts +44 -23
- package/src/core/iframeMessageProtection.ts +11 -10
- package/src/core/index.ts +1 -1
- package/src/core/loginOrGoToAuthServer.ts +1 -1
- package/src/core/loginSilent.ts +14 -11
- package/src/core/oidcClientTsUserToTokens.ts +1 -1
- package/src/index.ts +1 -7
- package/src/keycloak/index.ts +8 -0
- package/src/keycloak/isKeycloak.ts +23 -0
- package/src/keycloak/keycloak-js/Keycloak.ts +1097 -0
- package/src/keycloak/keycloak-js/index.ts +2 -0
- package/src/keycloak/keycloak-js/types.ts +442 -0
- package/src/keycloak/keycloakIssuerUriParsed.ts +29 -0
- package/src/keycloak/keycloakUtils.ts +90 -0
- package/src/keycloak-js.ts +1 -0
- package/src/react/react.tsx +17 -1
- package/src/tools/decodeJwt.ts +95 -2
- package/src/tools/parseKeycloakIssuerUri.ts +11 -30
- package/src/vendor/frontend/oidc-client-ts.ts +1 -0
- package/src/vendor/frontend/tsafe.ts +1 -0
- package/tools/Deferred.js +13 -35
- package/tools/Deferred.js.map +1 -1
- package/tools/EphemeralSessionStorage.js +46 -48
- package/tools/EphemeralSessionStorage.js.map +1 -1
- package/tools/Evt.js +14 -14
- package/tools/Evt.js.map +1 -1
- package/tools/StatefulEvt.js +5 -5
- package/tools/StatefulEvt.js.map +1 -1
- package/tools/asymmetricEncryption.js +81 -172
- package/tools/asymmetricEncryption.js.map +1 -1
- package/tools/base64.js +2 -2
- package/tools/base64.js.map +1 -1
- package/tools/createObjectThatThrowsIfAccessed.js +13 -61
- package/tools/createObjectThatThrowsIfAccessed.js.map +1 -1
- package/tools/decodeJwt.d.ts +25 -2
- package/tools/decodeJwt.js +61 -3
- package/tools/decodeJwt.js.map +1 -1
- package/tools/generateUrlSafeRandom.js +5 -30
- package/tools/generateUrlSafeRandom.js.map +1 -1
- package/tools/getDownlinkAndRtt.js +8 -30
- package/tools/getDownlinkAndRtt.js.map +1 -1
- package/tools/getIsOnline.js +3 -3
- package/tools/getIsOnline.js.map +1 -1
- package/tools/getIsValidRemoteJson.js +12 -59
- package/tools/getIsValidRemoteJson.js.map +1 -1
- package/tools/getPrUserInteraction.js +4 -4
- package/tools/getPrUserInteraction.js.map +1 -1
- package/tools/getUserEnvironmentInfo.js +17 -12
- package/tools/getUserEnvironmentInfo.js.map +1 -1
- package/tools/haveSharedParentDomain.js +5 -5
- package/tools/haveSharedParentDomain.js.map +1 -1
- package/tools/isDev.js +2 -2
- package/tools/isDev.js.map +1 -1
- package/tools/parseKeycloakIssuerUri.d.ts +2 -0
- package/tools/parseKeycloakIssuerUri.js +11 -42
- package/tools/parseKeycloakIssuerUri.js.map +1 -1
- package/tools/readExpirationTimeInJwt.js +4 -4
- package/tools/readExpirationTimeInJwt.js.map +1 -1
- package/tools/startCountdown.js +17 -65
- package/tools/startCountdown.js.map +1 -1
- package/tools/subscribeToUserInteraction.js +17 -66
- package/tools/subscribeToUserInteraction.js.map +1 -1
- package/tools/toFullyQualifiedUrl.js +7 -7
- package/tools/toFullyQualifiedUrl.js.map +1 -1
- package/tools/toHumanReadableDuration.js +13 -13
- package/tools/toHumanReadableDuration.js.map +1 -1
- package/tools/urlSearchParams.js +28 -50
- package/tools/urlSearchParams.js.map +1 -1
- package/tools/workerTimers.js +10 -10
- package/tools/workerTimers.js.map +1 -1
- package/vendor/frontend/oidc-client-ts.d.ts +1 -0
- package/vendor/frontend/oidc-client-ts.js +3686 -0
- package/vendor/frontend/tsafe.d.ts +1 -0
- package/vendor/frontend/tsafe.js +1 -1
- package/core/trustedFetch.d.ts +0 -2
- package/core/trustedFetch.js +0 -12
- package/core/trustedFetch.js.map +0 -1
- package/src/core/trustedFetch.ts +0 -9
- package/src/vendor/frontend/oidc-client-ts-and-jwt-decode.ts +0 -4
- package/vendor/frontend/oidc-client-ts-and-jwt-decode.d.ts +0 -3
- package/vendor/frontend/oidc-client-ts-and-jwt-decode.js +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginPropagationToOtherTabs.js","sourceRoot":"","sources":["../src/core/loginPropagationToOtherTabs.ts"],"names":[],"mappings":";;AAiBA,wDASC;AAED,gDAsBC;AAlDD,
|
|
1
|
+
{"version":3,"file":"loginPropagationToOtherTabs.js","sourceRoot":"","sources":["../src/core/loginPropagationToOtherTabs.ts"],"names":[],"mappings":";;AAiBA,wDASC;AAED,gDAsBC;AAlDD,oDAAsD;AACtD,gDAA6C;AAE7C,MAAM,aAAa,GAAG;IAClB,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;CACrD,CAAC;AAOF,SAAS,cAAc,CAAC,MAA4B;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC5B,OAAO,8BAA8B,QAAQ,EAAE,CAAC;AACpD,CAAC;AAED,SAAgB,sBAAsB,CAAC,MAA4B;IAC/D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE5B,MAAM,OAAO,GAAY;QACrB,QAAQ;QACR,aAAa,EAAE,aAAa,CAAC,aAAa;KAC7C,CAAC;IAEF,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC5E,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAA4B;IAC3D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE5B,MAAM,cAAc,GAAG,IAAI,mBAAQ,EAAQ,CAAC;IAE5C,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEnE,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,IAAA,cAAM,EAAC,IAAA,UAAE,EAAU,OAAO,CAAC,CAAC,CAAC;QAE7B,IAAI,OAAO,CAAC,aAAa,KAAK,aAAa,CAAC,aAAa,EAAE,CAAC;YACxD,OAAO;QACX,CAAC;QAED,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,cAAc,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,cAAc,CAAC,EAAE,CAAC;IAE1C,OAAO,EAAE,eAAe,EAAE,CAAC;AAC/B,CAAC"}
|
package/core/loginSilent.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { UserManager as OidcClientTsUserManager } from "../vendor/frontend/oidc-client-ts
|
|
2
|
-
import type { User as OidcClientTsUser } from "../vendor/frontend/oidc-client-ts-and-jwt-decode";
|
|
1
|
+
import type { UserManager as OidcClientTsUserManager, User as OidcClientTsUser } from "../vendor/frontend/oidc-client-ts";
|
|
3
2
|
import { type AuthResponse } from "./AuthResponse";
|
|
4
3
|
type ResultOfLoginSilent = {
|
|
5
4
|
outcome: "got auth response from iframe";
|
|
@@ -13,7 +12,7 @@ type ResultOfLoginSilent = {
|
|
|
13
12
|
};
|
|
14
13
|
export declare function loginSilent(params: {
|
|
15
14
|
oidcClientTsUserManager: OidcClientTsUserManager;
|
|
16
|
-
|
|
15
|
+
stateUrlParamValue_instance: string;
|
|
17
16
|
configId: string;
|
|
18
17
|
transformUrlBeforeRedirect: ((params: {
|
|
19
18
|
authorizationUrl: string;
|
package/core/loginSilent.js
CHANGED
|
@@ -1,224 +1,128 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loginSilent = loginSilent;
|
|
4
|
+
const Deferred_1 = require("../tools/Deferred");
|
|
5
|
+
const tsafe_1 = require("../vendor/frontend/tsafe");
|
|
6
|
+
const StateData_1 = require("./StateData");
|
|
7
|
+
const getDownlinkAndRtt_1 = require("../tools/getDownlinkAndRtt");
|
|
8
|
+
const isDev_1 = require("../tools/isDev");
|
|
9
|
+
const urlSearchParams_1 = require("../tools/urlSearchParams");
|
|
10
|
+
const iframeMessageProtection_1 = require("./iframeMessageProtection");
|
|
11
|
+
async function loginSilent(params) {
|
|
12
|
+
const { oidcClientTsUserManager, stateUrlParamValue_instance, configId, transformUrlBeforeRedirect, getExtraQueryParams, getExtraTokenParams, autoLogin } = params;
|
|
13
|
+
const dResult = new Deferred_1.Deferred();
|
|
14
|
+
const timeoutDelayMs = (() => {
|
|
15
|
+
if (autoLogin) {
|
|
16
|
+
return 25000;
|
|
17
|
+
}
|
|
18
|
+
const downlinkAndRtt = (0, getDownlinkAndRtt_1.getDownlinkAndRtt)();
|
|
19
|
+
const isDev = (0, isDev_1.getIsDev)();
|
|
20
|
+
// Base delay is the minimum delay we should wait in any case
|
|
21
|
+
const BASE_DELAY_MS = isDev ? 9000 : 7000;
|
|
22
|
+
if (downlinkAndRtt === undefined) {
|
|
23
|
+
return BASE_DELAY_MS;
|
|
24
|
+
}
|
|
25
|
+
const { downlink, rtt } = downlinkAndRtt;
|
|
26
|
+
// Calculate dynamic delay based on RTT and downlink
|
|
27
|
+
// Add 1 to downlink to avoid division by zero
|
|
28
|
+
const dynamicDelay = rtt * 2.5 + BASE_DELAY_MS / (downlink + 1);
|
|
29
|
+
return Math.max(BASE_DELAY_MS, dynamicDelay);
|
|
30
|
+
})();
|
|
31
|
+
const { decodeEncryptedAuth, getIsEncryptedAuthResponse, clearSessionStoragePublicKey } = await (0, iframeMessageProtection_1.initIframeMessageProtection)({
|
|
32
|
+
stateUrlParamValue: stateUrlParamValue_instance
|
|
9
33
|
});
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __values = (this && this.__values) || function(o) {
|
|
39
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
40
|
-
if (m) return m.call(o);
|
|
41
|
-
if (o && typeof o.length === "number") return {
|
|
42
|
-
next: function () {
|
|
43
|
-
if (o && i >= o.length) o = void 0;
|
|
44
|
-
return { value: o && o[i++], done: !o };
|
|
34
|
+
const timer = setTimeout(async () => {
|
|
35
|
+
dResult.resolve({
|
|
36
|
+
outcome: "failure",
|
|
37
|
+
cause: "timeout"
|
|
38
|
+
});
|
|
39
|
+
}, timeoutDelayMs);
|
|
40
|
+
const listener = async (event) => {
|
|
41
|
+
if (event.origin !== window.location.origin) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (!getIsEncryptedAuthResponse({
|
|
45
|
+
message: event.data
|
|
46
|
+
})) {
|
|
47
|
+
return;
|
|
45
48
|
}
|
|
49
|
+
const { authResponse } = await decodeEncryptedAuth({ encryptedAuthResponse: event.data });
|
|
50
|
+
const stateData = (0, StateData_1.getStateData)({ stateUrlParamValue: authResponse.state });
|
|
51
|
+
(0, tsafe_1.assert)(stateData !== undefined, "765645");
|
|
52
|
+
(0, tsafe_1.assert)(stateData.context === "iframe", "250711");
|
|
53
|
+
if (stateData.configId !== configId) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
clearTimeout(timer);
|
|
57
|
+
window.removeEventListener("message", listener);
|
|
58
|
+
dResult.resolve({
|
|
59
|
+
outcome: "got auth response from iframe",
|
|
60
|
+
authResponse
|
|
61
|
+
});
|
|
46
62
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
63
|
+
window.addEventListener("message", listener, false);
|
|
64
|
+
const transformUrl_oidcClientTs = (url) => {
|
|
65
|
+
add_extra_query_params: {
|
|
66
|
+
if (getExtraQueryParams === undefined) {
|
|
67
|
+
break add_extra_query_params;
|
|
68
|
+
}
|
|
69
|
+
const extraQueryParams = getExtraQueryParams({ isSilent: true, url });
|
|
70
|
+
for (const [name, value] of Object.entries(extraQueryParams)) {
|
|
71
|
+
if (value === undefined) {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
url = (0, urlSearchParams_1.addOrUpdateSearchParam)({ url, name, value, encodeMethod: "www-form" });
|
|
75
|
+
}
|
|
60
76
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
};
|
|
65
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
|
-
exports.loginSilent = loginSilent;
|
|
67
|
-
var Deferred_1 = require("../tools/Deferred");
|
|
68
|
-
var tsafe_1 = require("../vendor/frontend/tsafe");
|
|
69
|
-
var StateData_1 = require("./StateData");
|
|
70
|
-
var getDownlinkAndRtt_1 = require("../tools/getDownlinkAndRtt");
|
|
71
|
-
var isDev_1 = require("../tools/isDev");
|
|
72
|
-
var urlSearchParams_1 = require("../tools/urlSearchParams");
|
|
73
|
-
var iframeMessageProtection_1 = require("./iframeMessageProtection");
|
|
74
|
-
function loginSilent(params) {
|
|
75
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
76
|
-
var oidcClientTsUserManager, stateQueryParamValue_instance, configId, transformUrlBeforeRedirect, getExtraQueryParams, getExtraTokenParams, autoLogin, dResult, timeoutDelayMs, _a, decodeEncryptedAuth, getIsEncryptedAuthResponse, clearSessionStoragePublicKey, timeout, listener, transformUrl_oidcClientTs;
|
|
77
|
-
var _this = this;
|
|
78
|
-
return __generator(this, function (_b) {
|
|
79
|
-
switch (_b.label) {
|
|
80
|
-
case 0:
|
|
81
|
-
oidcClientTsUserManager = params.oidcClientTsUserManager, stateQueryParamValue_instance = params.stateQueryParamValue_instance, configId = params.configId, transformUrlBeforeRedirect = params.transformUrlBeforeRedirect, getExtraQueryParams = params.getExtraQueryParams, getExtraTokenParams = params.getExtraTokenParams, autoLogin = params.autoLogin;
|
|
82
|
-
dResult = new Deferred_1.Deferred();
|
|
83
|
-
timeoutDelayMs = (function () {
|
|
84
|
-
if (autoLogin) {
|
|
85
|
-
return 25000;
|
|
86
|
-
}
|
|
87
|
-
var downlinkAndRtt = (0, getDownlinkAndRtt_1.getDownlinkAndRtt)();
|
|
88
|
-
var isDev = (0, isDev_1.getIsDev)();
|
|
89
|
-
// Base delay is the minimum delay we should wait in any case
|
|
90
|
-
var BASE_DELAY_MS = isDev ? 9000 : 7000;
|
|
91
|
-
if (downlinkAndRtt === undefined) {
|
|
92
|
-
return BASE_DELAY_MS;
|
|
93
|
-
}
|
|
94
|
-
var downlink = downlinkAndRtt.downlink, rtt = downlinkAndRtt.rtt;
|
|
95
|
-
// Calculate dynamic delay based on RTT and downlink
|
|
96
|
-
// Add 1 to downlink to avoid division by zero
|
|
97
|
-
var dynamicDelay = rtt * 2.5 + BASE_DELAY_MS / (downlink + 1);
|
|
98
|
-
return Math.max(BASE_DELAY_MS, dynamicDelay);
|
|
99
|
-
})();
|
|
100
|
-
return [4 /*yield*/, (0, iframeMessageProtection_1.initIframeMessageProtection)({
|
|
101
|
-
stateQueryParamValue: stateQueryParamValue_instance
|
|
102
|
-
})];
|
|
103
|
-
case 1:
|
|
104
|
-
_a = _b.sent(), decodeEncryptedAuth = _a.decodeEncryptedAuth, getIsEncryptedAuthResponse = _a.getIsEncryptedAuthResponse, clearSessionStoragePublicKey = _a.clearSessionStoragePublicKey;
|
|
105
|
-
timeout = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
106
|
-
return __generator(this, function (_a) {
|
|
107
|
-
dResult.resolve({
|
|
108
|
-
outcome: "failure",
|
|
109
|
-
cause: "timeout"
|
|
110
|
-
});
|
|
111
|
-
return [2 /*return*/];
|
|
112
|
-
});
|
|
113
|
-
}); }, timeoutDelayMs);
|
|
114
|
-
listener = function (event) { return __awaiter(_this, void 0, void 0, function () {
|
|
115
|
-
var authResponse, stateData;
|
|
116
|
-
return __generator(this, function (_a) {
|
|
117
|
-
switch (_a.label) {
|
|
118
|
-
case 0:
|
|
119
|
-
if (event.origin !== window.location.origin) {
|
|
120
|
-
return [2 /*return*/];
|
|
121
|
-
}
|
|
122
|
-
if (!getIsEncryptedAuthResponse({
|
|
123
|
-
message: event.data
|
|
124
|
-
})) {
|
|
125
|
-
return [2 /*return*/];
|
|
126
|
-
}
|
|
127
|
-
return [4 /*yield*/, decodeEncryptedAuth({ encryptedAuthResponse: event.data })];
|
|
128
|
-
case 1:
|
|
129
|
-
authResponse = (_a.sent()).authResponse;
|
|
130
|
-
stateData = (0, StateData_1.getStateData)({ stateQueryParamValue: authResponse.state });
|
|
131
|
-
(0, tsafe_1.assert)(stateData !== undefined, "765645");
|
|
132
|
-
(0, tsafe_1.assert)(stateData.context === "iframe", "250711");
|
|
133
|
-
if (stateData.configId !== configId) {
|
|
134
|
-
return [2 /*return*/];
|
|
135
|
-
}
|
|
136
|
-
clearTimeout(timeout);
|
|
137
|
-
window.removeEventListener("message", listener);
|
|
138
|
-
dResult.resolve({
|
|
139
|
-
outcome: "got auth response from iframe",
|
|
140
|
-
authResponse: authResponse
|
|
141
|
-
});
|
|
142
|
-
return [2 /*return*/];
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}); };
|
|
146
|
-
window.addEventListener("message", listener, false);
|
|
147
|
-
transformUrl_oidcClientTs = function (url) {
|
|
148
|
-
var e_1, _a;
|
|
149
|
-
add_extra_query_params: {
|
|
150
|
-
if (getExtraQueryParams === undefined) {
|
|
151
|
-
break add_extra_query_params;
|
|
152
|
-
}
|
|
153
|
-
var extraQueryParams = getExtraQueryParams({ isSilent: true, url: url });
|
|
154
|
-
try {
|
|
155
|
-
for (var _b = __values(Object.entries(extraQueryParams)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
156
|
-
var _d = __read(_c.value, 2), name_1 = _d[0], value = _d[1];
|
|
157
|
-
if (value === undefined) {
|
|
158
|
-
continue;
|
|
159
|
-
}
|
|
160
|
-
url = (0, urlSearchParams_1.addOrUpdateSearchParam)({ url: url, name: name_1, value: value, encodeMethod: "www-form" });
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
164
|
-
finally {
|
|
165
|
-
try {
|
|
166
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
167
|
-
}
|
|
168
|
-
finally { if (e_1) throw e_1.error; }
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
apply_transform_url: {
|
|
172
|
-
if (transformUrlBeforeRedirect === undefined) {
|
|
173
|
-
break apply_transform_url;
|
|
174
|
-
}
|
|
175
|
-
url = transformUrlBeforeRedirect({ authorizationUrl: url, isSilent: true });
|
|
176
|
-
}
|
|
177
|
-
return url;
|
|
178
|
-
};
|
|
179
|
-
oidcClientTsUserManager
|
|
180
|
-
.signinSilent({
|
|
181
|
-
state: (0, tsafe_1.id)({
|
|
182
|
-
context: "iframe",
|
|
183
|
-
configId: configId
|
|
184
|
-
}),
|
|
185
|
-
silentRequestTimeoutInSeconds: timeoutDelayMs / 1000,
|
|
186
|
-
extraTokenParams: getExtraTokenParams === undefined ? undefined : (0, tsafe_1.noUndefined)(getExtraTokenParams()),
|
|
187
|
-
transformUrl: transformUrl_oidcClientTs
|
|
188
|
-
})
|
|
189
|
-
.then(function (oidcClientTsUser) {
|
|
190
|
-
(0, tsafe_1.assert)(oidcClientTsUser !== null, "oidcClientTsUser is not supposed to be null here");
|
|
191
|
-
clearTimeout(timeout);
|
|
192
|
-
dResult.resolve({
|
|
193
|
-
outcome: "token refreshed using refresh token",
|
|
194
|
-
oidcClientTsUser: oidcClientTsUser
|
|
195
|
-
});
|
|
196
|
-
}, function (error) {
|
|
197
|
-
if (error.message === "Failed to fetch") {
|
|
198
|
-
// NOTE: If we got an error here it means that the fetch to the
|
|
199
|
-
// well-known oidc endpoint failed.
|
|
200
|
-
// This usually means that the server is down or that the issuerUri
|
|
201
|
-
// is not pointing to a valid oidc server.
|
|
202
|
-
// It could be a CORS error on the well-known endpoint but it's unlikely.
|
|
203
|
-
clearTimeout(timeout);
|
|
204
|
-
dResult.resolve({
|
|
205
|
-
outcome: "failure",
|
|
206
|
-
cause: "can't reach well-known oidc endpoint"
|
|
207
|
-
});
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
// NOTE: Here, except error on our understanding there can't be any other
|
|
211
|
-
// error than timeout so we fail silently and let the timeout expire.
|
|
212
|
-
});
|
|
213
|
-
dResult.pr.then(function (result) {
|
|
214
|
-
clearSessionStoragePublicKey();
|
|
215
|
-
if (result.outcome === "failure") {
|
|
216
|
-
(0, StateData_1.clearStateStore)({ stateQueryParamValue: stateQueryParamValue_instance });
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
return [2 /*return*/, dResult.pr];
|
|
77
|
+
apply_transform_url: {
|
|
78
|
+
if (transformUrlBeforeRedirect === undefined) {
|
|
79
|
+
break apply_transform_url;
|
|
220
80
|
}
|
|
81
|
+
url = transformUrlBeforeRedirect({ authorizationUrl: url, isSilent: true });
|
|
82
|
+
}
|
|
83
|
+
return url;
|
|
84
|
+
};
|
|
85
|
+
oidcClientTsUserManager
|
|
86
|
+
.signinSilent({
|
|
87
|
+
state: (0, tsafe_1.id)({
|
|
88
|
+
context: "iframe",
|
|
89
|
+
configId
|
|
90
|
+
}),
|
|
91
|
+
silentRequestTimeoutInSeconds: timeoutDelayMs / 1000,
|
|
92
|
+
extraTokenParams: getExtraTokenParams === undefined ? undefined : (0, tsafe_1.noUndefined)(getExtraTokenParams()),
|
|
93
|
+
transformUrl: transformUrl_oidcClientTs
|
|
94
|
+
})
|
|
95
|
+
.then(oidcClientTsUser => {
|
|
96
|
+
(0, tsafe_1.assert)(oidcClientTsUser !== null, "oidcClientTsUser is not supposed to be null here");
|
|
97
|
+
clearTimeout(timer);
|
|
98
|
+
window.removeEventListener("message", listener);
|
|
99
|
+
dResult.resolve({
|
|
100
|
+
outcome: "token refreshed using refresh token",
|
|
101
|
+
oidcClientTsUser
|
|
221
102
|
});
|
|
103
|
+
}, (error) => {
|
|
104
|
+
if (error.message === "Failed to fetch") {
|
|
105
|
+
// NOTE: If we got an error here it means that the fetch to the
|
|
106
|
+
// well-known oidc endpoint failed.
|
|
107
|
+
// This usually means that the server is down or that the issuerUri
|
|
108
|
+
// is not pointing to a valid oidc server.
|
|
109
|
+
// It could be a CORS error on the well-known endpoint but it's unlikely.
|
|
110
|
+
clearTimeout(timer);
|
|
111
|
+
dResult.resolve({
|
|
112
|
+
outcome: "failure",
|
|
113
|
+
cause: "can't reach well-known oidc endpoint"
|
|
114
|
+
});
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
// NOTE: Here, except error on our understanding there can't be any other
|
|
118
|
+
// error than timeout so we fail silently and let the timeout expire.
|
|
119
|
+
});
|
|
120
|
+
dResult.pr.then(result => {
|
|
121
|
+
clearSessionStoragePublicKey();
|
|
122
|
+
if (result.outcome === "failure") {
|
|
123
|
+
(0, StateData_1.clearStateStore)({ stateUrlParamValue: stateUrlParamValue_instance });
|
|
124
|
+
}
|
|
222
125
|
});
|
|
126
|
+
return dResult.pr;
|
|
223
127
|
}
|
|
224
128
|
//# sourceMappingURL=loginSilent.js.map
|
package/core/loginSilent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginSilent.js","sourceRoot":"","sources":["../src/core/loginSilent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loginSilent.js","sourceRoot":"","sources":["../src/core/loginSilent.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,29 +2,28 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.notifyOtherTabsOfLogout = notifyOtherTabsOfLogout;
|
|
4
4
|
exports.getPrOtherTabLogout = getPrOtherTabLogout;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const tsafe_1 = require("../vendor/frontend/tsafe");
|
|
6
|
+
const Deferred_1 = require("../tools/Deferred");
|
|
7
|
+
const globalContext = {
|
|
8
8
|
appInstanceId: Math.random().toString(36).slice(2)
|
|
9
9
|
};
|
|
10
10
|
function getChannelName(params) {
|
|
11
|
-
|
|
12
|
-
return
|
|
11
|
+
const { sessionIdOrConfigId } = params;
|
|
12
|
+
return `oidc-spa:logout-propagation:${sessionIdOrConfigId}`;
|
|
13
13
|
}
|
|
14
14
|
function notifyOtherTabsOfLogout(params) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
configId
|
|
15
|
+
const { configId, sessionId } = params;
|
|
16
|
+
const message = {
|
|
17
|
+
configId,
|
|
18
18
|
appInstanceId: globalContext.appInstanceId
|
|
19
19
|
};
|
|
20
|
-
new BroadcastChannel(getChannelName({ sessionIdOrConfigId: sessionId
|
|
20
|
+
new BroadcastChannel(getChannelName({ sessionIdOrConfigId: sessionId ?? configId })).postMessage(message);
|
|
21
21
|
}
|
|
22
22
|
function getPrOtherTabLogout(params) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
channel.onmessage =
|
|
27
|
-
var message = _a.data;
|
|
23
|
+
const { sessionId, configId } = params;
|
|
24
|
+
const dOtherTabLogout = new Deferred_1.Deferred();
|
|
25
|
+
const channel = new BroadcastChannel(getChannelName({ sessionIdOrConfigId: sessionId ?? configId }));
|
|
26
|
+
channel.onmessage = ({ data: message }) => {
|
|
28
27
|
(0, tsafe_1.assert)((0, tsafe_1.is)(message));
|
|
29
28
|
if (message.appInstanceId === globalContext.appInstanceId) {
|
|
30
29
|
return;
|
|
@@ -32,7 +31,7 @@ function getPrOtherTabLogout(params) {
|
|
|
32
31
|
channel.close();
|
|
33
32
|
dOtherTabLogout.resolve();
|
|
34
33
|
};
|
|
35
|
-
|
|
36
|
-
return { prOtherTabLogout
|
|
34
|
+
const prOtherTabLogout = dOtherTabLogout.pr;
|
|
35
|
+
return { prOtherTabLogout };
|
|
37
36
|
}
|
|
38
37
|
//# sourceMappingURL=logoutPropagationToOtherTabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logoutPropagationToOtherTabs.js","sourceRoot":"","sources":["../src/core/logoutPropagationToOtherTabs.ts"],"names":[],"mappings":";;AAiBA,0DAWC;AAED,kDAsBC;AApDD,
|
|
1
|
+
{"version":3,"file":"logoutPropagationToOtherTabs.js","sourceRoot":"","sources":["../src/core/logoutPropagationToOtherTabs.ts"],"names":[],"mappings":";;AAiBA,0DAWC;AAED,kDAsBC;AApDD,oDAAsD;AACtD,gDAA6C;AAE7C,MAAM,aAAa,GAAG;IAClB,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;CACrD,CAAC;AAOF,SAAS,cAAc,CAAC,MAAuC;IAC3D,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC;IACvC,OAAO,+BAA+B,mBAAmB,EAAE,CAAC;AAChE,CAAC;AAED,SAAgB,uBAAuB,CAAC,MAA2D;IAC/F,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAEvC,MAAM,OAAO,GAAY;QACrB,QAAQ;QACR,aAAa,EAAE,aAAa,CAAC,aAAa;KAC7C,CAAC;IAEF,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,mBAAmB,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,CAC5F,OAAO,CACV,CAAC;AACN,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAA2D;IAC3F,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEvC,MAAM,eAAe,GAAG,IAAI,mBAAQ,EAAQ,CAAC;IAE7C,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,mBAAmB,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;IAErG,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,IAAA,cAAM,EAAC,IAAA,UAAE,EAAU,OAAO,CAAC,CAAC,CAAC;QAE7B,IAAI,OAAO,CAAC,aAAa,KAAK,aAAa,CAAC,aAAa,EAAE,CAAC;YACxD,OAAO;QACX,CAAC;QAED,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,eAAe,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC;IAE5C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { User as OidcClientTsUser } from "../vendor/frontend/oidc-client-ts
|
|
1
|
+
import type { User as OidcClientTsUser } from "../vendor/frontend/oidc-client-ts";
|
|
2
2
|
import type { Oidc } from "./Oidc";
|
|
3
3
|
export declare function oidcClientTsUserToTokens<DecodedIdToken extends Record<string, unknown>>(params: {
|
|
4
4
|
oidcClientTsUser: OidcClientTsUser;
|