oidc-spa 7.1.10 → 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 +40 -106
- 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 +7 -7
- 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,342 +1,220 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
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 __rest = (this && this.__rest) || function (s, e) {
|
|
39
|
-
var t = {};
|
|
40
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
41
|
-
t[p] = s[p];
|
|
42
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
43
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
44
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
45
|
-
t[p[i]] = s[p[i]];
|
|
46
|
-
}
|
|
47
|
-
return t;
|
|
48
|
-
};
|
|
49
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
50
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
51
|
-
if (!m) return o;
|
|
52
|
-
var i = m.call(o), r, ar = [], e;
|
|
53
|
-
try {
|
|
54
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
55
|
-
}
|
|
56
|
-
catch (error) { e = { error: error }; }
|
|
57
|
-
finally {
|
|
58
|
-
try {
|
|
59
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
60
|
-
}
|
|
61
|
-
finally { if (e) throw e.error; }
|
|
62
|
-
}
|
|
63
|
-
return ar;
|
|
64
|
-
};
|
|
65
|
-
var __values = (this && this.__values) || function(o) {
|
|
66
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
67
|
-
if (m) return m.call(o);
|
|
68
|
-
if (o && typeof o.length === "number") return {
|
|
69
|
-
next: function () {
|
|
70
|
-
if (o && i >= o.length) o = void 0;
|
|
71
|
-
return { value: o && o[i++], done: !o };
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
75
|
-
};
|
|
76
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
77
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
78
|
-
if (ar || !(i in from)) {
|
|
79
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
80
|
-
ar[i] = from[i];
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
84
|
-
};
|
|
85
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
86
3
|
exports.getPrSafelyRestoredFromBfCacheAfterLoginBackNavigation = getPrSafelyRestoredFromBfCacheAfterLoginBackNavigation;
|
|
87
4
|
exports.createLoginOrGoToAuthServer = createLoginOrGoToAuthServer;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
evtHasLoginBeenCalled: (0, StatefulEvt_1.createStatefulEvt)(
|
|
5
|
+
const toFullyQualifiedUrl_1 = require("../tools/toFullyQualifiedUrl");
|
|
6
|
+
const tsafe_1 = require("../vendor/frontend/tsafe");
|
|
7
|
+
const StatefulEvt_1 = require("../tools/StatefulEvt");
|
|
8
|
+
const Deferred_1 = require("../tools/Deferred");
|
|
9
|
+
const urlSearchParams_1 = require("../tools/urlSearchParams");
|
|
10
|
+
const globalContext = {
|
|
11
|
+
evtHasLoginBeenCalled: (0, StatefulEvt_1.createStatefulEvt)(() => false)
|
|
95
12
|
};
|
|
96
13
|
function getPrSafelyRestoredFromBfCacheAfterLoginBackNavigation() {
|
|
97
|
-
|
|
98
|
-
|
|
14
|
+
const dOut = new Deferred_1.Deferred();
|
|
15
|
+
const { unsubscribe } = globalContext.evtHasLoginBeenCalled.subscribe(hasLoginBeenCalled => {
|
|
99
16
|
if (!hasLoginBeenCalled) {
|
|
100
17
|
unsubscribe();
|
|
101
18
|
dOut.resolve();
|
|
102
19
|
}
|
|
103
|
-
})
|
|
20
|
+
});
|
|
104
21
|
return dOut.pr;
|
|
105
22
|
}
|
|
106
23
|
function createLoginOrGoToAuthServer(params) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
function loginOrGoToAuthServer(params) {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
24
|
+
const { configId, oidcClientTsUserManager, transformUrlBeforeRedirect, getExtraQueryParams, getExtraTokenParams, homeUrl, evtIsUserLoggedIn, log } = params;
|
|
25
|
+
const LOCAL_STORAGE_KEY_TO_CLEAR_WHEN_USER_LOGGED_IN = `oidc-spa.login-redirect-initiated:${configId}`;
|
|
26
|
+
let lastPublicUrl = undefined;
|
|
27
|
+
async function loginOrGoToAuthServer(params) {
|
|
28
|
+
const { redirectUrl: redirectUrl_params, extraQueryParams_local, transformUrlBeforeRedirect_local, ...rest } = params;
|
|
29
|
+
log?.(`Calling loginOrGoToAuthServer ${JSON.stringify(params, null, 2)}`);
|
|
30
|
+
login_specific_handling: {
|
|
31
|
+
if (rest.action !== "login") {
|
|
32
|
+
break login_specific_handling;
|
|
33
|
+
}
|
|
34
|
+
if (globalContext.evtHasLoginBeenCalled.current) {
|
|
35
|
+
log?.("login() has already been called, ignoring the call");
|
|
36
|
+
return new Promise(() => { });
|
|
37
|
+
}
|
|
38
|
+
globalContext.evtHasLoginBeenCalled.current = true;
|
|
39
|
+
if (document.visibilityState !== "visible") {
|
|
40
|
+
rest.interaction === "ensure no interaction";
|
|
41
|
+
const dVisible = new Deferred_1.Deferred();
|
|
42
|
+
const onVisible = () => {
|
|
43
|
+
if (document.visibilityState !== "visible") {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
document.removeEventListener("visibilitychange", onVisible);
|
|
47
|
+
dVisible.resolve();
|
|
48
|
+
};
|
|
49
|
+
document.addEventListener("visibilitychange", onVisible);
|
|
50
|
+
await dVisible.pr;
|
|
51
|
+
}
|
|
52
|
+
bf_cache_handling: {
|
|
53
|
+
if (rest.doForceReloadOnBfCache) {
|
|
54
|
+
window.removeEventListener("pageshow", () => {
|
|
55
|
+
location.reload();
|
|
56
|
+
});
|
|
57
|
+
break bf_cache_handling;
|
|
58
|
+
}
|
|
59
|
+
localStorage.setItem(LOCAL_STORAGE_KEY_TO_CLEAR_WHEN_USER_LOGGED_IN, "true");
|
|
60
|
+
const callback = () => {
|
|
61
|
+
window.removeEventListener("pageshow", callback);
|
|
62
|
+
log?.("We came back from the login pages and the state of the app has been restored");
|
|
63
|
+
if (rest.doNavigateBackToLastPublicUrlIfTheTheUserNavigateBack) {
|
|
64
|
+
if (lastPublicUrl !== undefined) {
|
|
65
|
+
log?.(`Loading last public route: ${lastPublicUrl}`);
|
|
66
|
+
window.location.href = lastPublicUrl;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
log?.("We don't know the last public route, navigating back in history");
|
|
70
|
+
window.history.back();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
log?.("The current page doesn't require auth...");
|
|
75
|
+
if (localStorage.getItem(LOCAL_STORAGE_KEY_TO_CLEAR_WHEN_USER_LOGGED_IN) === null) {
|
|
76
|
+
log?.("but the user is now authenticated, reloading the page");
|
|
77
|
+
location.reload();
|
|
120
78
|
}
|
|
121
|
-
|
|
122
|
-
log
|
|
123
|
-
|
|
79
|
+
else {
|
|
80
|
+
log?.("and the user doesn't seem to be authenticated, avoiding a reload");
|
|
81
|
+
globalContext.evtHasLoginBeenCalled.current = false;
|
|
124
82
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
window.addEventListener("pageshow", callback);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const redirectUrl = (0, toFullyQualifiedUrl_1.toFullyQualifiedUrl)({
|
|
89
|
+
urlish: redirectUrl_params,
|
|
90
|
+
doAssertNoQueryParams: false
|
|
91
|
+
});
|
|
92
|
+
log?.(`redirectUrl: ${redirectUrl}`);
|
|
93
|
+
const stateData = {
|
|
94
|
+
context: "redirect",
|
|
95
|
+
redirectUrl,
|
|
96
|
+
extraQueryParams: {},
|
|
97
|
+
hasBeenProcessedByCallback: false,
|
|
98
|
+
configId,
|
|
99
|
+
action: "login",
|
|
100
|
+
redirectUrl_consentRequiredCase: (() => {
|
|
101
|
+
switch (rest.action) {
|
|
102
|
+
case "login":
|
|
103
|
+
return lastPublicUrl ?? homeUrl;
|
|
104
|
+
case "go to auth server":
|
|
105
|
+
return redirectUrl;
|
|
106
|
+
}
|
|
107
|
+
})()
|
|
108
|
+
};
|
|
109
|
+
const isSilent = rest.action === "login" && rest.interaction === "ensure no interaction";
|
|
110
|
+
const transformUrl_oidcClientTs = (url) => {
|
|
111
|
+
[
|
|
112
|
+
[
|
|
113
|
+
getExtraQueryParams,
|
|
114
|
+
transformUrlBeforeRedirect === undefined
|
|
115
|
+
? undefined
|
|
116
|
+
: (url) => transformUrlBeforeRedirect({
|
|
117
|
+
isSilent,
|
|
118
|
+
authorizationUrl: url
|
|
119
|
+
})
|
|
120
|
+
],
|
|
121
|
+
[extraQueryParams_local, transformUrlBeforeRedirect_local]
|
|
122
|
+
].forEach(([extraQueryParamsMaybeGetter, transformUrlBeforeRedirect], i, arr) => {
|
|
123
|
+
const url_before = i !== arr.length - 1 ? undefined : url;
|
|
124
|
+
add_extra_query_params: {
|
|
125
|
+
if (extraQueryParamsMaybeGetter === undefined) {
|
|
126
|
+
break add_extra_query_params;
|
|
127
|
+
}
|
|
128
|
+
const extraQueryParams = typeof extraQueryParamsMaybeGetter === "function"
|
|
129
|
+
? extraQueryParamsMaybeGetter({ isSilent, url })
|
|
130
|
+
: extraQueryParamsMaybeGetter;
|
|
131
|
+
for (const [name, value] of Object.entries(extraQueryParams)) {
|
|
132
|
+
if (value === undefined) {
|
|
133
|
+
continue;
|
|
176
134
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
135
|
+
url = (0, urlSearchParams_1.addOrUpdateSearchParam)({
|
|
136
|
+
url,
|
|
137
|
+
name,
|
|
138
|
+
value,
|
|
139
|
+
encodeMethod: "www-form"
|
|
182
140
|
});
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
getExtraQueryParams,
|
|
205
|
-
transformUrlBeforeRedirect === undefined
|
|
206
|
-
? undefined
|
|
207
|
-
: function (url) {
|
|
208
|
-
return transformUrlBeforeRedirect({
|
|
209
|
-
isSilent: isSilent,
|
|
210
|
-
authorizationUrl: url
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
],
|
|
214
|
-
[extraQueryParams_local, transformUrlBeforeRedirect_local]
|
|
215
|
-
].forEach(function (_a, i, arr) {
|
|
216
|
-
var e_1, _b, e_2, _c;
|
|
217
|
-
var _d = __read(_a, 2), extraQueryParamsMaybeGetter = _d[0], transformUrlBeforeRedirect = _d[1];
|
|
218
|
-
var url_before = i !== arr.length - 1 ? undefined : url;
|
|
219
|
-
add_extra_query_params: {
|
|
220
|
-
if (extraQueryParamsMaybeGetter === undefined) {
|
|
221
|
-
break add_extra_query_params;
|
|
222
|
-
}
|
|
223
|
-
var extraQueryParams = typeof extraQueryParamsMaybeGetter === "function"
|
|
224
|
-
? extraQueryParamsMaybeGetter({ isSilent: isSilent, url: url })
|
|
225
|
-
: extraQueryParamsMaybeGetter;
|
|
226
|
-
try {
|
|
227
|
-
for (var _e = __values(Object.entries(extraQueryParams)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
228
|
-
var _g = __read(_f.value, 2), name_1 = _g[0], value = _g[1];
|
|
229
|
-
if (value === undefined) {
|
|
230
|
-
continue;
|
|
231
|
-
}
|
|
232
|
-
url = (0, urlSearchParams_1.addOrUpdateSearchParam)({
|
|
233
|
-
url: url,
|
|
234
|
-
name: name_1,
|
|
235
|
-
value: value,
|
|
236
|
-
encodeMethod: "www-form"
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
241
|
-
finally {
|
|
242
|
-
try {
|
|
243
|
-
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
244
|
-
}
|
|
245
|
-
finally { if (e_1) throw e_1.error; }
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
apply_transform_url: {
|
|
249
|
-
if (transformUrlBeforeRedirect === undefined) {
|
|
250
|
-
break apply_transform_url;
|
|
251
|
-
}
|
|
252
|
-
url = transformUrlBeforeRedirect(url);
|
|
253
|
-
}
|
|
254
|
-
update_state: {
|
|
255
|
-
if (url_before === undefined) {
|
|
256
|
-
break update_state;
|
|
257
|
-
}
|
|
258
|
-
var paramValueByName_current = (0, urlSearchParams_1.getAllSearchParams)(url);
|
|
259
|
-
var paramValueByName_before = (0, urlSearchParams_1.getAllSearchParams)(url_before);
|
|
260
|
-
try {
|
|
261
|
-
for (var _h = __values(Object.entries(paramValueByName_current)), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
262
|
-
var _k = __read(_j.value, 2), name_2 = _k[0], value_current = _k[1];
|
|
263
|
-
var value_before = paramValueByName_before[name_2];
|
|
264
|
-
if (value_before === value_current) {
|
|
265
|
-
continue;
|
|
266
|
-
}
|
|
267
|
-
stateData.extraQueryParams[name_2] = value_current;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
271
|
-
finally {
|
|
272
|
-
try {
|
|
273
|
-
if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
|
|
274
|
-
}
|
|
275
|
-
finally { if (e_2) throw e_2.error; }
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
});
|
|
279
|
-
return url;
|
|
280
|
-
};
|
|
281
|
-
redirectMethod = (function () {
|
|
282
|
-
switch (rest.action) {
|
|
283
|
-
case "login":
|
|
284
|
-
return rest.doNavigateBackToLastPublicUrlIfTheTheUserNavigateBack
|
|
285
|
-
? "replace"
|
|
286
|
-
: "assign";
|
|
287
|
-
case "go to auth server":
|
|
288
|
-
return "assign";
|
|
289
|
-
}
|
|
290
|
-
})();
|
|
291
|
-
log === null || log === void 0 ? void 0 : log("redirectMethod: ".concat(redirectMethod));
|
|
292
|
-
return [2 /*return*/, oidcClientTsUserManager
|
|
293
|
-
.signinRedirect({
|
|
294
|
-
state: stateData,
|
|
295
|
-
redirectMethod: redirectMethod,
|
|
296
|
-
prompt: (function () {
|
|
297
|
-
switch (rest.action) {
|
|
298
|
-
case "go to auth server":
|
|
299
|
-
return undefined;
|
|
300
|
-
case "login":
|
|
301
|
-
switch (rest.interaction) {
|
|
302
|
-
case "ensure no interaction":
|
|
303
|
-
return "none";
|
|
304
|
-
case "ensure interaction":
|
|
305
|
-
return "login";
|
|
306
|
-
case "directly redirect if active session show login otherwise":
|
|
307
|
-
return undefined;
|
|
308
|
-
}
|
|
309
|
-
tsafe_1.assert;
|
|
310
|
-
}
|
|
311
|
-
tsafe_1.assert;
|
|
312
|
-
})(),
|
|
313
|
-
transformUrl: transformUrl_oidcClientTs,
|
|
314
|
-
extraTokenParams: getExtraTokenParams === undefined ? undefined : (0, tsafe_1.noUndefined)(getExtraTokenParams())
|
|
315
|
-
})
|
|
316
|
-
.then(function () { return new Promise(function () { }); })];
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
apply_transform_url: {
|
|
144
|
+
if (transformUrlBeforeRedirect === undefined) {
|
|
145
|
+
break apply_transform_url;
|
|
146
|
+
}
|
|
147
|
+
url = transformUrlBeforeRedirect(url);
|
|
148
|
+
}
|
|
149
|
+
update_state: {
|
|
150
|
+
if (url_before === undefined) {
|
|
151
|
+
break update_state;
|
|
152
|
+
}
|
|
153
|
+
const paramValueByName_current = (0, urlSearchParams_1.getAllSearchParams)(url);
|
|
154
|
+
const paramValueByName_before = (0, urlSearchParams_1.getAllSearchParams)(url_before);
|
|
155
|
+
for (const [name, value_current] of Object.entries(paramValueByName_current)) {
|
|
156
|
+
const value_before = paramValueByName_before[name];
|
|
157
|
+
if (value_before === value_current) {
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
stateData.extraQueryParams[name] = value_current;
|
|
161
|
+
}
|
|
317
162
|
}
|
|
318
163
|
});
|
|
319
|
-
|
|
164
|
+
return url;
|
|
165
|
+
};
|
|
166
|
+
const redirectMethod = (() => {
|
|
167
|
+
switch (rest.action) {
|
|
168
|
+
case "login":
|
|
169
|
+
return rest.doNavigateBackToLastPublicUrlIfTheTheUserNavigateBack
|
|
170
|
+
? "replace"
|
|
171
|
+
: "assign";
|
|
172
|
+
case "go to auth server":
|
|
173
|
+
return "assign";
|
|
174
|
+
}
|
|
175
|
+
})();
|
|
176
|
+
log?.(`redirectMethod: ${redirectMethod}`);
|
|
177
|
+
return oidcClientTsUserManager
|
|
178
|
+
.signinRedirect({
|
|
179
|
+
state: stateData,
|
|
180
|
+
redirectMethod,
|
|
181
|
+
prompt: (() => {
|
|
182
|
+
switch (rest.action) {
|
|
183
|
+
case "go to auth server":
|
|
184
|
+
return undefined;
|
|
185
|
+
case "login":
|
|
186
|
+
switch (rest.interaction) {
|
|
187
|
+
case "ensure no interaction":
|
|
188
|
+
return "none";
|
|
189
|
+
case "ensure interaction":
|
|
190
|
+
return "login";
|
|
191
|
+
case "directly redirect if active session show login otherwise":
|
|
192
|
+
return undefined;
|
|
193
|
+
}
|
|
194
|
+
tsafe_1.assert;
|
|
195
|
+
}
|
|
196
|
+
tsafe_1.assert;
|
|
197
|
+
})(),
|
|
198
|
+
transformUrl: transformUrl_oidcClientTs,
|
|
199
|
+
extraTokenParams: getExtraTokenParams === undefined ? undefined : (0, tsafe_1.noUndefined)(getExtraTokenParams())
|
|
200
|
+
})
|
|
201
|
+
.then(() => new Promise(() => { }));
|
|
320
202
|
}
|
|
321
|
-
|
|
203
|
+
const { unsubscribe } = evtIsUserLoggedIn.subscribe(isLoggedIn => {
|
|
322
204
|
unsubscribe();
|
|
323
205
|
if (isLoggedIn) {
|
|
324
206
|
localStorage.removeItem(LOCAL_STORAGE_KEY_TO_CLEAR_WHEN_USER_LOGGED_IN);
|
|
325
207
|
}
|
|
326
208
|
else {
|
|
327
|
-
|
|
328
|
-
history.pushState = function pushState() {
|
|
329
|
-
var args = [];
|
|
330
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
331
|
-
args[_i] = arguments[_i];
|
|
332
|
-
}
|
|
209
|
+
const realPushState = history.pushState.bind(history);
|
|
210
|
+
history.pushState = function pushState(...args) {
|
|
333
211
|
lastPublicUrl = window.location.href;
|
|
334
|
-
return
|
|
212
|
+
return realPushState(...args);
|
|
335
213
|
};
|
|
336
214
|
}
|
|
337
|
-
})
|
|
215
|
+
});
|
|
338
216
|
return {
|
|
339
|
-
loginOrGoToAuthServer
|
|
217
|
+
loginOrGoToAuthServer
|
|
340
218
|
};
|
|
341
219
|
}
|
|
342
220
|
//# sourceMappingURL=loginOrGoToAuthServer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginOrGoToAuthServer.js","sourceRoot":"","sources":["../src/core/loginOrGoToAuthServer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loginOrGoToAuthServer.js","sourceRoot":"","sources":["../src/core/loginOrGoToAuthServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,29 +2,28 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.notifyOtherTabsOfLogin = notifyOtherTabsOfLogin;
|
|
4
4
|
exports.getPrOtherTabLogin = getPrOtherTabLogin;
|
|
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 { configId } = params;
|
|
12
|
+
return `oidc-spa:login-propagation:${configId}`;
|
|
13
13
|
}
|
|
14
14
|
function notifyOtherTabsOfLogin(params) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
configId
|
|
15
|
+
const { configId } = params;
|
|
16
|
+
const message = {
|
|
17
|
+
configId,
|
|
18
18
|
appInstanceId: globalContext.appInstanceId
|
|
19
19
|
};
|
|
20
|
-
new BroadcastChannel(getChannelName({ configId
|
|
20
|
+
new BroadcastChannel(getChannelName({ configId })).postMessage(message);
|
|
21
21
|
}
|
|
22
22
|
function getPrOtherTabLogin(params) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
channel.onmessage =
|
|
27
|
-
var message = _a.data;
|
|
23
|
+
const { configId } = params;
|
|
24
|
+
const dOtherTabLogin = new Deferred_1.Deferred();
|
|
25
|
+
const channel = new BroadcastChannel(getChannelName({ 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 getPrOtherTabLogin(params) {
|
|
|
32
31
|
channel.close();
|
|
33
32
|
dOtherTabLogin.resolve();
|
|
34
33
|
};
|
|
35
|
-
|
|
36
|
-
return { prOtherTabLogin
|
|
34
|
+
const prOtherTabLogin = dOtherTabLogin.pr;
|
|
35
|
+
return { prOtherTabLogin };
|
|
37
36
|
}
|
|
38
37
|
//# sourceMappingURL=loginPropagationToOtherTabs.js.map
|