oidc-spa 6.5.1 → 6.6.0

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.
Files changed (84) hide show
  1. package/mock/oidc.js +6 -5
  2. package/mock/oidc.js.map +1 -1
  3. package/oidc/AuthResponse.d.ts +6 -0
  4. package/oidc/AuthResponse.js +59 -0
  5. package/oidc/AuthResponse.js.map +1 -0
  6. package/oidc/Oidc.d.ts +19 -8
  7. package/oidc/createOidc.d.ts +4 -4
  8. package/oidc/createOidc.js +359 -295
  9. package/oidc/createOidc.js.map +1 -1
  10. package/oidc/evtIsUserActive.d.ts +15 -0
  11. package/oidc/{isUserActive.js → evtIsUserActive.js} +29 -12
  12. package/oidc/evtIsUserActive.js.map +1 -0
  13. package/oidc/handleOidcCallback.d.ts +8 -1
  14. package/oidc/handleOidcCallback.js +68 -13
  15. package/oidc/handleOidcCallback.js.map +1 -1
  16. package/oidc/loginOrGoToAuthServer.d.ts +5 -4
  17. package/oidc/loginOrGoToAuthServer.js +190 -227
  18. package/oidc/loginOrGoToAuthServer.js.map +1 -1
  19. package/oidc/loginPropagationToOtherTabs.d.ts +17 -0
  20. package/oidc/loginPropagationToOtherTabs.js +41 -0
  21. package/oidc/loginPropagationToOtherTabs.js.map +1 -0
  22. package/oidc/loginSilent.d.ts +1 -5
  23. package/oidc/loginSilent.js +3 -51
  24. package/oidc/loginSilent.js.map +1 -1
  25. package/oidc/logoutPropagationToOtherTabs.js +1 -1
  26. package/oidc/logoutPropagationToOtherTabs.js.map +1 -1
  27. package/oidc/oidcClientTsUserToTokens.d.ts +1 -1
  28. package/oidc/oidcClientTsUserToTokens.js +45 -23
  29. package/oidc/oidcClientTsUserToTokens.js.map +1 -1
  30. package/oidc/ongoingLoginOrRefreshProcesses.d.ts +16 -0
  31. package/oidc/ongoingLoginOrRefreshProcesses.js +102 -0
  32. package/oidc/ongoingLoginOrRefreshProcesses.js.map +1 -0
  33. package/oidc/persistedAuthState.d.ts +16 -3
  34. package/oidc/persistedAuthState.js +35 -4
  35. package/oidc/persistedAuthState.js.map +1 -1
  36. package/package.json +36 -21
  37. package/react/react.js +8 -14
  38. package/react/react.js.map +1 -1
  39. package/src/mock/oidc.ts +14 -3
  40. package/src/oidc/AuthResponse.ts +26 -0
  41. package/src/oidc/Oidc.ts +19 -4
  42. package/src/oidc/createOidc.ts +233 -206
  43. package/src/oidc/{isUserActive.ts → evtIsUserActive.ts} +36 -10
  44. package/src/oidc/handleOidcCallback.ts +73 -12
  45. package/src/oidc/loginOrGoToAuthServer.ts +94 -87
  46. package/src/oidc/loginPropagationToOtherTabs.ts +63 -0
  47. package/src/oidc/loginSilent.ts +2 -20
  48. package/src/oidc/logoutPropagationToOtherTabs.ts +2 -2
  49. package/src/oidc/oidcClientTsUserToTokens.ts +74 -35
  50. package/src/oidc/ongoingLoginOrRefreshProcesses.ts +60 -0
  51. package/src/oidc/persistedAuthState.ts +66 -8
  52. package/src/react/react.tsx +8 -16
  53. package/src/tools/{ephemeralSessionStorage.ts → EphemeralSessionStorage.ts} +59 -27
  54. package/src/tools/Evt.ts +56 -0
  55. package/src/tools/StatefulEvt.ts +38 -0
  56. package/src/tools/parseKeycloakIssuerUri.ts +9 -1
  57. package/src/tools/subscribeToUserInteraction.ts +0 -1
  58. package/src/tools/workerTimers.ts +10 -12
  59. package/tools/EphemeralSessionStorage.d.ts +12 -0
  60. package/tools/{ephemeralSessionStorage.js → EphemeralSessionStorage.js} +29 -16
  61. package/tools/EphemeralSessionStorage.js.map +1 -0
  62. package/tools/Evt.d.ts +11 -0
  63. package/tools/{AwaitableEventEmitter.js → Evt.js} +24 -8
  64. package/tools/Evt.js.map +1 -0
  65. package/tools/StatefulEvt.d.ts +12 -0
  66. package/tools/StatefulEvt.js +24 -0
  67. package/tools/StatefulEvt.js.map +1 -0
  68. package/tools/parseKeycloakIssuerUri.js +5 -1
  69. package/tools/parseKeycloakIssuerUri.js.map +1 -1
  70. package/tools/subscribeToUserInteraction.js +2 -3
  71. package/tools/subscribeToUserInteraction.js.map +1 -1
  72. package/tools/workerTimers.js +11 -13
  73. package/tools/workerTimers.js.map +1 -1
  74. package/oidc/isUserActive.d.ts +0 -13
  75. package/oidc/isUserActive.js.map +0 -1
  76. package/src/tools/AwaitableEventEmitter.ts +0 -33
  77. package/src/tools/StatefulObservable.ts +0 -52
  78. package/tools/AwaitableEventEmitter.d.ts +0 -5
  79. package/tools/AwaitableEventEmitter.js.map +0 -1
  80. package/tools/StatefulObservable.d.ts +0 -12
  81. package/tools/StatefulObservable.js +0 -33
  82. package/tools/StatefulObservable.js.map +0 -1
  83. package/tools/ephemeralSessionStorage.d.ts +0 -3
  84. package/tools/ephemeralSessionStorage.js.map +0 -1
package/mock/oidc.js CHANGED
@@ -119,20 +119,21 @@ function createMockOidc(params) {
119
119
  oidc = __assign(__assign({}, common), { isUserLoggedIn: true, renewTokens: function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
120
120
  return [2 /*return*/];
121
121
  }); }); }, getTokens: (function () {
122
- var _a, _b, _c, _d, _e, _f;
123
- var tokens = {
122
+ var _a, _b, _c, _d, _e;
123
+ var tokens_common = {
124
124
  accessToken: (_a = mockedTokens.accessToken) !== null && _a !== void 0 ? _a : "mocked-access-token",
125
125
  accessTokenExpirationTime: (_b = mockedTokens.accessTokenExpirationTime) !== null && _b !== void 0 ? _b : Infinity,
126
126
  idToken: (_c = mockedTokens.idToken) !== null && _c !== void 0 ? _c : "mocked-id-token",
127
- refreshToken: (_d = mockedTokens.refreshToken) !== null && _d !== void 0 ? _d : "mocked-refresh-token",
128
- refreshTokenExpirationTime: (_e = mockedTokens.refreshTokenExpirationTime) !== null && _e !== void 0 ? _e : Infinity,
129
- decodedIdToken: (_f = mockedTokens.decodedIdToken) !== null && _f !== void 0 ? _f : (0, createObjectThatThrowsIfAccessed_1.createObjectThatThrowsIfAccessed)({
127
+ decodedIdToken: (_d = mockedTokens.decodedIdToken) !== null && _d !== void 0 ? _d : (0, createObjectThatThrowsIfAccessed_1.createObjectThatThrowsIfAccessed)({
130
128
  debugMessage: [
131
129
  "You haven't provided a mocked decodedIdToken",
132
130
  "See https://docs.oidc-spa.dev/v/v6/mock"
133
131
  ].join("\n")
134
132
  })
135
133
  };
134
+ var tokens = mockedTokens.refreshToken !== undefined || mockedTokens.hasRefreshToken === true
135
+ ? (0, tsafe_1.id)(__assign(__assign({}, tokens_common), { hasRefreshToken: true, refreshToken: (_e = mockedTokens.refreshToken) !== null && _e !== void 0 ? _e : "mocked-refresh-token", refreshTokenExpirationTime: mockedTokens.refreshTokenExpirationTime }))
136
+ : (0, tsafe_1.id)(__assign(__assign({}, tokens_common), { hasRefreshToken: false }));
136
137
  return function () { return tokens; };
137
138
  })(), getTokens_next: function () { return Promise.resolve(oidc.getTokens()); }, getDecodedIdToken: function () { return oidc.getTokens().decodedIdToken; }, subscribeToTokensChange: function () { return ({
138
139
  unsubscribe: function () { }
package/mock/oidc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/mock/oidc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,wCAiJC;AA5KD,8FAA6F;AAC7F,kDAA8C;AAC9C,oEAAmE;AAuBnE,IAAM,YAAY,GAAG,gBAAgB,CAAC;AAEtC,SAAsB,cAAc,CAIhC,MAAyD;;;;;;;;oBAGrD,KAMA,MAAM,wBANwB,EAA9B,uBAAuB,mBAAG,IAAI,KAAA,EAC9B,KAKA,MAAM,aALW,EAAjB,YAAY,mBAAG,EAAE,KAAA,EACjB,KAIA,MAAM,aAJW,EAAjB,YAAY,mBAAG,EAAE,KAAA,EACR,cAAc,GAGvB,MAAM,QAHiB,EACvB,KAEA,MAAM,UAFW,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,oBAAoB,GACpB,MAAM,qBADc,CACb;oBAEL,cAAc,GAAG,CAAC;wBACpB,IAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAE7C,IAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBAE5D,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;4BACzB,OAAO,uBAAuB,CAAC;wBACnC,CAAC;wBAED,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAEzC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;wBAEjD,OAAO,aAAa,KAAK,MAAM,CAAC;oBACpC,CAAC,CAAC,EAAE,CAAC;oBAEC,OAAO,GAAG,IAAA,yCAAmB,EAAC;wBAChC,MAAM,EAAE,cAAc;wBACtB,qBAAqB,EAAE,IAAI;wBAC3B,yBAAyB,EAAE,IAAI;qBAClC,CAAC,CAAC;oBAEG,MAAM,GAAgB;wBACxB,MAAM,EAAE;4BACJ,QAAQ,EAAE,MAAA,YAAY,CAAC,QAAQ,mCAAI,cAAc;4BACjD,SAAS,EAAE,MAAA,YAAY,CAAC,SAAS,mCAAI,oDAAoD;yBAC5F;qBACJ,CAAC;oBAEI,qBAAqB,GAAG,UAAO,MAEpC;;;4BACW,WAAW,GAAK,MAAM,YAAX,CAAY;4BAEzB,MAAM,GAAG,IAAI,GAAG,CAClB,CAAC;gCACG,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oCAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gCAChC,CAAC;gCACD,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;oCAC9B,CAAC,CAAC,UAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAG,WAAW,CAAE;oCAC3C,CAAC,CAAC,WAAW,CAAC;4BACtB,CAAC,CAAC,EAAE,CACP,CAAC;4BAEF,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;4BAE9C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;4BAEnC,sBAAO,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAC;;yBACvC,CAAC;yBAEE,CAAC,cAAc,EAAf,wBAAe;oBACT,SAAO,IAAA,UAAE,wBACR,MAAM,KACT,cAAc,EAAE,KAAK,EACrB,KAAK,EAAE,UAAC,EAAe;gCAAb,WAAW,iBAAA;4BAAO,OAAA,qBAAqB,CAAC,EAAE,WAAW,aAAA,EAAE,CAAC;wBAAtC,CAAsC,EAClE,mBAAmB,EAAE,SAAS,IAChC,CAAC;yBACC,SAAS,EAAT,wBAAS;oBACT,qBAAM,MAAI,CAAC,KAAK,CAAC;4BACb,WAAW,EAAE,oBAAoB;4BACjC,2BAA2B,EAAE,IAAI;yBACpC,CAAC,EAAA;;oBAHF,SAGE,CAAC;;;gBAGP,8CAA8C;gBAC9C,sBAAO,MAAI,EAAC;;oBAGV,IAAI,yBACH,MAAM,KACT,cAAc,EAAE,IAAI,EACpB,WAAW,EAAE;;iCAAc,EAC3B,SAAS,EAAE,CAAC;;4BACR,IAAM,MAAM,GAAgC;gCACxC,WAAW,EAAE,MAAA,YAAY,CAAC,WAAW,mCAAI,qBAAqB;gCAC9D,yBAAyB,EAAE,MAAA,YAAY,CAAC,yBAAyB,mCAAI,QAAQ;gCAC7E,OAAO,EAAE,MAAA,YAAY,CAAC,OAAO,mCAAI,iBAAiB;gCAClD,YAAY,EAAE,MAAA,YAAY,CAAC,YAAY,mCAAI,sBAAsB;gCACjE,0BAA0B,EAAE,MAAA,YAAY,CAAC,0BAA0B,mCAAI,QAAQ;gCAC/E,cAAc,EACV,MAAA,YAAY,CAAC,cAAc,mCAC3B,IAAA,mEAAgC,EAAiB;oCAC7C,YAAY,EAAE;wCACV,8CAA8C;wCAC9C,yCAAyC;qCAC5C,CAAC,IAAI,CAAC,IAAI,CAAC;iCACf,CAAC;6BACT,CAAC;4BAEF,OAAO,cAAM,OAAA,MAAM,EAAN,CAAM,CAAC;wBACxB,CAAC,CAAC,EAAE,EACJ,cAAc,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAjC,CAAiC,EACvD,iBAAiB,EAAE,cAAM,OAAA,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,EAA/B,CAA+B,EACxD,uBAAuB,EAAE,cAAM,OAAA,CAAC;4BAC5B,WAAW,EAAE,cAAO,CAAC;yBACxB,CAAC,EAF6B,CAE7B,EACF,MAAM,EAAE,UAAA,MAAM;4BACV,IAAM,MAAM,GAAG,IAAI,GAAG,CAClB,CAAC;gCACG,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;oCACxB,KAAK,cAAc;wCACf,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oCAChC,KAAK,MAAM;wCACP,OAAO,OAAO,CAAC;oCACnB,KAAK,cAAc;wCACf,OAAO,IAAA,yCAAmB,EAAC;4CACvB,MAAM,EAAE,MAAM,CAAC,GAAG;4CAClB,qBAAqB,EAAE,KAAK;yCAC/B,CAAC,CAAC;gCACX,CAAC;4BACL,CAAC,CAAC,EAAE,CACP,CAAC;4BAEF,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;4BAE/C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;4BAEnC,OAAO,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,CAAC;wBACxC,CAAC,EACD,8BAA8B,EAAE,cAAM,OAAA,CAAC;4BACnC,kCAAkC,EAAE,cAAO,CAAC;yBAC/C,CAAC,EAFoC,CAEpC,EACF,cAAc,EAAE,gEAAO,EAAe;gCAAb,WAAW,iBAAA;;gCAAO,sBAAA,qBAAqB,CAAC,EAAE,WAAW,aAAA,EAAE,CAAC,EAAA;;6BAAA,EACjF,mBAAmB,EAAE,KAAK,EAC1B,kBAAkB,EAAE,SAAS,GAChC,CAAC;oBAEF,sBAAO,IAAI,EAAC;;;;CACf"}
1
+ {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/mock/oidc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type AuthResponse = {
2
+ state: string;
3
+ [key: string]: string | undefined;
4
+ };
5
+ export declare function getIsAuthResponse(data: any): data is AuthResponse;
6
+ export declare function authResponseToUrl(authResponse: AuthResponse): string;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __values = (this && this.__values) || function(o) {
3
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
+ if (m) return m.call(o);
5
+ if (o && typeof o.length === "number") return {
6
+ next: function () {
7
+ if (o && i >= o.length) o = void 0;
8
+ return { value: o && o[i++], done: !o };
9
+ }
10
+ };
11
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.getIsAuthResponse = getIsAuthResponse;
31
+ exports.authResponseToUrl = authResponseToUrl;
32
+ function getIsAuthResponse(data) {
33
+ return (data instanceof Object &&
34
+ "state" in data &&
35
+ typeof data.state === "string" &&
36
+ Object.values(data).every(function (value) { return value === undefined || typeof value === "string"; }));
37
+ }
38
+ function authResponseToUrl(authResponse) {
39
+ var e_1, _a;
40
+ var authResponseUrl = new URL("https://dummy.com");
41
+ try {
42
+ for (var _b = __values(Object.entries(authResponse)), _c = _b.next(); !_c.done; _c = _b.next()) {
43
+ var _d = __read(_c.value, 2), name_1 = _d[0], value = _d[1];
44
+ if (value === undefined) {
45
+ continue;
46
+ }
47
+ authResponseUrl.searchParams.set(name_1, value);
48
+ }
49
+ }
50
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
51
+ finally {
52
+ try {
53
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
54
+ }
55
+ finally { if (e_1) throw e_1.error; }
56
+ }
57
+ return authResponseUrl.href;
58
+ }
59
+ //# sourceMappingURL=AuthResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthResponse.js","sourceRoot":"","sources":["../src/oidc/AuthResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,8CAOC;AAED,8CAWC;AApBD,SAAgB,iBAAiB,CAAC,IAAS;IACvC,OAAO,CACH,IAAI,YAAY,MAAM;QACtB,OAAO,IAAI,IAAI;QACf,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAhD,CAAgD,CAAC,CACvF,CAAC;AACN,CAAC;AAED,SAAgB,iBAAiB,CAAC,YAA0B;;IACxD,IAAM,eAAe,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;;QAErD,KAA4B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA,gBAAA,4BAAE,CAAC;YAAhD,IAAA,KAAA,mBAAa,EAAZ,MAAI,QAAA,EAAE,KAAK,QAAA;YACnB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,SAAS;YACb,CAAC;YACD,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,MAAI,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;;;;;;;;;IAED,OAAO,eAAe,CAAC,IAAI,CAAC;AAChC,CAAC"}
package/oidc/Oidc.d.ts CHANGED
@@ -93,12 +93,23 @@ export declare namespace Oidc {
93
93
  */
94
94
  isNewBrowserSession: boolean;
95
95
  };
96
- type Tokens<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> = Readonly<{
97
- accessToken: string;
98
- accessTokenExpirationTime: number;
99
- idToken: string;
100
- refreshToken: string;
101
- refreshTokenExpirationTime: number;
102
- decodedIdToken: DecodedIdToken;
103
- }>;
96
+ type Tokens<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> = Tokens.WithRefreshToken<DecodedIdToken> | Tokens.WithoutRefreshToken<DecodedIdToken>;
97
+ namespace Tokens {
98
+ type Common<DecodedIdToken> = {
99
+ accessToken: string;
100
+ accessTokenExpirationTime: number;
101
+ idToken: string;
102
+ decodedIdToken: DecodedIdToken;
103
+ };
104
+ type WithRefreshToken<DecodedIdToken> = Common<DecodedIdToken> & {
105
+ hasRefreshToken: true;
106
+ refreshToken: string;
107
+ refreshTokenExpirationTime: number | undefined;
108
+ };
109
+ type WithoutRefreshToken<DecodedIdToken> = Common<DecodedIdToken> & {
110
+ hasRefreshToken: false;
111
+ refreshToken?: never;
112
+ refreshTokenExpirationTime?: never;
113
+ };
114
+ }
104
115
  }
@@ -1,6 +1,5 @@
1
- import type { StatefulObservable } from "../tools/StatefulObservable";
2
1
  import type { Oidc } from "./Oidc";
3
- import { type AwaitableEventEmitter } from "../tools/AwaitableEventEmitter";
2
+ import { type Evt } from "../tools/Evt";
4
3
  export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, AutoLogin extends boolean = false> = {
5
4
  issuerUri: string;
6
5
  clientId: string;
@@ -79,9 +78,10 @@ declare global {
79
78
  interface Window {
80
79
  [GLOBAL_CONTEXT_KEY]: {
81
80
  prOidcByConfigId: Map<string, Promise<Oidc<any>>>;
82
- evtAuthResponseHandled: AwaitableEventEmitter<void>;
83
- $isUserActive: StatefulObservable<boolean> | undefined;
84
81
  hasLogoutBeenCalled: boolean;
82
+ evtRequestToPersistTokens: Evt<{
83
+ configIdOfInstancePostingTheRequest: string;
84
+ }>;
85
85
  };
86
86
  }
87
87
  }