oidc-spa 7.2.5 → 7.3.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 (36) hide show
  1. package/core/Oidc.d.ts +4 -1
  2. package/core/createOidc.js +65 -18
  3. package/core/createOidc.js.map +1 -1
  4. package/core/oidcClientTsUserToTokens.js +7 -2
  5. package/core/oidcClientTsUserToTokens.js.map +1 -1
  6. package/esm/core/Oidc.d.ts +4 -1
  7. package/esm/core/createOidc.js +65 -18
  8. package/esm/core/createOidc.js.map +1 -1
  9. package/esm/core/oidcClientTsUserToTokens.js +7 -2
  10. package/esm/core/oidcClientTsUserToTokens.js.map +1 -1
  11. package/esm/keycloak/keycloak-js/Keycloak.d.ts +1 -3
  12. package/esm/keycloak/keycloak-js/Keycloak.js +31 -15
  13. package/esm/keycloak/keycloak-js/Keycloak.js.map +1 -1
  14. package/esm/keycloak/keycloak-js/types.d.ts +1 -3
  15. package/esm/mock/oidc.js +2 -1
  16. package/esm/mock/oidc.js.map +1 -1
  17. package/esm/tools/workerTimers.js +2 -5
  18. package/esm/tools/workerTimers.js.map +1 -1
  19. package/esm/vendor/frontend/oidc-client-ts.js +46 -8
  20. package/keycloak/keycloak-js/Keycloak.d.ts +1 -3
  21. package/keycloak/keycloak-js/Keycloak.js +31 -15
  22. package/keycloak/keycloak-js/Keycloak.js.map +1 -1
  23. package/keycloak/keycloak-js/types.d.ts +1 -3
  24. package/mock/oidc.js +2 -1
  25. package/mock/oidc.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/core/Oidc.ts +5 -1
  28. package/src/core/createOidc.ts +81 -16
  29. package/src/core/oidcClientTsUserToTokens.ts +7 -2
  30. package/src/keycloak/keycloak-js/Keycloak.ts +37 -10
  31. package/src/keycloak/keycloak-js/types.ts +1 -4
  32. package/src/mock/oidc.ts +2 -1
  33. package/src/tools/workerTimers.ts +2 -6
  34. package/tools/workerTimers.js +2 -5
  35. package/tools/workerTimers.js.map +1 -1
  36. package/vendor/frontend/oidc-client-ts.js +46 -8
@@ -1135,6 +1135,7 @@ var UserInfoService = class {
1135
1135
  };
1136
1136
 
1137
1137
  // src/TokenClient.ts
1138
+ var localTimeByResponse = /* @__PURE__ */ new WeakMap();
1138
1139
  var TokenClient = class {
1139
1140
  constructor(_settings, _metadataService) {
1140
1141
  this._settings = _settings;
@@ -1193,6 +1194,7 @@ var TokenClient = class {
1193
1194
  }
1194
1195
  const url = await this._metadataService.getTokenEndpoint(false);
1195
1196
  logger2.debug("got token endpoint");
1197
+ const timeBefore = Date.now();
1196
1198
  const response = await this._jsonService.postForm(url, {
1197
1199
  body: params,
1198
1200
  basicAuth,
@@ -1200,6 +1202,8 @@ var TokenClient = class {
1200
1202
  initCredentials: this._settings.fetchRequestCredentials,
1201
1203
  extraHeaders
1202
1204
  });
1205
+ const timeAfter = Date.now();
1206
+ localTimeByResponse.set(response, Math.floor((timeBefore + timeAfter) / 2));
1203
1207
  logger2.debug("got response");
1204
1208
  return response;
1205
1209
  }
@@ -1246,7 +1250,10 @@ var TokenClient = class {
1246
1250
  }
1247
1251
  const url = await this._metadataService.getTokenEndpoint(false);
1248
1252
  logger2.debug("got token endpoint");
1253
+ const timeBefore = Date.now();
1249
1254
  const response = await this._jsonService.postForm(url, { body: params, basicAuth, timeoutInSeconds: this._settings.requestTimeoutInSeconds, initCredentials: this._settings.fetchRequestCredentials });
1255
+ const timeAfter = Date.now();
1256
+ localTimeByResponse.set(response, Math.floor((timeBefore + timeAfter) / 2));
1250
1257
  logger2.debug("got response");
1251
1258
  return response;
1252
1259
  }
@@ -1296,7 +1303,10 @@ var TokenClient = class {
1296
1303
  }
1297
1304
  const url = await this._metadataService.getTokenEndpoint(false);
1298
1305
  logger2.debug("got token endpoint");
1306
+ const timeBefore = Date.now();
1299
1307
  const response = await this._jsonService.postForm(url, { body: params, basicAuth, timeoutInSeconds, initCredentials: this._settings.fetchRequestCredentials, extraHeaders });
1308
+ const timeAfter = Date.now();
1309
+ localTimeByResponse.set(response, Math.floor((timeBefore + timeAfter) / 2));
1300
1310
  logger2.debug("got response");
1301
1311
  return response;
1302
1312
  }
@@ -1451,6 +1461,13 @@ var ResponseValidator = class {
1451
1461
  });
1452
1462
  Object.assign(response, tokenResponse);
1453
1463
  response.__oidc_spa_tokenResponse = tokenResponse;
1464
+ response.__oidc_spa_localTimeWhenTokenIssued = (() => {
1465
+ const time = localTimeByResponse.get(tokenResponse);
1466
+ if (time === void 0) {
1467
+ throw new Error("oidc-spa error in oidc-client-ts");
1468
+ }
1469
+ return time;
1470
+ })();
1454
1471
  } else {
1455
1472
  logger2.debug("No code to process");
1456
1473
  }
@@ -1735,6 +1752,7 @@ var SigninResponse = class {
1735
1752
  this.error_uri = params.get("error_uri");
1736
1753
  this.code = params.get("code");
1737
1754
  this.__oidc_spa_tokenResponse = void 0;
1755
+ this.__oidc_spa_localTimeWhenTokenIssued = void 0;
1738
1756
  }
1739
1757
  get expires_in() {
1740
1758
  if (this.expires_at === void 0) {
@@ -2021,6 +2039,13 @@ var OidcClient = class {
2021
2039
  const signinResponse = new SigninResponse(new URLSearchParams());
2022
2040
  Object.assign(signinResponse, tokenResponse);
2023
2041
  signinResponse.__oidc_spa_tokenResponse = tokenResponse;
2042
+ signinResponse.__oidc_spa_localTimeWhenTokenIssued = (() => {
2043
+ const time = localTimeByResponse.get(tokenResponse);
2044
+ if (time === void 0) {
2045
+ throw new Error("oidc-spa error in oidc-client-ts");
2046
+ }
2047
+ return time;
2048
+ })();
2024
2049
  await this._validator.validateCredentialsResponse(signinResponse, skipUserInfo);
2025
2050
  return signinResponse;
2026
2051
  }
@@ -2078,6 +2103,13 @@ var OidcClient = class {
2078
2103
  const response = new SigninResponse(new URLSearchParams());
2079
2104
  Object.assign(response, result);
2080
2105
  response.__oidc_spa_tokenResponse = result;
2106
+ response.__oidc_spa_localTimeWhenTokenIssued = (() => {
2107
+ const time = localTimeByResponse.get(result);
2108
+ if (time === void 0) {
2109
+ throw new Error("oidc-spa error in oidc-client-ts");
2110
+ }
2111
+ return time;
2112
+ })();
2081
2113
  logger2.debug("validating response", response);
2082
2114
  await this._validator.validateRefreshResponse(response, {
2083
2115
  ...state,
@@ -2309,6 +2341,7 @@ var User = class _User {
2309
2341
  this.state = args.userState;
2310
2342
  this.url_state = args.url_state;
2311
2343
  this.__oidc_spa_tokenResponse = args.__oidc_spa_tokenResponse;
2344
+ this.__oidc_spa_localTimeWhenTokenIssued = args.__oidc_spa_localTimeWhenTokenIssued;
2312
2345
  }
2313
2346
  /** Computed number of seconds the access token has remaining. */
2314
2347
  get expires_in() {
@@ -2346,7 +2379,8 @@ var User = class _User {
2346
2379
  scope: this.scope,
2347
2380
  profile: this.profile,
2348
2381
  expires_at: this.expires_at,
2349
- __oidc_spa_tokenResponse: this.__oidc_spa_tokenResponse
2382
+ __oidc_spa_tokenResponse: this.__oidc_spa_tokenResponse,
2383
+ __oidc_spa_localTimeWhenTokenIssued: this.__oidc_spa_localTimeWhenTokenIssued
2350
2384
  });
2351
2385
  }
2352
2386
  static fromStorageString(storageString) {
@@ -3103,12 +3137,15 @@ var UserManager = class {
3103
3137
  timeoutInSeconds: this.settings.silentRequestTimeoutInSeconds,
3104
3138
  ...args
3105
3139
  });
3106
- if (response.__oidc_spa_tokenResponse === void 0) {
3107
- throw new Error(
3108
- "Wrong Assertion Encountered: Error in oidc-spa mod of oidc-client-ts"
3109
- );
3140
+ if (response.__oidc_spa_tokenResponse === void 0 || response.__oidc_spa_localTimeWhenTokenIssued === void 0) {
3141
+ throw new Error("Wrong Assertion Encountered: Error in oidc-spa mod of oidc-client-ts");
3110
3142
  }
3111
- const user = new User({ ...args.state, ...response, __oidc_spa_tokenResponse: response.__oidc_spa_tokenResponse });
3143
+ const user = new User({
3144
+ ...args.state,
3145
+ ...response,
3146
+ __oidc_spa_tokenResponse: response.__oidc_spa_tokenResponse,
3147
+ __oidc_spa_localTimeWhenTokenIssued: response.__oidc_spa_localTimeWhenTokenIssued
3148
+ });
3112
3149
  await this.storeUser(user);
3113
3150
  await this._events.load(user);
3114
3151
  return user;
@@ -3271,14 +3308,15 @@ var UserManager = class {
3271
3308
  }
3272
3309
  async _buildUser(signinResponse, verifySub) {
3273
3310
  const logger2 = this._logger.create("_buildUser");
3274
- if (signinResponse.__oidc_spa_tokenResponse === void 0) {
3311
+ if (signinResponse.__oidc_spa_tokenResponse === void 0 || signinResponse.__oidc_spa_localTimeWhenTokenIssued === void 0) {
3275
3312
  throw new Error(
3276
3313
  "Wrong Assertion Encountered: Error in oidc-spa mod of oidc-client-ts"
3277
3314
  );
3278
3315
  }
3279
3316
  const user = new User({
3280
3317
  ...signinResponse,
3281
- __oidc_spa_tokenResponse: signinResponse.__oidc_spa_tokenResponse
3318
+ __oidc_spa_tokenResponse: signinResponse.__oidc_spa_tokenResponse,
3319
+ __oidc_spa_localTimeWhenTokenIssued: signinResponse.__oidc_spa_localTimeWhenTokenIssued
3282
3320
  });
3283
3321
  if (verifySub) {
3284
3322
  if (verifySub !== user.profile.sub) {
@@ -90,10 +90,8 @@ export declare class Keycloak {
90
90
  * The estimated time difference between the browser time and the Keycloak
91
91
  * server in seconds. This value is just an estimation, but is accurate
92
92
  * enough when determining if a token is expired or not.
93
- *
94
- * NOTE oidc-spa: Not supported.
95
93
  */
96
- timeSkew: null;
94
+ get timeSkew(): number | null;
97
95
  /**
98
96
  * Whether the instance has been initialized by calling `.init()`.
99
97
  */
@@ -47,14 +47,6 @@ class Keycloak {
47
47
  * NOTE oidc-spa: Can only be 'standard'
48
48
  */
49
49
  this.flow = "standard";
50
- /**
51
- * The estimated time difference between the browser time and the Keycloak
52
- * server in seconds. This value is just an estimation, but is accurate
53
- * enough when determining if a token is expired or not.
54
- *
55
- * NOTE oidc-spa: Not supported.
56
- */
57
- this.timeSkew = null;
58
50
  const issuerUri = `${params.url.replace(/\/$/, "")}/realms/${params.realm}`;
59
51
  internalStateByInstance.set(this, {
60
52
  constructorParams: params,
@@ -238,7 +230,7 @@ class Keycloak {
238
230
  const { oidc, tokens } = internalState;
239
231
  (0, tsafe_1.assert)(oidc !== undefined);
240
232
  if (!oidc.isUserLoggedIn) {
241
- console.warn("Trying to read keycloak.realAccess when keycloak.realmAccess is false is a logical error in your application");
233
+ console.warn("Trying to read keycloak.realAccess when keycloak.authenticated is false is a logical error in your application");
242
234
  return undefined;
243
235
  }
244
236
  (0, tsafe_1.assert)(tokens !== undefined);
@@ -277,7 +269,7 @@ class Keycloak {
277
269
  const { oidc, tokens } = internalState;
278
270
  (0, tsafe_1.assert)(oidc !== undefined);
279
271
  if (!oidc.isUserLoggedIn) {
280
- console.warn("Trying to read keycloak.token when keycloak.token is false is a logical error in your application");
272
+ console.warn("Trying to read keycloak.token when keycloak.authenticated is false is a logical error in your application");
281
273
  return undefined;
282
274
  }
283
275
  (0, tsafe_1.assert)(tokens !== undefined);
@@ -299,7 +291,7 @@ class Keycloak {
299
291
  const { oidc, tokens } = internalState;
300
292
  (0, tsafe_1.assert)(oidc !== undefined);
301
293
  if (!oidc.isUserLoggedIn) {
302
- console.warn("Trying to read keycloak.token when keycloak.tokenParsed is false is a logical error in your application");
294
+ console.warn("Trying to read keycloak.tokenParsed when keycloak.authenticated is false is a logical error in your application");
303
295
  return undefined;
304
296
  }
305
297
  (0, tsafe_1.assert)(tokens !== undefined);
@@ -317,7 +309,7 @@ class Keycloak {
317
309
  const { oidc, tokens } = internalState;
318
310
  (0, tsafe_1.assert)(oidc !== undefined);
319
311
  if (!oidc.isUserLoggedIn) {
320
- console.warn("Trying to read keycloak.token when keycloak.refreshToken is false is a logical error in your application");
312
+ console.warn("Trying to read keycloak.refreshToken when keycloak.authenticated is false is a logical error in your application");
321
313
  return undefined;
322
314
  }
323
315
  (0, tsafe_1.assert)(tokens !== undefined);
@@ -339,7 +331,7 @@ class Keycloak {
339
331
  const { oidc, tokens } = internalState;
340
332
  (0, tsafe_1.assert)(oidc !== undefined);
341
333
  if (!oidc.isUserLoggedIn) {
342
- console.warn("Trying to read keycloak.token when keycloak.refreshTokenParsed is false is a logical error in your application");
334
+ console.warn("Trying to read keycloak.refreshTokenParsed when keycloak.authenticated is false is a logical error in your application");
343
335
  return undefined;
344
336
  }
345
337
  (0, tsafe_1.assert)(tokens !== undefined);
@@ -360,7 +352,7 @@ class Keycloak {
360
352
  const { oidc, tokens } = internalState;
361
353
  (0, tsafe_1.assert)(oidc !== undefined);
362
354
  if (!oidc.isUserLoggedIn) {
363
- console.warn("Trying to read keycloak.token when keycloak.token is false is a logical error in your application");
355
+ console.warn("Trying to read keycloak.idToken when keycloak.authenticated is false is a logical error in your application");
364
356
  return undefined;
365
357
  }
366
358
  (0, tsafe_1.assert)(tokens !== undefined);
@@ -382,13 +374,37 @@ class Keycloak {
382
374
  const { oidc, tokens } = internalState;
383
375
  (0, tsafe_1.assert)(oidc !== undefined);
384
376
  if (!oidc.isUserLoggedIn) {
385
- console.warn("Trying to read keycloak.token when keycloak.refreshTokenParsed is false is a logical error in your application");
377
+ console.warn("Trying to read keycloak.idTokenParsed when keycloak.authenticated is false is a logical error in your application");
386
378
  return undefined;
387
379
  }
388
380
  (0, tsafe_1.assert)(tokens !== undefined);
389
381
  (0, tsafe_1.assert)((0, tsafe_1.is)(tokens.decodedIdToken_original));
390
382
  return tokens.decodedIdToken_original;
391
383
  }
384
+ /**
385
+ * The estimated time difference between the browser time and the Keycloak
386
+ * server in seconds. This value is just an estimation, but is accurate
387
+ * enough when determining if a token is expired or not.
388
+ */
389
+ get timeSkew() {
390
+ const internalState = internalStateByInstance.get(this);
391
+ (0, tsafe_1.assert)(internalState !== undefined);
392
+ if (!this.didInitialize) {
393
+ const { timeSkew } = internalState.initOptions ?? {};
394
+ if (timeSkew === undefined) {
395
+ return null;
396
+ }
397
+ return timeSkew;
398
+ }
399
+ const { oidc, tokens } = internalState;
400
+ (0, tsafe_1.assert)(oidc !== undefined);
401
+ if (!oidc.isUserLoggedIn) {
402
+ console.warn("Trying to read keycloak.timeSkew when keycloak.authenticated is false is a logical error in your application");
403
+ return null;
404
+ }
405
+ (0, tsafe_1.assert)(tokens !== undefined);
406
+ return Math.ceil((tokens.getServerDateNow() - Date.now()) / 1000);
407
+ }
392
408
  /**
393
409
  * Whether the instance has been initialized by calling `.init()`.
394
410
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Keycloak.js","sourceRoot":"","sources":["../../src/keycloak/keycloak-js/Keycloak.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Keycloak.js","sourceRoot":"","sources":["../../src/keycloak/keycloak-js/Keycloak.ts"],"names":[],"mappings":";;;AAcA,uDAAkE;AAClE,qCAA4E;AAC5E,mDAAgD;AAChD,qDAAkD;AAClD,oDAA2E;AAC3E,uEAAmE;AACnE,yDAA8E;AAC9E,iFAA8E;AAmB9E,MAAM,uBAAuB,GAAG,IAAI,OAAO,EAA2B,CAAC;AAEvE;;;;;;GAMG;AACH,MAAa,QAAQ;IACjB;;;;;;;OAOG;IACH,YAAY,MAAyB;QAyOrC;;;;WAIG;QACH,iBAAY,GAAG,UAAU,CAAC;QAE1B;;;;;;WAMG;QACH,iBAAY,GAAG,MAAM,CAAC;QAEtB;;;;WAIG;QACH,SAAI,GAAG,UAAU,CAAC;QA7Pd,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC;QAE5E,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE;YAC9B,iBAAiB,EAAE,MAAM;YACzB,YAAY,EAAE,IAAI,mBAAQ,EAAE;YAC5B,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,IAAA,mCAAmB,EAAC,EAAE,SAAS,EAAE,CAAC;YACjD,SAAS;YACT,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,SAAS;YACnB,eAAe,EAAE,IAAA,+BAAiB,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SACtD,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,cAAmC,EAAE;QAC5C,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;QAExF,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,aAAa,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;YAC/B,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;QAED,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC;QAExC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QAEvD,MAAM,SAAS,GAAG,MAAM,KAAK,gBAAgB,CAAC;QAE9C,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAU,EAAC;YACjC,OAAO,EAAE,iBAAiB,CAAC,OAAO;YAClC,SAAS;YACT,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,QAAQ;YAClD,SAAS;YACT,oBAAoB,EAAE,WAAW;YACjC,SAAS,EAAE,aAAa;YACxB,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;YACzB,gBAAgB,EACZ,CAAC,SAAS,IAAI,MAAM,KAAK,SAAS;gBAC9B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,GAAG,EAAE;oBACD,IAAI,iBAAiB,EAAE,CAAC;wBACpB,OAAO,EAAE,CAAC;oBACd,CAAC;oBAED,OAAO;wBACH,UAAU,EAAE,MAAM;qBACrB,CAAC;gBACN,CAAC;SACd,CAAC;YACE,yEAAyE;YACzE,iCAAiC;aAChC,KAAK,CAAC,CAAC,KAA8B,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAEtD,iBAAiB,GAAG,IAAI,CAAC;QAEzB,IAAI,WAAW,YAAY,8BAAuB,EAAE,CAAC;YACjD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,KAAK,EAAE,WAAW,CAAC,IAAI;gBACvB,iBAAiB,EAAE,WAAW,CAAC,OAAO;aACzC,CAAC,CAAC;YAEH,MAAM,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnC,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC;QAEzB,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,CAAC;gBACG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEtC,MAAM,UAAU,GAAG,CAAC,UAAgD,EAAE,EAAE;oBACpE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC;oBAClC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBAClC,CAAC,CAAC;gBAEF,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEnB,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC;YAED,CAAC;gBACG,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC;gBAE1C,IAAI,KAAK,GAA6B,SAAS,CAAC;gBAEhD,eAAe,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;oBACvC,KAAK,EAAE,EAAE,CAAC;oBAEV,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;wBAC/B,OAAO;oBACX,CAAC;oBAED,IAAI,KAAK,GAA2D,SAAS,CAAC;oBAE9E,MAAM,UAAU,GAAG,GAAG,EAAE;wBACpB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BACtB,4BAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;wBACrC,CAAC;wBAED,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;wBACjC,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;wBAE7B,KAAK,GAAG,4BAAY,CAAC,UAAU,CAAC,GAAG,EAAE;4BACjC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC9B,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,yBAAyB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAK,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC3E,CAAC,CAAC;oBAEF,UAAU,EAAE,CAAC;oBAEb,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;oBAEjE,KAAK,GAAG,GAAG,EAAE;wBACT,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BACtB,4BAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;wBACrC,CAAC;wBACD,WAAW,EAAE,CAAC;oBAClB,CAAC,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAED,mBAAmB,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,mBAAmB,CAAC;gBAC9B,CAAC;gBAED,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;gBAEpC,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,mBAAmB,CAAC;gBAC9B,CAAC;gBAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAE1D,IAAI,CAAC,IAAA,eAAO,EAAC,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;oBACtD,MAAM,mBAAmB,CAAC;gBAC9B,CAAC;gBAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBAE7D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,mBAAmB,CAAC;gBAC9B,CAAC;gBAED,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACjE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI;gBACpC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO;aACtD,CAAC,CAAC;QACP,CAAC;QAED,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAErC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;QAE/B,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,6GAA6G,CAChH,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAE7B,OAAO,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC;IAC9C,CAAC;IAyBD;;OAEG;IACH,IAAI,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,gHAAgH,CACnH,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC7B,IAAA,cAAM,EAAC,IAAA,UAAE,EAAsB,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEhE,OAAO,MAAM,CAAC,uBAAuB,CAAC,YAAY,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,oHAAoH,CACvH,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC7B,IAAA,cAAM,EAAC,IAAA,UAAE,EAAsB,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEhE,OAAO,MAAM,CAAC,uBAAuB,CAAC,eAAe,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACL,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC;QAC5C,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,2GAA2G,CAC9G,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAE7B,OAAO,MAAM,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACX,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC;YAElD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,OAAO,IAAA,qBAAS,EAAC,KAAK,CAAwB,CAAC;QACnD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,iHAAiH,CACpH,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAE7B,OAAO,IAAA,qBAAS,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACZ,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC;QACnD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,kHAAkH,CACrH,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAE7B,OAAO,MAAM,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QAClB,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC;YAEzD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,OAAO,IAAA,qBAAS,EAAC,YAAY,CAAwB,CAAC;QAC1D,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,wHAAwH,CAC3H,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAE7B,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,IAAA,qBAAS,EAAC,MAAM,CAAC,YAAY,CAAwB,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC;QAC9C,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,6GAA6G,CAChH,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAE7B,OAAO,MAAM,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACb,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC;YAEpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,OAAO,IAAA,qBAAS,EAAC,OAAO,CAAwB,CAAC;QACrD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,mHAAmH,CACtH,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC7B,IAAA,cAAM,EAAC,IAAA,UAAE,EAAsB,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEhE,OAAO,MAAM,CAAC,uBAAuB,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACR,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC;YAErD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,8GAA8G,CACjH,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACb,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,OAAO,aAAa,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACb,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,MAAM,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;QAEtC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,WAAW,CAAC,MAAM,KAAK,gBAAgB,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACb,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,MAAM,EACF,aAAa,EAAE,EAAE,eAAe,EAAE,EACrC,GAAG,aAAa,CAAC;QAElB,OAAO,GAAG,eAAe,CAAC,MAAM,GAAG,eAAe,CAAC,kBAAkB,EAAE,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,MAAM,EACF,aAAa,EAAE,EAAE,eAAe,EAAE,EACrC,GAAG,aAAa,CAAC;QAElB,OAAO,eAAe,CAAC,KAAK,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,MAAM,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;QAC5C,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACX,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,MAAM,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;QACtC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,WAAW,CAAC,WAAW,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACR,+GAA+G,CAClH,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAE7B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,uBAAuB,CAAC;QAE/C,IAAA,cAAM,EAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;QAEhC,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;QAClC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;QACnC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAsBD;;;;OAIG;IACH,8BAA8B;IAE9B;;;;;OAKG;IACH,wBAAwB;IAExB;;;;;OAKG;IACH,IAAI,cAAc,CAAC,KAA+B;QAC9C,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC;QAC1C,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,IAAI,cAAc;QACd,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC;QAC1C,OAAO,eAAe,CAAC,OAAO,CAAC;IACnC,CAAC;IASD;;;OAGG;IACH,KAAK,CAAC,KAAK,CACP,OAA0E;QAE1E,MAAM,EACF,WAAW,EACX,MAAM,EACN,SAAS,EACT,GAAG,EACH,SAAS,EACT,OAAO,EACP,MAAM,EACN,2BAA2B,EAC9B,GAAG,OAAO,IAAI,EAAE,CAAC;QAElB,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;QAE9C,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,MAAM,wBAAwB,GAAuC;YACjE,MAAM,EACF,GAAG,KAAK,SAAS;gBACb,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;oBACX,QAAQ,EAAE;wBACN,GAAG;qBACN;iBACJ,CAAC;YACZ,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,MAAM;SACrB,CAAC;QAEF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAA,cAAM,EAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YAC9B,IAAA,cAAM,EAAC,SAAS,KAAK,SAAS,CAAC,CAAC;YAChC,IAAA,cAAM,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;YAC9B,IAAA,cAAM,EAAC,2BAA2B,KAAK,SAAS,CAAC,CAAC;YAElD,MAAM,IAAI,CAAC,cAAc,CAAC;gBACtB,WAAW,EAAE,WAAW;gBACxB,gBAAgB,EAAE;oBACd,GAAG,wBAAwB;oBAC3B,SAAS,EAAE,MAAM;oBACjB,UAAU,EAAE,MAAM;iBACrB;aACJ,CAAC,CAAC;YACH,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU,CAAC,CAAC;QAEtD,MAAM,IAAI,CAAC,KAAK,CAAC;YACb,WAAW,EAAE,WAAW;YACxB,2BAA2B,EAAE,2BAA2B,IAAI,KAAK;YACjE,gBAAgB,EAAE;gBACd,GAAG,wBAAwB;gBAC3B,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,OAAO;aACvB;YACD,0BAA0B,EACtB,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,qCAAqC;SAC9F,CAAC,CAAC;QACH,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,OAA+B;QACxC,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;QAE5C,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC3B,IAAA,cAAM,EAAC,WAAW,KAAK,SAAS,CAAC,CAAC;QAElC,IAAA,cAAM,EAAC,IAAI,CAAC,cAAc,EAAE,qCAAqC,CAAC,CAAC;QAEnE,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC;QAEpE,MAAM,IAAI,CAAC,MAAM,CAAC;YACd,GAAG,CAAC,WAAW,KAAK,SAAS;gBACzB,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE;gBAChC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;SAC1D,CAAC,CAAC;QACH,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAiC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC;YACd,GAAG,OAAO;YACV,MAAM,EAAE,UAAU;SACrB,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAMvB;QACG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAE9C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACzC,WAAW;YACX,MAAM;SACT,CAAC,CAAC;QACH,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,kEAAkE;IAElE;;;;;OAKG;IACH,2DAA2D;IAE3D;;;;;OAKG;IACH,wEAAwE;IAExE;;;OAGG;IACH,gBAAgB,CAAC,OAAsD;QACnE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAE9C,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;QAExC,OAAO,aAAa,CAAC,aAAa,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,uBAAuB,EAAE,WAAW,IAAI,QAAQ,CAAC,IAAI;YACrD,MAAM;SACT,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,cAAsB,CAAC;QAClC,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,yBAAiC,CAAC;QAEtC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;YACnC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,IAAI,GAAG,IAAA,iDAAuB,EAAC,eAAe,CAAC,CAAC;YAEtD,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,EAAE,gCAAgC,CAAC,CAAC;YAE7D,yBAAyB,GAAG,IAAI,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;YACjC,IAAA,cAAM,EAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAE7B,yBAAyB,GAAG,MAAM,CAAC,yBAAyB,CAAC;QACjE,CAAC;QAED,IAAI,yBAAyB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,IAAK,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,WAAW,CAAC,cAAsB,CAAC;QACrC,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;QAE/B,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAA,cAAM,EAAC,IAAI,CAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,qBAAqB;IAErB;;;OAGG;IACH,YAAY,CAAC,IAAY;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,IAAY,EAAE,QAAiB;QAC3C,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACjB,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;QAE9C,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAA,cAAM,EAAC,IAAI,CAAC,cAAc,EAAE,kDAAkD,CAAC,CAAC;QAEhF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/C,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QACd,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;QAE9C,IAAA,cAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3B,IAAA,cAAM,EAAC,IAAI,CAAC,cAAc,EAAE,+CAA+C,CAAC,CAAC;QAE7E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/C,OAAO,CAAC,aAAa,CAAC,QAAQ,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;CACJ;AAljCD,4BAkjCC"}
@@ -107,10 +107,8 @@ export interface KeycloakInitOptions {
107
107
  /**
108
108
  * Set an initial value for skew between local time and Keycloak server in
109
109
  * seconds (only together with `token` or `refreshToken`).
110
- *
111
- * NOTE oidc-spa: Not supported
112
110
  */
113
- timeSkew?: undefined;
111
+ timeSkew?: number;
114
112
  /**
115
113
  * Set to enable/disable monitoring login state.
116
114
  * @default true (in keycloak-js but false in oidc-spa)
package/mock/oidc.js CHANGED
@@ -99,7 +99,8 @@ async function createMockOidc(params) {
99
99
  "See https://docs.oidc-spa.dev/v/v7/mock"
100
100
  ].join("\n")
101
101
  }),
102
- issuedAtTime: Date.now()
102
+ issuedAtTime: Date.now(),
103
+ getServerDateNow: () => Date.now()
103
104
  };
104
105
  const tokens = mockedTokens.refreshToken !== undefined || mockedTokens.hasRefreshToken === true
105
106
  ? (0, tsafe_1.id)({
package/mock/oidc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/mock/oidc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/mock/oidc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oidc-spa",
3
- "version": "7.2.5",
3
+ "version": "7.3.0",
4
4
  "description": "Openidconnect client for Single Page Applications",
5
5
  "repository": {
6
6
  "type": "git",
package/src/core/Oidc.ts CHANGED
@@ -98,6 +98,7 @@ export declare namespace Oidc {
98
98
  export namespace Tokens {
99
99
  export type Common<DecodedIdToken> = {
100
100
  accessToken: string;
101
+ /** Millisecond epoch in the server's time */
101
102
  accessTokenExpirationTime: number;
102
103
  idToken: string;
103
104
  decodedIdToken: DecodedIdToken;
@@ -112,8 +113,11 @@ export declare namespace Oidc {
112
113
  * `decodedIdToken_original` is the actual decoded payload of the id_token, untransformed.
113
114
  * */
114
115
  decodedIdToken_original: DecodedIdToken_base;
115
- /** Read from id_token's JWT, iat claim value, it's a JavaScript timestamp (millisecond epoch) */
116
+ /** Millisecond epoch in the server's time, read from id_token's JWT, iat claim value */
116
117
  issuedAtTime: number;
118
+
119
+ /** To use instead of Date.now() if you ever need to tell if a token is expired or not */
120
+ getServerDateNow: () => number;
117
121
  };
118
122
 
119
123
  export type WithRefreshToken<DecodedIdToken> = Common<DecodedIdToken> & {
@@ -970,6 +970,8 @@ export async function createOidc_nonMemoized<
970
970
 
971
971
  let wouldHaveAutoLoggedOutIfBrowserWasOnline = false;
972
972
 
973
+ let prOngoingTokenRenewal: Promise<void> | undefined = undefined;
974
+
973
975
  const oidc_loggedIn = id<Oidc.LoggedIn<DecodedIdToken>>({
974
976
  ...oidc_common,
975
977
  isUserLoggedIn: true,
@@ -979,10 +981,19 @@ export async function createOidc_nonMemoized<
979
981
  assert(false);
980
982
  }
981
983
 
984
+ if (prOngoingTokenRenewal === undefined) {
985
+ // NOTE: Give a chance to renewOnLocalTimeShift to do it's job
986
+ await new Promise<void>(resolve => setTimeout(resolve, 0));
987
+ }
988
+
989
+ if (prOngoingTokenRenewal !== undefined) {
990
+ await prOngoingTokenRenewal;
991
+ }
992
+
982
993
  renew_tokens: {
983
994
  {
984
995
  const msBeforeExpirationOfTheAccessToken =
985
- currentTokens.accessTokenExpirationTime - Date.now();
996
+ currentTokens.accessTokenExpirationTime - currentTokens.getServerDateNow();
986
997
 
987
998
  if (msBeforeExpirationOfTheAccessToken > 30_000) {
988
999
  break renew_tokens;
@@ -990,7 +1001,8 @@ export async function createOidc_nonMemoized<
990
1001
  }
991
1002
 
992
1003
  {
993
- const msElapsedSinceCurrentTokenWereIssued = Date.now() - currentTokens.issuedAtTime;
1004
+ const msElapsedSinceCurrentTokenWereIssued =
1005
+ currentTokens.getServerDateNow() - currentTokens.issuedAtTime;
994
1006
 
995
1007
  if (msElapsedSinceCurrentTokenWereIssued < 5_000) {
996
1008
  break renew_tokens;
@@ -1076,6 +1088,7 @@ export async function createOidc_nonMemoized<
1076
1088
  return new Promise<never>(() => {});
1077
1089
  },
1078
1090
  renewTokens: (() => {
1091
+ // NOTE: Cannot throw (or if it does it's our fault)
1079
1092
  async function renewTokens_nonMutexed(params: {
1080
1093
  extraTokenParams: Record<string, string | undefined>;
1081
1094
  }) {
@@ -1231,12 +1244,12 @@ export async function createOidc_nonMemoized<
1231
1244
  }
1232
1245
  | undefined = undefined;
1233
1246
 
1234
- function handleFinally() {
1247
+ function handleThen() {
1235
1248
  assert(ongoingCall !== undefined, "131276");
1236
1249
 
1237
1250
  const { pr } = ongoingCall;
1238
1251
 
1239
- pr.finally(() => {
1252
+ pr.then(() => {
1240
1253
  assert(ongoingCall !== undefined, "549462");
1241
1254
 
1242
1255
  if (ongoingCall.pr !== pr) {
@@ -1247,8 +1260,10 @@ export async function createOidc_nonMemoized<
1247
1260
  });
1248
1261
  }
1249
1262
 
1250
- return async params => {
1251
- const { extraTokenParams: extraTokenParams_local } = params ?? {};
1263
+ async function renewTokens_mutexed(params: {
1264
+ extraTokenParams?: Record<string, string | undefined>;
1265
+ }) {
1266
+ const { extraTokenParams: extraTokenParams_local } = params;
1252
1267
 
1253
1268
  const extraTokenParams = {
1254
1269
  ...getExtraTokenParams?.(),
@@ -1261,7 +1276,7 @@ export async function createOidc_nonMemoized<
1261
1276
  extraTokenParams
1262
1277
  };
1263
1278
 
1264
- handleFinally();
1279
+ handleThen();
1265
1280
 
1266
1281
  return ongoingCall.pr;
1267
1282
  }
@@ -1272,18 +1287,28 @@ export async function createOidc_nonMemoized<
1272
1287
 
1273
1288
  ongoingCall = {
1274
1289
  pr: (async () => {
1275
- try {
1276
- await ongoingCall.pr;
1277
- } catch {}
1290
+ await ongoingCall.pr;
1278
1291
 
1279
1292
  return renewTokens_nonMutexed({ extraTokenParams });
1280
1293
  })(),
1281
1294
  extraTokenParams
1282
1295
  };
1283
1296
 
1284
- handleFinally();
1297
+ handleThen();
1285
1298
 
1286
1299
  return ongoingCall.pr;
1300
+ }
1301
+
1302
+ return params => {
1303
+ const { extraTokenParams } = params ?? {};
1304
+
1305
+ prOngoingTokenRenewal = renewTokens_mutexed({ extraTokenParams });
1306
+
1307
+ prOngoingTokenRenewal.then(() => {
1308
+ prOngoingTokenRenewal = undefined;
1309
+ });
1310
+
1311
+ return prOngoingTokenRenewal;
1287
1312
  };
1288
1313
  })(),
1289
1314
  subscribeToTokensChange: onTokenChange => {
@@ -1338,6 +1363,50 @@ export async function createOidc_nonMemoized<
1338
1363
  });
1339
1364
  }
1340
1365
 
1366
+ // NOTE: Pessimistic renewal of token on potential clock adjustment.
1367
+ (function renewOnLocalTimeShift() {
1368
+ // NOTE: If we can't confidently silently refresh tokens we won't risk reloading
1369
+ // the page just to cover the local time drift edge case.
1370
+ if (!currentTokens.hasRefreshToken && !canUseIframe) {
1371
+ return;
1372
+ }
1373
+
1374
+ let timer: ReturnType<typeof setTimeout> | undefined = undefined;
1375
+
1376
+ const DELAY = 5_000;
1377
+
1378
+ (async () => {
1379
+ while (true) {
1380
+ const before = Date.now();
1381
+ await new Promise<void>(resolve => {
1382
+ timer = setTimeout(resolve, DELAY);
1383
+ });
1384
+ const after = Date.now();
1385
+
1386
+ const elapsed_measured = after - before;
1387
+ const elapsed_theoretical = DELAY;
1388
+
1389
+ if (Math.abs(elapsed_measured - elapsed_theoretical) > 1_000) {
1390
+ log?.("Renewing token now as local time might have shifted");
1391
+ // NOTE: This **will** happen, even if there is no local time drift.
1392
+ // For example when the computer wakes up after sleep.
1393
+ // But it doesn't matter, we'll just make a token renewal that was probably
1394
+ // not necessary. It's best than risking to deem expired token as valid.
1395
+ oidc_loggedIn.renewTokens();
1396
+ return;
1397
+ }
1398
+ }
1399
+ })();
1400
+
1401
+ const { unsubscribe: tokenChangeUnsubscribe } = oidc_loggedIn.subscribeToTokensChange(() => {
1402
+ if (timer !== undefined) {
1403
+ clearTimeout(timer);
1404
+ }
1405
+ tokenChangeUnsubscribe();
1406
+ renewOnLocalTimeShift();
1407
+ });
1408
+ })();
1409
+
1341
1410
  (function scheduleRenew() {
1342
1411
  if (!currentTokens.hasRefreshToken && !canUseIframe) {
1343
1412
  log?.(
@@ -1351,7 +1420,7 @@ export async function createOidc_nonMemoized<
1351
1420
 
1352
1421
  const msBeforeExpiration =
1353
1422
  (currentTokens.refreshTokenExpirationTime ?? currentTokens.accessTokenExpirationTime) -
1354
- Date.now();
1423
+ currentTokens.getServerDateNow();
1355
1424
 
1356
1425
  const typeOfTheTokenWeGotTheTtlFrom =
1357
1426
  currentTokens.refreshTokenExpirationTime !== undefined ? "refresh" : "access";
@@ -1359,10 +1428,6 @@ export async function createOidc_nonMemoized<
1359
1428
  const RENEW_MS_BEFORE_EXPIRES = 30_000;
1360
1429
 
1361
1430
  if (msBeforeExpiration <= RENEW_MS_BEFORE_EXPIRES) {
1362
- // NOTE: We just got a new token that is about to expire. This means that
1363
- // the refresh token has reached it's max SSO time.
1364
- // ...or that the refresh token have a very short lifespan...
1365
- // anyway, no need to keep alive, it will probably redirect on the next getTokens() or refreshTokens() call
1366
1431
  log?.(
1367
1432
  [
1368
1433
  "Disabling auto renew mechanism. We just got fresh tokens",
@@ -75,7 +75,8 @@ export function oidcClientTsUserToTokens<DecodedIdToken extends Record<string, u
75
75
 
76
76
  const issuedAtTime = (() => {
77
77
  // NOTE: The id_token is always a JWT as per the protocol.
78
- // We don't use Date.now() due to network latency.
78
+ // We don't use Date.now() due to network latency or if the
79
+ // local clock is inaccurate.
79
80
  const id_token_iat = (() => {
80
81
  let iat: number | undefined;
81
82
 
@@ -159,7 +160,11 @@ export function oidcClientTsUserToTokens<DecodedIdToken extends Record<string, u
159
160
  idToken,
160
161
  decodedIdToken,
161
162
  decodedIdToken_original,
162
- issuedAtTime
163
+ issuedAtTime,
164
+ getServerDateNow: (() => {
165
+ const issuedAtTime_local = oidcClientTsUser.__oidc_spa_localTimeWhenTokenIssued;
166
+ return () => Date.now() + (issuedAtTime - issuedAtTime_local);
167
+ })()
163
168
  };
164
169
 
165
170
  const tokens: Oidc.Tokens<DecodedIdToken> =