@tidecloak/js 0.13.30 → 0.13.31

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.
@@ -188,7 +188,24 @@ class IAMService {
188
188
  console.warn("[loadConfig] empty config");
189
189
  return null;
190
190
  }
191
- this._config = config;
191
+ // Shallow-copy so we can normalise defaults without mutating the caller's object.
192
+ this._config = { ...config };
193
+ // DPoP is enabled and ENFORCED by default across all TideCloak SDKs. To weaken
194
+ // or disable it, set `useDPoP` explicitly:
195
+ // - `useDPoP: false` → disable DPoP entirely
196
+ // - `useDPoP: { mode: 'auto' }` → use DPoP only when the realm advertises it
197
+ // - `useDPoP: { mode: 'strict' }` → require DPoP (the default); init fails if
198
+ // the realm doesn't advertise DPoP support
199
+ const dpop = this._config.useDPoP;
200
+ if (dpop === false || dpop === null || dpop === "") {
201
+ delete this._config.useDPoP; // explicit opt-out
202
+ }
203
+ else if (dpop === undefined || dpop === true) {
204
+ this._config.useDPoP = { mode: "strict" };
205
+ }
206
+ else if (typeof dpop === "object" && dpop.mode === undefined) {
207
+ this._config.useDPoP = { ...dpop, mode: "strict" };
208
+ }
192
209
  // Hybrid mode: do not construct TideCloak client (tokens are server-side)
193
210
  if (this.isHybridMode()) {
194
211
  return this._config;
@@ -459,7 +476,7 @@ class IAMService {
459
476
  });
460
477
  // if successful, store token for middleware
461
478
  if (authenticated && this._tc.token) {
462
- document.cookie = `kcToken=${this._tc.token}; path=/;`;
479
+ this._setTokenCookie(this._tc.token);
463
480
  }
464
481
  }
465
482
  catch (err) {
@@ -476,6 +493,43 @@ class IAMService {
476
493
  }
477
494
  return this._tc;
478
495
  }
496
+ /**
497
+ * Write the access token to the `kcToken` cookie used by the server middleware.
498
+ * Uses `SameSite=Lax` to blunt CSRF (the cookie is not sent on cross-site
499
+ * subrequests) while still allowing the post-login top-level redirect, and
500
+ * marks it `Secure` whenever the page is served over HTTPS.
501
+ * @private
502
+ */
503
+ _setTokenCookie(token) {
504
+ var _a;
505
+ const secure = typeof window !== "undefined" && ((_a = window.location) === null || _a === void 0 ? void 0 : _a.protocol) === "https:" ? "; Secure" : "";
506
+ document.cookie = `kcToken=${token}; path=/; SameSite=Lax${secure}`;
507
+ }
508
+ /** @private */
509
+ _clearTokenCookie() {
510
+ document.cookie =
511
+ "kcToken=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Lax";
512
+ }
513
+ /**
514
+ * Restrict a post-login return URL to a same-origin, root-relative path to
515
+ * prevent open-redirect. The OAuth `state` (and the sessionStorage fallback)
516
+ * round-trips this value and is then handed to `window.location.assign`, so an
517
+ * attacker-seeded absolute/protocol-relative URL ("https://evil", "//evil",
518
+ * "/\\evil", "javascript:...") must be rejected. Falls back to "/".
519
+ * @private
520
+ */
521
+ _sanitizeReturnUrl(url) {
522
+ if (typeof url !== "string" || url.length === 0)
523
+ return "";
524
+ // Must be a single-leading-slash path; reject protocol-relative "//host"
525
+ // and backslash variants browsers normalise to "//".
526
+ if (url[0] !== "/" || url[1] === "/" || url[1] === "\\")
527
+ return "/";
528
+ // Defensive: reject anything that still parses as having a URL scheme.
529
+ if (/^[a-z][a-z0-9+.-]*:/i.test(url))
530
+ return "/";
531
+ return url;
532
+ }
479
533
  /** @returns {Object} Loaded config */
480
534
  getConfig() {
481
535
  if (!this._config) {
@@ -492,11 +546,13 @@ class IAMService {
492
546
  return !!this.getTideCloakClient().token;
493
547
  }
494
548
  /**
495
- * Get valid token (refreshing if needed).
496
- * @returns {Promise<string>}
549
+ * Get valid token (refreshing if needed). Resolves to `null` in native mode
550
+ * when no tokens are stored or a refresh fails.
551
+ * @returns {Promise<string|null>}
497
552
  * @throws {Error} In hybrid mode (tokens are server-side)
498
553
  */
499
554
  async getToken() {
555
+ var _a, _b;
500
556
  if (this.isHybridMode()) {
501
557
  throw new Error("getToken() not available in hybrid mode - tokens are server-side");
502
558
  }
@@ -517,6 +573,15 @@ class IAMService {
517
573
  }
518
574
  catch (err) {
519
575
  console.error("[IAMService] Native token refresh failed:", err);
576
+ // The refresh token is no longer usable - drop the session so callers
577
+ // don't keep sending a stale/`null` bearer token, and surface the error.
578
+ this._nativeAuthenticated = false;
579
+ this._nativeTokens = null;
580
+ try {
581
+ await ((_b = (_a = this._nativeAdapter) === null || _a === void 0 ? void 0 : _a.deleteTokens) === null || _b === void 0 ? void 0 : _b.call(_a));
582
+ }
583
+ catch (_) { /* best-effort cleanup */ }
584
+ this._emit("authError", err);
520
585
  return null;
521
586
  }
522
587
  }
@@ -554,7 +619,7 @@ class IAMService {
554
619
  }
555
620
  /**
556
621
  * Get ID token.
557
- * @returns {string}
622
+ * @returns {string|null}
558
623
  * @throws {Error} In hybrid mode (tokens are server-side)
559
624
  */
560
625
  getIDToken() {
@@ -703,14 +768,15 @@ class IAMService {
703
768
  throw new Error("updateIAMToken() not available in hybrid mode - tokens are server-side");
704
769
  }
705
770
  if (this.isNativeMode()) {
706
- // Native mode token refresh is handled in getToken()
707
- // Just check if tokens need refresh and return status
771
+ // Native mode token refresh is handled in getToken(). Only report a refresh
772
+ // as performed when the token was actually expiring AND getToken() returned a
773
+ // fresh token (a failed refresh resolves to null and must not report success).
708
774
  const exp = this.getTokenExp();
709
775
  if (exp < 30) {
710
- // Force refresh via getToken
711
- await this.getToken();
776
+ const refreshedToken = await this.getToken();
777
+ return refreshedToken != null;
712
778
  }
713
- return exp < 30;
779
+ return false;
714
780
  }
715
781
  const kc = this.getTideCloakClient();
716
782
  const refreshed = await kc.updateToken();
@@ -718,7 +784,7 @@ class IAMService {
718
784
  console.debug(refreshed
719
785
  ? `[updateIAMToken] Refreshed: ${expiresIn}s`
720
786
  : `[updateIAMToken] Still valid: ${expiresIn}s`);
721
- document.cookie = `kcToken=${kc.token}; path=/;`;
787
+ this._setTokenCookie(kc.token);
722
788
  return refreshed;
723
789
  }
724
790
  /**
@@ -747,14 +813,14 @@ class IAMService {
747
813
  }
748
814
  return false;
749
815
  }
750
- document.cookie = 'kcToken=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT';
816
+ this._clearTokenCookie();
751
817
  const kc = this.getTideCloakClient();
752
818
  const refreshed = await kc.updateToken(-1);
753
819
  const expiresIn = this.getTokenExp();
754
820
  console.debug(refreshed
755
821
  ? `[updateToken] Immediately refreshed: ${expiresIn}s`
756
822
  : `[updateToken] No refresh needed: ${expiresIn}s`);
757
- document.cookie = `kcToken=${kc.token}; path=/;`;
823
+ this._setTokenCookie(kc.token);
758
824
  return refreshed;
759
825
  }
760
826
  /**
@@ -762,6 +828,7 @@ class IAMService {
762
828
  * In hybrid mode, initiates PKCE flow and redirects to IdP.
763
829
  * In native mode, opens external browser with auth URL.
764
830
  * @param {string} [returnUrl] - URL to redirect to after successful auth (hybrid/native mode)
831
+ * @returns {void|Promise<void>} Resolves once the redirect/external-browser flow is initiated (hybrid/native); returns void in front-channel mode.
765
832
  */
766
833
  doLogin(returnUrl = "") {
767
834
  var _a, _b;
@@ -948,8 +1015,11 @@ class IAMService {
948
1015
  if (dpopNonce) {
949
1016
  this._dpopProvider.updateResourceServerNonce(origin, dpopNonce);
950
1017
  }
951
- // Retry on 401 with use_dpop_nonce
952
- if (response.status === 401 && dpopNonce) {
1018
+ // Retry only when the server explicitly asks for a DPoP nonce
1019
+ // (WWW-Authenticate: ... error="use_dpop_nonce"). A blind retry on any 401
1020
+ // doubles unrelated auth failures into two requests.
1021
+ const wwwAuth = response.headers.get("WWW-Authenticate") || "";
1022
+ if (response.status === 401 && dpopNonce && wwwAuth.includes('error="use_dpop_nonce"')) {
953
1023
  const retryProof = await this._dpopProvider.generateDPoPProof(urlStr, method, token, dpopNonce);
954
1024
  headers.set("DPoP", retryProof);
955
1025
  response = await fetch(url, { ...init, headers });
@@ -1006,7 +1076,7 @@ class IAMService {
1006
1076
  this._emit("logout");
1007
1077
  return;
1008
1078
  }
1009
- document.cookie = 'kcToken=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT';
1079
+ this._clearTokenCookie();
1010
1080
  this.getTideCloakClient().logout({
1011
1081
  redirectUri: (_a = this._config["redirectUri"]) !== null && _a !== void 0 ? _a : `${window.location.origin}/auth/redirect`
1012
1082
  });
@@ -1140,7 +1210,7 @@ class IAMService {
1140
1210
  const state = qs.get("state") || "";
1141
1211
  // Decode return URL from state, fallback to sessionStorage
1142
1212
  const stateReturnUrl = state.startsWith("__url_") ? state.substring(6) : "";
1143
- const returnUrl = stateReturnUrl || sessionStorage.getItem("kc_return_url") || "";
1213
+ const returnUrl = this._sanitizeReturnUrl(stateReturnUrl || sessionStorage.getItem("kc_return_url") || "");
1144
1214
  const verifier = sessionStorage.getItem("kc_pkce_verifier") || "";
1145
1215
  // Use opts override, then config, then empty string
1146
1216
  const redirectUri = optsRedirectUri || ((_b = (_a = this._config) === null || _a === void 0 ? void 0 : _a.oidc) === null || _b === void 0 ? void 0 : _b.redirectUri) || "";
@@ -1192,7 +1262,7 @@ class IAMService {
1192
1262
  const state = qs.get("state") || "";
1193
1263
  // Decode return URL from state, fallback to sessionStorage (Keycloak broker modifies state)
1194
1264
  const stateReturnUrl = state.startsWith("__url_") ? state.substring(6) : "";
1195
- const returnUrl = stateReturnUrl || sessionStorage.getItem("kc_return_url") || "";
1265
+ const returnUrl = this._sanitizeReturnUrl(stateReturnUrl || sessionStorage.getItem("kc_return_url") || "");
1196
1266
  // Handle error response from IdP
1197
1267
  if (error) {
1198
1268
  this._emit("authError", new Error(`${error}: ${errorDescription}`));
@@ -1 +1 @@
1
- {"version":3,"file":"IAMService.js","sourceRoot":"","sources":["../../../src/IAMService.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IAMService.js","sourceRoot":"","sources":["../../../src/IAMService.js"],"names":[],"mappings":"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"}
@@ -179,16 +179,36 @@ declare class IAMService {
179
179
  initIAM(config: any, onReady?: Function): Promise<boolean>;
180
180
  /** @private */
181
181
  private getTideCloakClient;
182
+ /**
183
+ * Write the access token to the `kcToken` cookie used by the server middleware.
184
+ * Uses `SameSite=Lax` to blunt CSRF (the cookie is not sent on cross-site
185
+ * subrequests) while still allowing the post-login top-level redirect, and
186
+ * marks it `Secure` whenever the page is served over HTTPS.
187
+ * @private
188
+ */
189
+ private _setTokenCookie;
190
+ /** @private */
191
+ private _clearTokenCookie;
192
+ /**
193
+ * Restrict a post-login return URL to a same-origin, root-relative path to
194
+ * prevent open-redirect. The OAuth `state` (and the sessionStorage fallback)
195
+ * round-trips this value and is then handed to `window.location.assign`, so an
196
+ * attacker-seeded absolute/protocol-relative URL ("https://evil", "//evil",
197
+ * "/\\evil", "javascript:...") must be rejected. Falls back to "/".
198
+ * @private
199
+ */
200
+ private _sanitizeReturnUrl;
182
201
  /** @returns {Object} Loaded config */
183
202
  getConfig(): any;
184
203
  /** @returns {boolean} Whether there's a valid token (or session in hybrid/native mode) */
185
204
  isLoggedIn(): boolean;
186
205
  /**
187
- * Get valid token (refreshing if needed).
188
- * @returns {Promise<string>}
206
+ * Get valid token (refreshing if needed). Resolves to `null` in native mode
207
+ * when no tokens are stored or a refresh fails.
208
+ * @returns {Promise<string|null>}
189
209
  * @throws {Error} In hybrid mode (tokens are server-side)
190
210
  */
191
- getToken(): Promise<string>;
211
+ getToken(): Promise<string | null>;
192
212
  /**
193
213
  * Seconds until token expiry.
194
214
  * @returns {number}
@@ -197,10 +217,10 @@ declare class IAMService {
197
217
  getTokenExp(): number;
198
218
  /**
199
219
  * Get ID token.
200
- * @returns {string}
220
+ * @returns {string|null}
201
221
  * @throws {Error} In hybrid mode (tokens are server-side)
202
222
  */
203
- getIDToken(): string;
223
+ getIDToken(): string | null;
204
224
  /**
205
225
  * Get username (preferred_username claim).
206
226
  * @returns {string}
@@ -259,8 +279,9 @@ declare class IAMService {
259
279
  * In hybrid mode, initiates PKCE flow and redirects to IdP.
260
280
  * In native mode, opens external browser with auth URL.
261
281
  * @param {string} [returnUrl] - URL to redirect to after successful auth (hybrid/native mode)
282
+ * @returns {void|Promise<void>} Resolves once the redirect/external-browser flow is initiated (hybrid/native); returns void in front-channel mode.
262
283
  */
263
- doLogin(returnUrl?: string): Promise<void>;
284
+ doLogin(returnUrl?: string): void | Promise<void>;
264
285
  /**
265
286
  * Encrypt data via adapter.
266
287
  * Not available in hybrid mode (encryption requires client-side doken).
@@ -98,7 +98,15 @@ declare const IAMServiceInstance: IAMService;
98
98
  */
99
99
  declare class IAMService {
100
100
  _tc: TideCloak | null;
101
- _config: Object | null;
101
+ _config: {
102
+ constructor: Function;
103
+ toString(): string;
104
+ toLocaleString(): string;
105
+ valueOf(): Object;
106
+ hasOwnProperty(v: PropertyKey): boolean;
107
+ isPrototypeOf(v: Object): boolean;
108
+ propertyIsEnumerable(v: PropertyKey): boolean;
109
+ } | null;
102
110
  _listeners: {};
103
111
  _hybridAuthenticated: boolean;
104
112
  _hybridReturnUrl: string | null;
@@ -179,16 +187,36 @@ declare class IAMService {
179
187
  initIAM(config: Object, onReady?: Function): Promise<boolean>;
180
188
  /** @private */
181
189
  private getTideCloakClient;
190
+ /**
191
+ * Write the access token to the `kcToken` cookie used by the server middleware.
192
+ * Uses `SameSite=Lax` to blunt CSRF (the cookie is not sent on cross-site
193
+ * subrequests) while still allowing the post-login top-level redirect, and
194
+ * marks it `Secure` whenever the page is served over HTTPS.
195
+ * @private
196
+ */
197
+ private _setTokenCookie;
198
+ /** @private */
199
+ private _clearTokenCookie;
200
+ /**
201
+ * Restrict a post-login return URL to a same-origin, root-relative path to
202
+ * prevent open-redirect. The OAuth `state` (and the sessionStorage fallback)
203
+ * round-trips this value and is then handed to `window.location.assign`, so an
204
+ * attacker-seeded absolute/protocol-relative URL ("https://evil", "//evil",
205
+ * "/\\evil", "javascript:...") must be rejected. Falls back to "/".
206
+ * @private
207
+ */
208
+ private _sanitizeReturnUrl;
182
209
  /** @returns {Object} Loaded config */
183
210
  getConfig(): Object;
184
211
  /** @returns {boolean} Whether there's a valid token (or session in hybrid/native mode) */
185
212
  isLoggedIn(): boolean;
186
213
  /**
187
- * Get valid token (refreshing if needed).
188
- * @returns {Promise<string>}
214
+ * Get valid token (refreshing if needed). Resolves to `null` in native mode
215
+ * when no tokens are stored or a refresh fails.
216
+ * @returns {Promise<string|null>}
189
217
  * @throws {Error} In hybrid mode (tokens are server-side)
190
218
  */
191
- getToken(): Promise<string>;
219
+ getToken(): Promise<string | null>;
192
220
  /**
193
221
  * Seconds until token expiry.
194
222
  * @returns {number}
@@ -197,10 +225,10 @@ declare class IAMService {
197
225
  getTokenExp(): number;
198
226
  /**
199
227
  * Get ID token.
200
- * @returns {string}
228
+ * @returns {string|null}
201
229
  * @throws {Error} In hybrid mode (tokens are server-side)
202
230
  */
203
- getIDToken(): string;
231
+ getIDToken(): string | null;
204
232
  /**
205
233
  * Get username (preferred_username claim).
206
234
  * @returns {string}
@@ -259,8 +287,9 @@ declare class IAMService {
259
287
  * In hybrid mode, initiates PKCE flow and redirects to IdP.
260
288
  * In native mode, opens external browser with auth URL.
261
289
  * @param {string} [returnUrl] - URL to redirect to after successful auth (hybrid/native mode)
290
+ * @returns {void|Promise<void>} Resolves once the redirect/external-browser flow is initiated (hybrid/native); returns void in front-channel mode.
262
291
  */
263
- doLogin(returnUrl?: string): Promise<void> | undefined;
292
+ doLogin(returnUrl?: string): void | Promise<void>;
264
293
  /**
265
294
  * Encrypt data via adapter.
266
295
  * Not available in hybrid mode (encryption requires client-side doken).