oidc-spa 6.1.7 → 6.1.9

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.
@@ -1,7 +1,7 @@
1
1
  export type StateData = StateData.IFrame | StateData.Redirect;
2
2
  export declare namespace StateData {
3
3
  type Common = {
4
- configHash: string;
4
+ configId: string;
5
5
  };
6
6
  export type IFrame = Common & {
7
7
  context: "iframe";
package/oidc/StateData.js CHANGED
@@ -8,14 +8,19 @@ exports.clearStateStore = clearStateStore;
8
8
  exports.getStateData = getStateData;
9
9
  exports.markStateDataAsProcessedByCallback = markStateDataAsProcessedByCallback;
10
10
  var tsafe_1 = require("../vendor/frontend/tsafe");
11
- var fnv1aHash_1 = require("../tools/fnv1aHash");
12
- var STATE_QUERY_PARAM_VALUE_IDENTIFIER_PREFIX = "fa93b2c1c";
11
+ var generateUrlSafeRandom_1 = require("../tools/generateUrlSafeRandom");
12
+ var STATE_QUERY_PARAM_VALUE_IDENTIFIER_PREFIX = "b2lkYy1zcGEu";
13
+ var RANDOM_STRING_LENGTH = 32 - STATE_QUERY_PARAM_VALUE_IDENTIFIER_PREFIX.length;
13
14
  function generateStateQueryParamValue() {
14
- return "".concat(STATE_QUERY_PARAM_VALUE_IDENTIFIER_PREFIX).concat((0, fnv1aHash_1.fnv1aHash)("".concat(Math.random())));
15
+ return "".concat(STATE_QUERY_PARAM_VALUE_IDENTIFIER_PREFIX).concat((0, generateUrlSafeRandom_1.generateUrlSafeRandom)({
16
+ length: RANDOM_STRING_LENGTH
17
+ }));
15
18
  }
16
19
  function getIsStatQueryParamValue(params) {
17
20
  var maybeStateQueryParamValue = params.maybeStateQueryParamValue;
18
- return maybeStateQueryParamValue.startsWith(STATE_QUERY_PARAM_VALUE_IDENTIFIER_PREFIX);
21
+ return (maybeStateQueryParamValue.startsWith(STATE_QUERY_PARAM_VALUE_IDENTIFIER_PREFIX) &&
22
+ maybeStateQueryParamValue.length ===
23
+ STATE_QUERY_PARAM_VALUE_IDENTIFIER_PREFIX.length + RANDOM_STRING_LENGTH);
19
24
  }
20
25
  exports.STATE_STORE_KEY_PREFIX = "oidc.";
21
26
  function getKey(params) {
@@ -1 +1 @@
1
- {"version":3,"file":"StateData.js","sourceRoot":"","sources":["../src/oidc/StateData.ts"],"names":[],"mappings":";;;AAoCA,oEAEC;AAED,4DAIC;AAID,wBAIC;AA6BD,0CAGC;AAED,oCAUC;AAED,gFAWC;AA7GD,kDAA6D;AAC7D,gDAA+C;AAiC/C,IAAM,yCAAyC,GAAG,WAAW,CAAC;AAE9D,SAAgB,4BAA4B;IACxC,OAAO,UAAG,yCAAyC,SAAG,IAAA,qBAAS,EAAC,UAAG,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC,CAAE,CAAC;AAC1F,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAA6C;IAC1E,IAAA,yBAAyB,GAAK,MAAM,0BAAX,CAAY;IAE7C,OAAO,yBAAyB,CAAC,UAAU,CAAC,yCAAyC,CAAC,CAAC;AAC3F,CAAC;AAEY,QAAA,sBAAsB,GAAG,OAAO,CAAC;AAE9C,SAAgB,MAAM,CAAC,MAAwC;IACnD,IAAA,oBAAoB,GAAK,MAAM,qBAAX,CAAY;IAExC,OAAO,UAAG,8BAAsB,SAAG,oBAAoB,CAAE,CAAC;AAC9D,CAAC;AAED,SAAS,aAAa,CAAC,MAAwC;IACnD,IAAA,oBAAoB,GAAK,MAAM,qBAAX,CAAY;IAExC,IAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC,CAAC;IAEpE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAA,cAAM,EACF,IAAA,iBAAS,EACL,GAAG,EACH,GAAG,YAAY,MAAM,IAAI,GAAG,CAAC,IAAI,YAAY,MAAM,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAC9F,CACJ,CAAC;IAEF,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,MAAkE;IAC7E,IAAA,oBAAoB,GAAU,MAAM,qBAAhB,EAAE,GAAG,GAAK,MAAM,IAAX,CAAY;IAE7C,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAgB,eAAe,CAAC,MAAwC;IAC5D,IAAA,oBAAoB,GAAK,MAAM,qBAAX,CAAY;IACxC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,YAAY,CAAC,MAAwC;IACzD,IAAA,oBAAoB,GAAK,MAAM,qBAAX,CAAY;IAExC,IAAM,UAAU,GAAG,aAAa,CAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC;IAE3D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC;AAC3B,CAAC;AAED,SAAgB,kCAAkC,CAAC,MAAwC;IAC/E,IAAA,oBAAoB,GAAK,MAAM,qBAAX,CAAY;IAExC,IAAM,GAAG,GAAG,aAAa,CAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC;IAEpD,IAAA,cAAM,EAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IAC1B,IAAA,cAAM,EAAC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;IAExC,GAAG,CAAC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAE3C,aAAa,CAAC,EAAE,oBAAoB,sBAAA,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"StateData.js","sourceRoot":"","sources":["../src/oidc/StateData.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare function getConfigHash(params: {
1
+ export declare function getConfigId(params: {
2
2
  issuerUri: string;
3
3
  clientId: string;
4
4
  }): string;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConfigId = getConfigId;
4
+ function getConfigId(params) {
5
+ return "".concat(params.issuerUri, ":").concat(params.clientId);
6
+ }
7
+ //# sourceMappingURL=configId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configId.js","sourceRoot":"","sources":["../src/oidc/configId.ts"],"names":[],"mappings":";;AAAA,kCAEC;AAFD,SAAgB,WAAW,CAAC,MAA+C;IACvE,OAAO,UAAG,MAAM,CAAC,SAAS,cAAI,MAAM,CAAC,QAAQ,CAAE,CAAC;AACpD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { StatefulObservable } from "../tools/StatefulObservable";
1
2
  import type { Oidc } from "./Oidc";
2
3
  import { type AwaitableEventEmitter } from "../tools/AwaitableEventEmitter";
3
4
  export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, AutoLogin extends boolean = false> = {
@@ -69,8 +70,14 @@ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> =
69
70
  };
70
71
  declare global {
71
72
  interface Window {
72
- "__oidc-spa.prOidcByConfigHash": Map<string, Promise<Oidc<any>>>;
73
- "__oidc-spa.evtAuthResponseHandled": AwaitableEventEmitter<void>;
73
+ "__oidc-spa.createOidc.GlobalContext": {
74
+ prOidcByConfigId: Map<string, Promise<Oidc<any>>>;
75
+ evtAuthResponseHandled: AwaitableEventEmitter<void>;
76
+ URL_real: typeof URL;
77
+ $isUserActive: StatefulObservable<boolean> | undefined;
78
+ hasLoginBeenCalled: boolean;
79
+ hasLogoutBeenCalled: boolean;
80
+ };
74
81
  }
75
82
  }
76
83
  /** @see: https://docs.oidc-spa.dev/v/v6/usage */
@@ -79,6 +86,6 @@ export declare function createOidc_nonMemoized<DecodedIdToken extends Record<str
79
86
  issuerUri: string;
80
87
  clientId: string;
81
88
  scopes: string[];
82
- configHash: string;
89
+ configId: string;
83
90
  log: typeof console.log | undefined;
84
91
  }): Promise<AutoLogin extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken>>;
@@ -93,7 +93,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
93
93
  }
94
94
  return to.concat(ar || Array.prototype.slice.call(from));
95
95
  };
96
- var _a, _b;
96
+ var _a;
97
97
  Object.defineProperty(exports, "__esModule", { value: true });
98
98
  exports.createOidc = createOidc;
99
99
  exports.createOidc_nonMemoized = createOidc_nonMemoized;
@@ -110,20 +110,27 @@ var toFullyQualifiedUrl_1 = require("../tools/toFullyQualifiedUrl");
110
110
  var OidcInitializationError_1 = require("./OidcInitializationError");
111
111
  var StateData_1 = require("./StateData");
112
112
  var logoutPropagationToOtherTabs_1 = require("./logoutPropagationToOtherTabs");
113
- var configHash_1 = require("./configHash");
113
+ var configId_1 = require("./configId");
114
114
  var oidcClientTsUserToTokens_1 = require("./oidcClientTsUserToTokens");
115
115
  var loginSilent_1 = require("./loginSilent");
116
116
  var handleOidcCallback_1 = require("./handleOidcCallback");
117
117
  var AwaitableEventEmitter_1 = require("../tools/AwaitableEventEmitter");
118
118
  // NOTE: Replaced at build time
119
- var VERSION = "6.1.7";
119
+ var VERSION = "6.1.9";
120
120
  (0, handleOidcCallback_1.handleOidcCallback)();
121
- (_a = window["__oidc-spa.prOidcByConfigHash"]) !== null && _a !== void 0 ? _a : (window["__oidc-spa.prOidcByConfigHash"] = new Map());
122
- (_b = window["__oidc-spa.evtAuthResponseHandled"]) !== null && _b !== void 0 ? _b : (window["__oidc-spa.evtAuthResponseHandled"] = (0, AwaitableEventEmitter_1.createAwaitableEventEmitter)());
121
+ (_a = window["__oidc-spa.createOidc.GlobalContext"]) !== null && _a !== void 0 ? _a : (window["__oidc-spa.createOidc.GlobalContext"] = {
122
+ prOidcByConfigId: new Map(),
123
+ evtAuthResponseHandled: (0, AwaitableEventEmitter_1.createAwaitableEventEmitter)(),
124
+ URL_real: window.URL,
125
+ $isUserActive: undefined,
126
+ hasLoginBeenCalled: false,
127
+ hasLogoutBeenCalled: false
128
+ });
129
+ var globalContext = window["__oidc-spa.createOidc.GlobalContext"];
123
130
  /** @see: https://docs.oidc-spa.dev/v/v6/usage */
124
131
  function createOidc(params) {
125
132
  return __awaiter(this, void 0, void 0, function () {
126
- var _a, _b, name_1, value, issuerUri_params, clientId, _c, scopes, debugLogs, rest, issuerUri, log, configHash, prOidc, dOidc, oidc;
133
+ var _a, _b, name_1, value, issuerUri_params, clientId, _c, scopes, debugLogs, rest, issuerUri, log, configId, prOidcByConfigId, prOidc, dOidc, oidc;
127
134
  var e_1, _d;
128
135
  return __generator(this, function (_e) {
129
136
  switch (_e.label) {
@@ -169,9 +176,10 @@ function createOidc(params) {
169
176
  }
170
177
  });
171
178
  })();
172
- configHash = (0, configHash_1.getConfigHash)({ issuerUri: issuerUri, clientId: clientId });
179
+ configId = (0, configId_1.getConfigId)({ issuerUri: issuerUri, clientId: clientId });
180
+ prOidcByConfigId = globalContext.prOidcByConfigId;
173
181
  use_previous_instance: {
174
- prOidc = window["__oidc-spa.prOidcByConfigHash"].get(configHash);
182
+ prOidc = prOidcByConfigId.get(configId);
175
183
  if (prOidc === undefined) {
176
184
  break use_previous_instance;
177
185
  }
@@ -187,12 +195,12 @@ function createOidc(params) {
187
195
  return [2 /*return*/, prOidc];
188
196
  }
189
197
  dOidc = new Deferred_1.Deferred();
190
- window["__oidc-spa.prOidcByConfigHash"].set(configHash, dOidc.pr);
198
+ prOidcByConfigId.set(configId, dOidc.pr);
191
199
  return [4 /*yield*/, createOidc_nonMemoized(rest, {
192
200
  issuerUri: issuerUri,
193
201
  clientId: clientId,
194
202
  scopes: scopes,
195
- configHash: configHash,
203
+ configId: configId,
196
204
  log: log
197
205
  })];
198
206
  case 1:
@@ -203,19 +211,15 @@ function createOidc(params) {
203
211
  });
204
212
  });
205
213
  }
206
- var $isUserActive = undefined;
207
- var URL_real = window.URL;
208
- var hasLoginBeenCalled = false;
209
- var hasLogoutBeenCalled = false;
210
214
  function createOidc_nonMemoized(params, preProcessedParams) {
211
215
  return __awaiter(this, void 0, void 0, function () {
212
- var transformUrlBeforeRedirect, extraQueryParamsOrGetter, extraTokenParamsOrGetter, homeUrl_params, decodedIdTokenSchema, __unsafe_ssoSessionIdleSeconds, _a, autoLogoutParams, _b, autoLogin, postLoginRedirectUrl, __clientSecret_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, issuerUri, clientId, scopes, configHash, log, _c, getExtraQueryParams, getExtraTokenParams, homeAndCallbackUrl, USER_LOGGED_IN_KEY, stateQueryParamValue_instance, oidcClientTsUserManager, lastPublicRoute, startTrackingLastPublicRoute, loginOrGoToAuthServer, BROWSER_SESSION_NOT_FIRST_INIT_KEY, resultOfLoginProcess, common, error, initializationError, oidc_1, oidc_2, currentTokens, autoLogoutCountdownTickCallbacks, onTokenChanges, oidc, prOtherTabLogout, getMsBeforeExpiration_1, startCountdown_2, stopCountdown_1;
216
+ var transformUrlBeforeRedirect, extraQueryParamsOrGetter, extraTokenParamsOrGetter, homeUrl_params, decodedIdTokenSchema, __unsafe_ssoSessionIdleSeconds, _a, autoLogoutParams, _b, autoLogin, postLoginRedirectUrl, __clientSecret_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, issuerUri, clientId, scopes, configId, log, _c, getExtraQueryParams, getExtraTokenParams, homeAndCallbackUrl, isHandled, USER_LOGGED_IN_KEY, stateQueryParamValue_instance, oidcClientTsUserManager, lastPublicRoute, startTrackingLastPublicRoute, loginOrGoToAuthServer, BROWSER_SESSION_NOT_FIRST_INIT_KEY, resultOfLoginProcess, common, error, initializationError, oidc_1, oidc_2, currentTokens, autoLogoutCountdownTickCallbacks, onTokenChanges, oidc, prOtherTabLogout, getMsBeforeExpiration_1, startCountdown_2, stopCountdown_1;
213
217
  var _this = this;
214
218
  return __generator(this, function (_d) {
215
219
  switch (_d.label) {
216
220
  case 0:
217
221
  transformUrlBeforeRedirect = params.transformUrlBeforeRedirect, extraQueryParamsOrGetter = params.extraQueryParams, extraTokenParamsOrGetter = params.extraTokenParams, homeUrl_params = params.homeUrl, decodedIdTokenSchema = params.decodedIdTokenSchema, __unsafe_ssoSessionIdleSeconds = params.__unsafe_ssoSessionIdleSeconds, _a = params.autoLogoutParams, autoLogoutParams = _a === void 0 ? { redirectTo: "current page" } : _a, _b = params.autoLogin, autoLogin = _b === void 0 ? false : _b, postLoginRedirectUrl = params.postLoginRedirectUrl, __clientSecret_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = params.__clientSecret_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
218
- issuerUri = preProcessedParams.issuerUri, clientId = preProcessedParams.clientId, scopes = preProcessedParams.scopes, configHash = preProcessedParams.configHash, log = preProcessedParams.log;
222
+ issuerUri = preProcessedParams.issuerUri, clientId = preProcessedParams.clientId, scopes = preProcessedParams.scopes, configId = preProcessedParams.configId, log = preProcessedParams.log;
219
223
  _c = __read([extraQueryParamsOrGetter, extraTokenParamsOrGetter].map(function (valueOrGetter) {
220
224
  if (typeof valueOrGetter === "function") {
221
225
  return valueOrGetter;
@@ -234,13 +238,17 @@ function createOidc_nonMemoized(params, preProcessedParams) {
234
238
  issuerUri: issuerUri,
235
239
  clientId: clientId,
236
240
  scopes: scopes,
237
- configHash: configHash,
241
+ configId: configId,
238
242
  homeAndCallbackUrl: homeAndCallbackUrl
239
243
  });
240
- return [4 /*yield*/, (0, handleOidcCallback_1.handleOidcCallback)()];
244
+ isHandled = (0, handleOidcCallback_1.handleOidcCallback)().isHandled;
245
+ if (!isHandled) return [3 /*break*/, 2];
246
+ return [4 /*yield*/, new Promise(function () { })];
241
247
  case 1:
242
248
  _d.sent();
243
- USER_LOGGED_IN_KEY = "oidc-spa.user-logged-in:".concat(configHash);
249
+ _d.label = 2;
250
+ case 2:
251
+ USER_LOGGED_IN_KEY = "oidc-spa.user-logged-in:".concat(configId);
244
252
  localStorage.removeItem(USER_LOGGED_IN_KEY);
245
253
  stateQueryParamValue_instance = (0, StateData_1.generateStateQueryParamValue)();
246
254
  oidcClientTsUserManager = new oidc_client_ts_and_jwt_decode_1.UserManager({
@@ -270,7 +278,7 @@ function createOidc_nonMemoized(params, preProcessedParams) {
270
278
  };
271
279
  };
272
280
  loginOrGoToAuthServer = function (params) { return __awaiter(_this, void 0, void 0, function () {
273
- var extraQueryParams_fromLoginFn, redirectUrl_params, transformUrlBeforeRedirect_fromLoginFn, rest, callback_1, redirectUrl, URL_1, redirectMethod, extraQueryParams;
281
+ var extraQueryParams_fromLoginFn, redirectUrl_params, transformUrlBeforeRedirect_fromLoginFn, rest, callback_1, redirectUrl, URL_real_1, URL_1, redirectMethod, extraQueryParams;
274
282
  return __generator(this, function (_a) {
275
283
  switch (_a.label) {
276
284
  case 0:
@@ -280,11 +288,11 @@ function createOidc_nonMemoized(params, preProcessedParams) {
280
288
  // When the app is hosted on https (so not in dev mode) the browser will restore the state of the app
281
289
  // instead of reloading the page.
282
290
  if (rest.action === "login") {
283
- if (hasLoginBeenCalled) {
291
+ if (globalContext.hasLoginBeenCalled) {
284
292
  log === null || log === void 0 ? void 0 : log("login() has already been called, ignoring the call");
285
293
  return [2 /*return*/, new Promise(function () { })];
286
294
  }
287
- hasLoginBeenCalled = true;
295
+ globalContext.hasLoginBeenCalled = true;
288
296
  callback_1 = function () {
289
297
  if (document.visibilityState === "visible") {
290
298
  document.removeEventListener("visibilitychange", callback_1);
@@ -307,7 +315,7 @@ function createOidc_nonMemoized(params, preProcessedParams) {
307
315
  }
308
316
  else {
309
317
  log === null || log === void 0 ? void 0 : log("and the user doesn't seem to be authenticated, avoiding a reload");
310
- hasLoginBeenCalled = false;
318
+ globalContext.hasLoginBeenCalled = false;
311
319
  }
312
320
  }
313
321
  }
@@ -327,16 +335,17 @@ function createOidc_nonMemoized(params, preProcessedParams) {
327
335
  // used internally by oidc-client-ts. It's save to do so since this is the
328
336
  // last thing that will be done before the redirect.
329
337
  {
338
+ URL_real_1 = globalContext.URL_real;
330
339
  URL_1 = function () {
331
340
  var args = [];
332
341
  for (var _i = 0; _i < arguments.length; _i++) {
333
342
  args[_i] = arguments[_i];
334
343
  }
335
- var urlInstance = new (URL_real.bind.apply(URL_real, __spreadArray([void 0], __read(args), false)))();
344
+ var urlInstance = new (URL_real_1.bind.apply(URL_real_1, __spreadArray([void 0], __read(args), false)))();
336
345
  return new Proxy(urlInstance, {
337
346
  get: function (target, prop) {
338
347
  if (prop === "href") {
339
- Object.defineProperty(window, "URL", { value: URL_real });
348
+ Object.defineProperty(window, "URL", { value: URL_real_1 });
340
349
  var url_1 = urlInstance.href;
341
350
  [
342
351
  [getExtraQueryParams === null || getExtraQueryParams === void 0 ? void 0 : getExtraQueryParams(), transformUrlBeforeRedirect],
@@ -421,7 +430,7 @@ function createOidc_nonMemoized(params, preProcessedParams) {
421
430
  redirectUrl: redirectUrl,
422
431
  extraQueryParams: extraQueryParams,
423
432
  hasBeenProcessedByCallback: false,
424
- configHash: configHash,
433
+ configId: configId,
425
434
  action: "login"
426
435
  }),
427
436
  redirectMethod: redirectMethod
@@ -432,9 +441,9 @@ function createOidc_nonMemoized(params, preProcessedParams) {
432
441
  }
433
442
  });
434
443
  }); };
435
- BROWSER_SESSION_NOT_FIRST_INIT_KEY = "oidc-spa.browser-session-not-first-init:".concat(configHash);
444
+ BROWSER_SESSION_NOT_FIRST_INIT_KEY = "oidc-spa.browser-session-not-first-init:".concat(configId);
436
445
  return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {
437
- var authResponse, stateData, _a, authResponseUrl, oidcClientTsUser, error_1, error_3, authResponseUrl, _b, result_loginSilent, authResponse, oidcClientTsUser, error_2, error_4;
446
+ var authResponse, stateData, evtAuthResponseHandled_1, prHandled, _a, authResponseUrl, oidcClientTsUser, error_1, error_3, authResponseUrl, _b, result_loginSilent, authResponse, oidcClientTsUser, error_2, error_4;
438
447
  return __generator(this, function (_c) {
439
448
  switch (_c.label) {
440
449
  case 0:
@@ -456,40 +465,47 @@ function createOidc_nonMemoized(params, preProcessedParams) {
456
465
  return authResponse;
457
466
  })();
458
467
  if (authResponse === undefined) {
459
- return [3 /*break*/, 13];
468
+ return [3 /*break*/, 15];
460
469
  }
461
470
  stateData = (0, StateData_1.getStateData)({ stateQueryParamValue: authResponse["state"] });
462
471
  (0, tsafe_1.assert)(stateData !== undefined);
463
472
  (0, tsafe_1.assert)(stateData.context === "redirect");
464
- if (!(stateData.configHash !== configHash)) return [3 /*break*/, 2];
465
- return [4 /*yield*/, window["__oidc-spa.evtAuthResponseHandled"].waitFor()];
473
+ evtAuthResponseHandled_1 = globalContext.evtAuthResponseHandled;
474
+ if (!(stateData.configId !== configId)) return [3 /*break*/, 4];
475
+ prHandled = evtAuthResponseHandled_1.waitFor();
476
+ return [4 /*yield*/, Promise.resolve()];
466
477
  case 1:
467
478
  _c.sent();
468
- return [3 /*break*/, 13];
479
+ if (!(sessionStorage.getItem(handleOidcCallback_1.AUTH_RESPONSE_KEY) === null)) return [3 /*break*/, 3];
480
+ return [4 /*yield*/, prHandled];
469
481
  case 2:
482
+ _c.sent();
483
+ _c.label = 3;
484
+ case 3: return [3 /*break*/, 15];
485
+ case 4:
470
486
  sessionStorage.removeItem(handleOidcCallback_1.AUTH_RESPONSE_KEY);
471
487
  _a = stateData.action;
472
488
  switch (_a) {
473
- case "login": return [3 /*break*/, 3];
474
- case "logout": return [3 /*break*/, 8];
489
+ case "login": return [3 /*break*/, 5];
490
+ case "logout": return [3 /*break*/, 10];
475
491
  }
476
- return [3 /*break*/, 13];
477
- case 3:
492
+ return [3 /*break*/, 15];
493
+ case 5:
478
494
  log === null || log === void 0 ? void 0 : log("Handling login redirect auth response", authResponse);
479
495
  authResponseUrl = (0, loginSilent_1.authResponseToUrl)(authResponse);
480
496
  oidcClientTsUser = undefined;
481
- _c.label = 4;
482
- case 4:
483
- _c.trys.push([4, 6, , 7]);
497
+ _c.label = 6;
498
+ case 6:
499
+ _c.trys.push([6, 8, , 9]);
484
500
  return [4 /*yield*/, oidcClientTsUserManager
485
501
  .signinRedirectCallback(authResponseUrl)
486
502
  .finally(function () {
487
- window["__oidc-spa.evtAuthResponseHandled"].post();
503
+ evtAuthResponseHandled_1.post();
488
504
  })];
489
- case 5:
505
+ case 7:
490
506
  oidcClientTsUser = _c.sent();
491
- return [3 /*break*/, 7];
492
- case 6:
507
+ return [3 /*break*/, 9];
508
+ case 8:
493
509
  error_1 = _c.sent();
494
510
  (0, tsafe_1.assert)(error_1 instanceof Error);
495
511
  if (error_1.message === "Failed to fetch") {
@@ -502,11 +518,11 @@ function createOidc_nonMemoized(params, preProcessedParams) {
502
518
  error_3 = authResponse["error"];
503
519
  if (error_3 !== undefined) {
504
520
  log === null || log === void 0 ? void 0 : log("The auth server responded with: ".concat(error_3, ", trying to restore from the http only cookie"));
505
- return [3 /*break*/, 13];
521
+ return [3 /*break*/, 15];
506
522
  }
507
523
  }
508
524
  return [2 /*return*/, error_1];
509
- case 7:
525
+ case 9:
510
526
  sessionStorage.removeItem(BROWSER_SESSION_NOT_FIRST_INIT_KEY);
511
527
  return [2 /*return*/, {
512
528
  oidcClientTsUser: oidcClientTsUser,
@@ -521,37 +537,37 @@ function createOidc_nonMemoized(params, preProcessedParams) {
521
537
  }))
522
538
  }
523
539
  }];
524
- case 8:
540
+ case 10:
525
541
  log === null || log === void 0 ? void 0 : log("Handling logout redirect auth response", authResponse);
526
542
  authResponseUrl = (0, loginSilent_1.authResponseToUrl)(authResponse);
527
- _c.label = 9;
528
- case 9:
529
- _c.trys.push([9, 11, , 12]);
543
+ _c.label = 11;
544
+ case 11:
545
+ _c.trys.push([11, 13, , 14]);
530
546
  return [4 /*yield*/, oidcClientTsUserManager.signoutRedirectCallback(authResponseUrl)];
531
- case 10:
547
+ case 12:
532
548
  _c.sent();
533
- return [3 /*break*/, 12];
534
- case 11:
549
+ return [3 /*break*/, 14];
550
+ case 13:
535
551
  _b = _c.sent();
536
- return [3 /*break*/, 12];
537
- case 12:
538
- window["__oidc-spa.evtAuthResponseHandled"].post();
552
+ return [3 /*break*/, 14];
553
+ case 14:
554
+ evtAuthResponseHandled_1.post();
539
555
  (0, logoutPropagationToOtherTabs_1.notifyOtherTabOfLogout)({
540
- configHash: configHash,
556
+ configId: configId,
541
557
  redirectUrl: stateData.redirectUrl,
542
558
  sessionId: stateData.sessionId
543
559
  });
544
560
  // NOTE: The user is no longer logged in.
545
561
  return [2 /*return*/, undefined];
546
- case 13:
562
+ case 15:
547
563
  log === null || log === void 0 ? void 0 : log("Trying to restore the auth from the http only cookie (silent signin with iframe)");
548
564
  return [4 /*yield*/, (0, loginSilent_1.loginSilent)({
549
565
  oidcClientTsUserManager: oidcClientTsUserManager,
550
566
  stateQueryParamValue_instance: stateQueryParamValue_instance,
551
- configHash: configHash,
567
+ configId: configId,
552
568
  getExtraTokenParams: getExtraTokenParams
553
569
  })];
554
- case 14:
570
+ case 16:
555
571
  result_loginSilent = _c.sent();
556
572
  if (!result_loginSilent.isSuccess) {
557
573
  switch (result_loginSilent.cause) {
@@ -571,14 +587,14 @@ function createOidc_nonMemoized(params, preProcessedParams) {
571
587
  authResponse = result_loginSilent.authResponse;
572
588
  log === null || log === void 0 ? void 0 : log("Silent signin auth response", authResponse);
573
589
  oidcClientTsUser = undefined;
574
- _c.label = 15;
575
- case 15:
576
- _c.trys.push([15, 17, , 18]);
590
+ _c.label = 17;
591
+ case 17:
592
+ _c.trys.push([17, 19, , 20]);
577
593
  return [4 /*yield*/, oidcClientTsUserManager.signinRedirectCallback((0, loginSilent_1.authResponseToUrl)(authResponse))];
578
- case 16:
594
+ case 18:
579
595
  oidcClientTsUser = _c.sent();
580
- return [3 /*break*/, 18];
581
- case 17:
596
+ return [3 /*break*/, 20];
597
+ case 19:
582
598
  error_2 = _c.sent();
583
599
  (0, tsafe_1.assert)(error_2 instanceof Error);
584
600
  if (error_2.message === "Failed to fetch") {
@@ -597,17 +613,17 @@ function createOidc_nonMemoized(params, preProcessedParams) {
597
613
  ? "(authentication_required just means that there's no active session for the user)"
598
614
  : ""
599
615
  ].join(""));
600
- return [3 /*break*/, 19];
616
+ return [3 /*break*/, 21];
601
617
  }
602
618
  }
603
619
  return [2 /*return*/, error_2];
604
- case 18:
620
+ case 20:
605
621
  log === null || log === void 0 ? void 0 : log("Successful silent signed in");
606
622
  return [2 /*return*/, {
607
623
  oidcClientTsUser: oidcClientTsUser,
608
624
  backFromAuthServer: undefined
609
625
  }];
610
- case 19:
626
+ case 21:
611
627
  // NOTE: The user is not logged in.
612
628
  return [2 /*return*/, undefined];
613
629
  }
@@ -656,7 +672,7 @@ function createOidc_nonMemoized(params, preProcessedParams) {
656
672
  }
657
673
  return { tokens: tokens, backFromAuthServer: backFromAuthServer };
658
674
  })];
659
- case 2:
675
+ case 3:
660
676
  resultOfLoginProcess = _d.sent();
661
677
  common = {
662
678
  params: {
@@ -692,24 +708,24 @@ function createOidc_nonMemoized(params, preProcessedParams) {
692
708
  // @ts-expect-error: We know what we are doing.
693
709
  return [2 /*return*/, oidc_1];
694
710
  }
695
- if (!(resultOfLoginProcess === undefined)) return [3 /*break*/, 5];
711
+ if (!(resultOfLoginProcess === undefined)) return [3 /*break*/, 6];
696
712
  log === null || log === void 0 ? void 0 : log("User not logged in");
697
- if (!autoLogin) return [3 /*break*/, 4];
713
+ if (!autoLogin) return [3 /*break*/, 5];
698
714
  log === null || log === void 0 ? void 0 : log("Authentication is required everywhere on this app, redirecting to the login page");
699
715
  return [4 /*yield*/, loginOrGoToAuthServer({
700
716
  action: "login",
701
717
  doesCurrentHrefRequiresAuth: true,
702
718
  redirectUrl: postLoginRedirectUrl
703
719
  })];
704
- case 3:
705
- _d.sent();
706
- _d.label = 4;
707
720
  case 4:
721
+ _d.sent();
722
+ _d.label = 5;
723
+ case 5:
708
724
  startTrackingLastPublicRoute();
709
725
  oidc_2 = (0, tsafe_1.id)(__assign(__assign({}, common), { isUserLoggedIn: false, login: function (params) { return loginOrGoToAuthServer(__assign({ action: "login" }, params)); }, initializationError: undefined }));
710
726
  // @ts-expect-error: We know what we are doing.
711
727
  return [2 /*return*/, oidc_2];
712
- case 5:
728
+ case 6:
713
729
  log === null || log === void 0 ? void 0 : log("User is logged in");
714
730
  localStorage.setItem(USER_LOGGED_IN_KEY, "true");
715
731
  currentTokens = resultOfLoginProcess.tokens;
@@ -720,11 +736,11 @@ function createOidc_nonMemoized(params, preProcessedParams) {
720
736
  return __generator(this, function (_a) {
721
737
  switch (_a.label) {
722
738
  case 0:
723
- if (hasLogoutBeenCalled) {
739
+ if (globalContext.hasLogoutBeenCalled) {
724
740
  log === null || log === void 0 ? void 0 : log("logout() has already been called, ignoring the call");
725
741
  return [2 /*return*/, new Promise(function () { })];
726
742
  }
727
- hasLogoutBeenCalled = true;
743
+ globalContext.hasLogoutBeenCalled = true;
728
744
  document.addEventListener("visibilitychange", function () {
729
745
  if (document.visibilityState === "visible") {
730
746
  location.reload();
@@ -746,7 +762,7 @@ function createOidc_nonMemoized(params, preProcessedParams) {
746
762
  sessionId = (0, decodeJwt_1.decodeJwt)(oidc.getTokens().idToken).sid;
747
763
  return [4 /*yield*/, oidcClientTsUserManager.signoutRedirect({
748
764
  state: (0, tsafe_1.id)({
749
- configHash: configHash,
765
+ configId: configId,
750
766
  context: "redirect",
751
767
  redirectUrl: postLogoutRedirectUrl,
752
768
  hasBeenProcessedByCallback: false,
@@ -809,7 +825,7 @@ function createOidc_nonMemoized(params, preProcessedParams) {
809
825
  })() }));
810
826
  {
811
827
  prOtherTabLogout = (0, logoutPropagationToOtherTabs_1.getPrOtherTabLogout)({
812
- configHash: configHash,
828
+ configId: configId,
813
829
  homeUrl: homeAndCallbackUrl,
814
830
  sessionId: (0, decodeJwt_1.decodeJwt)(oidc.getTokens().idToken).sid
815
831
  }).prOtherTabLogout;
@@ -923,12 +939,12 @@ function createOidc_nonMemoized(params, preProcessedParams) {
923
939
  }
924
940
  }).startCountdown;
925
941
  stopCountdown_1 = undefined;
926
- if ($isUserActive === undefined) {
927
- $isUserActive = (0, createIsUserActive_1.createIsUserActive)({
942
+ if (globalContext.$isUserActive === undefined) {
943
+ globalContext.$isUserActive = (0, createIsUserActive_1.createIsUserActive)({
928
944
  theUserIsConsideredInactiveAfterMsOfInactivity: 5000
929
945
  }).$isUserActive;
930
946
  }
931
- $isUserActive.subscribe(function (isUserActive) {
947
+ globalContext.$isUserActive.subscribe(function (isUserActive) {
932
948
  if (isUserActive) {
933
949
  if (stopCountdown_1 !== undefined) {
934
950
  stopCountdown_1();