@oneidentity/safeguard 8.0.1 → 8.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -35,7 +35,6 @@ interface HttpClient {
35
35
  request(options: HttpRequestOptions): Promise<HttpResponse>;
36
36
  dispose?(): void;
37
37
  }
38
- //# sourceMappingURL=types.d.ts.map
39
38
  //#endregion
40
39
  //#region src/storage/types.d.ts
41
40
  /**
@@ -52,7 +51,6 @@ declare const StorageKeys: {
52
51
  readonly STATE: "safeguard_state";
53
52
  readonly CODE_VERIFIER: "safeguard_code_verifier";
54
53
  };
55
- //# sourceMappingURL=types.d.ts.map
56
54
  //#endregion
57
55
  //#region src/secret.d.ts
58
56
  /**
@@ -72,7 +70,6 @@ declare class SecretValue {
72
70
  toJSON(): string;
73
71
  get [Symbol.toStringTag](): string;
74
72
  }
75
- //# sourceMappingURL=secret.d.ts.map
76
73
  //#endregion
77
74
  //#region src/auth/types.d.ts
78
75
  /**
@@ -104,7 +101,6 @@ interface Auth {
104
101
  /** Human-readable description of this auth strategy (for logging). */
105
102
  readonly description: string;
106
103
  }
107
- //# sourceMappingURL=types.d.ts.map
108
104
  //#endregion
109
105
  //#region src/types.d.ts
110
106
  /**
@@ -116,7 +112,7 @@ declare enum Service {
116
112
  NOTIFICATION = "notification",
117
113
  A2A = "a2a",
118
114
  EVENT = "event",
119
- RSTS = "RSTS",
115
+ RSTS = "RSTS"
120
116
  }
121
117
  /**
122
118
  * HTTP methods supported by the Safeguard API.
@@ -126,7 +122,7 @@ declare enum HttpMethod {
126
122
  POST = "POST",
127
123
  PUT = "PUT",
128
124
  DELETE = "DELETE",
129
- PATCH = "PATCH",
125
+ PATCH = "PATCH"
130
126
  }
131
127
  /**
132
128
  * Full response from a Safeguard API call (returned when fullResponse: true).
@@ -172,7 +168,6 @@ interface SafeguardClientOptions {
172
168
  /** Auto-refresh tokens before expiry. Default: true. */
173
169
  autoRefresh?: boolean;
174
170
  }
175
- //# sourceMappingURL=types.d.ts.map
176
171
  //#endregion
177
172
  //#region src/errors.d.ts
178
173
  /**
@@ -223,7 +218,6 @@ declare class TransportError extends SafeguardError {
223
218
  declare class ConfigurationError extends SafeguardError {
224
219
  constructor(message: string, options?: ErrorOptions);
225
220
  }
226
- //# sourceMappingURL=errors.d.ts.map
227
221
  //#endregion
228
222
  //#region src/utils.d.ts
229
223
  /**
@@ -267,10 +261,6 @@ declare function generateCodeChallenge(verifier: string): Promise<string>;
267
261
  * Generates a random state parameter for OAuth flows.
268
262
  */
269
263
  declare function generateState(): string;
270
- /**
271
- * Extracts the `exp` claim from a JWT and returns expiresIn (seconds from now).
272
- * Returns undefined if the token is not a valid JWT or has no `exp` claim.
273
- */
274
264
  //#endregion
275
265
  //#region src/storage/memory.d.ts
276
266
  /**
@@ -284,7 +274,6 @@ declare class MemoryStorage implements StorageProvider {
284
274
  remove(key: string): void;
285
275
  clear(): void;
286
276
  }
287
- //# sourceMappingURL=memory.d.ts.map
288
277
  //#endregion
289
278
  //#region src/storage/session.d.ts
290
279
  /**
@@ -297,7 +286,6 @@ declare class BrowserSessionStorage implements StorageProvider {
297
286
  remove(key: string): void;
298
287
  clear(): void;
299
288
  }
300
- //# sourceMappingURL=session.d.ts.map
301
289
  //#endregion
302
290
  //#region src/http/node.d.ts
303
291
  /**
@@ -310,7 +298,6 @@ declare class NodeHttpClient implements HttpClient {
310
298
  request(options: HttpRequestOptions): Promise<HttpResponse>;
311
299
  dispose(): void;
312
300
  }
313
- //# sourceMappingURL=node.d.ts.map
314
301
  //#endregion
315
302
  //#region src/http/browser.d.ts
316
303
  /**
@@ -324,7 +311,6 @@ declare class BrowserHttpClient implements HttpClient {
324
311
  });
325
312
  request(options: HttpRequestOptions): Promise<HttpResponse>;
326
313
  }
327
- //# sourceMappingURL=browser.d.ts.map
328
314
  //#endregion
329
315
  //#region src/auth/password.d.ts
330
316
  interface PasswordAuthOptions {
@@ -343,7 +329,6 @@ declare class PasswordAuth implements Auth {
343
329
  authenticate(host: string, httpClient: HttpClient, _storage: StorageProvider): Promise<TokenSet>;
344
330
  refreshToken(host: string, httpClient: HttpClient, storage: StorageProvider): Promise<TokenSet | null>;
345
331
  }
346
- //# sourceMappingURL=password.d.ts.map
347
332
  //#endregion
348
333
  //#region src/auth/certificate.d.ts
349
334
  interface CertificateAuthOptions {
@@ -382,7 +367,6 @@ declare class CertificateAuth implements Auth {
382
367
  authenticate(host: string, httpClient: HttpClient, _storage: StorageProvider): Promise<TokenSet>;
383
368
  refreshToken(host: string, httpClient: HttpClient, storage: StorageProvider): Promise<TokenSet | null>;
384
369
  }
385
- //# sourceMappingURL=certificate.d.ts.map
386
370
  //#endregion
387
371
  //#region src/auth/pkce.d.ts
388
372
  interface PkceAuthOptions {
@@ -405,7 +389,6 @@ declare class PkceAuth implements Auth {
405
389
  */
406
390
  authenticate(host: string, httpClient: HttpClient, storage: StorageProvider): Promise<TokenSet>;
407
391
  }
408
- //# sourceMappingURL=pkce.d.ts.map
409
392
  //#endregion
410
393
  //#region src/auth/pkce-noninteractive.d.ts
411
394
  interface PkceNonInteractiveAuthOptions {
@@ -427,7 +410,6 @@ declare class PkceNonInteractiveAuth implements Auth {
427
410
  get description(): string;
428
411
  authenticate(host: string, httpClient: HttpClient, _storage: StorageProvider): Promise<TokenSet>;
429
412
  }
430
- //# sourceMappingURL=pkce-noninteractive.d.ts.map
431
413
  //#endregion
432
414
  //#region src/auth/pkce-callback.d.ts
433
415
  interface PkceCallbackResult {
@@ -446,7 +428,6 @@ interface PkceCallbackResult {
446
428
  * @returns The parsed code and state, or null if not a valid callback
447
429
  */
448
430
  declare function handlePkceCallback(storage: StorageProvider, url?: string): PkceCallbackResult | null;
449
- //# sourceMappingURL=pkce-callback.d.ts.map
450
431
  //#endregion
451
432
  //#region src/auth/token.d.ts
452
433
  interface TokenAuthOptions {
@@ -463,7 +444,6 @@ declare class TokenAuth implements Auth {
463
444
  get description(): string;
464
445
  authenticate(_host: string, _httpClient: HttpClient, _storage: StorageProvider): Promise<TokenSet>;
465
446
  }
466
- //# sourceMappingURL=token.d.ts.map
467
447
  //#endregion
468
448
  //#region src/auth/anonymous.d.ts
469
449
  /**
@@ -474,7 +454,6 @@ declare class AnonymousAuth implements Auth {
474
454
  get description(): string;
475
455
  authenticate(_host: string, _httpClient: HttpClient, _storage: StorageProvider): Promise<TokenSet>;
476
456
  }
477
- //# sourceMappingURL=anonymous.d.ts.map
478
457
  //#endregion
479
458
  //#region src/client.d.ts
480
459
  /**
@@ -533,7 +512,6 @@ declare class SafeguardClient {
533
512
  */
534
513
  invoke<T = unknown>(service: Service, method: HttpMethod, relativeUrl: string, options?: RequestOptions): Promise<T>;
535
514
  }
536
- //# sourceMappingURL=client.d.ts.map
537
515
  //#endregion
538
516
  //#region src/a2a/types.d.ts
539
517
  /**
@@ -542,7 +520,7 @@ declare class SafeguardClient {
542
520
  declare enum SshKeyFormat {
543
521
  OpenSsh = "OpenSsh",
544
522
  Ssh2 = "Ssh2",
545
- Putty = "Putty",
523
+ Putty = "Putty"
546
524
  }
547
525
  /**
548
526
  * An A2A retrievable account as returned by the discovery endpoint.
@@ -566,7 +544,7 @@ declare enum BrokeredAccessRequestType {
566
544
  Token = "Token",
567
545
  RdpFile = "RdpFile",
568
546
  RemoteDesktop = "RemoteDesktop",
569
- SshSession = "SshSession",
547
+ SshSession = "SshSession"
570
548
  }
571
549
  /**
572
550
  * Options for creating a brokered access request.
@@ -590,7 +568,6 @@ interface BrokeredAccessResponse {
590
568
  AccessToken?: string;
591
569
  [key: string]: unknown;
592
570
  }
593
- //# sourceMappingURL=types.d.ts.map
594
571
  //#endregion
595
572
  //#region src/a2a/index.d.ts
596
573
  interface A2AClientOptions {
@@ -667,4 +644,4 @@ declare class A2AClient {
667
644
  }
668
645
  //#endregion
669
646
  export { A2AClient, type A2AClientOptions, AnonymousAuth, ApiError, type ApiErrorBody, type Auth, AuthenticationError, AuthorizationError, type BrokeredAccessRequest, BrokeredAccessRequestType, type BrokeredAccessResponse, BrowserHttpClient, BrowserSessionStorage, CertificateAuth, type CertificateAuthOptions, ConfigurationError, type HttpClient, HttpMethod, type HttpRequestOptions, type HttpResponse, MemoryStorage, NodeHttpClient, NotFoundError, PasswordAuth, type PasswordAuthOptions, PkceAuth, type PkceAuthOptions, type PkceCallbackResult, PkceNonInteractiveAuth, type PkceNonInteractiveAuthOptions, type RequestOptions, type RetrievableAccount, SafeguardClient, type SafeguardClientOptions, SafeguardError, type SafeguardResponse, SecretValue, Service, SshKeyFormat, StorageKeys, type StorageProvider, type TlsOptions, TokenAuth, type TokenAuthOptions, type TokenSet, TransportError, base64UrlEncode, buildRequestUrl, buildServiceUrl, generateCodeChallenge, generateCodeVerifier, generateState, handlePkceCallback, validateHost };
670
- //# sourceMappingURL=index-53AwvPfY.d.ts.map
647
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/http/types.ts","../src/storage/types.ts","../src/secret.ts","../src/auth/types.ts","../src/types.ts","../src/errors.ts","../src/utils.ts","../src/storage/memory.ts","../src/storage/session.ts","../src/http/node.ts","../src/http/browser.ts","../src/auth/password.ts","../src/auth/certificate.ts","../src/auth/pkce.ts","../src/auth/pkce-noninteractive.ts","../src/auth/pkce-callback.ts","../src/auth/token.ts","../src/auth/anonymous.ts","../src/client.ts","../src/a2a/types.ts","../src/a2a/index.ts"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -683,7 +683,7 @@ var PkceNonInteractiveAuth = class {
683
683
  const state = generateState();
684
684
  const redirectUri = `http://localhost:${String(this.#callbackPort)}/callback`;
685
685
  const server = createServer();
686
- server.listen(this.#callbackPort);
686
+ server.listen(this.#callbackPort, "127.0.0.1");
687
687
  const authUrl = `https://${host}/RSTS/Login?${new URLSearchParams({
688
688
  response_type: "code",
689
689
  client_id: "safeguard.js",
@@ -874,6 +874,8 @@ var SafeguardClient = class {
874
874
  #storage;
875
875
  #tokenSet;
876
876
  #connected = false;
877
+ /** Single-flight refresh promise to prevent thundering herd on token expiry. */
878
+ #tokenRefreshPromise;
877
879
  constructor(host, options) {
878
880
  if (!host) throw new ConfigurationError("SafeguardClient requires a host");
879
881
  if (!options.auth) throw new ConfigurationError("SafeguardClient requires an auth strategy");
@@ -1009,7 +1011,12 @@ var SafeguardClient = class {
1009
1011
  if (!this.#tokenSet.expiresIn) return;
1010
1012
  const elapsed = Date.now() - this.#tokenSet.acquiredAt;
1011
1013
  const expiresInMs = this.#tokenSet.expiresIn * 1e3;
1012
- if (elapsed + TOKEN_REFRESH_MARGIN_MS >= expiresInMs) {
1014
+ if (elapsed + TOKEN_REFRESH_MARGIN_MS < expiresInMs) return;
1015
+ if (this.#tokenRefreshPromise) {
1016
+ await this.#tokenRefreshPromise;
1017
+ return;
1018
+ }
1019
+ this.#tokenRefreshPromise = (async () => {
1013
1020
  if (this.#auth.refreshToken) {
1014
1021
  const refreshed = await this.#auth.refreshToken(this.#host, this.#httpClient, this.#storage);
1015
1022
  if (refreshed) {
@@ -1018,6 +1025,11 @@ var SafeguardClient = class {
1018
1025
  }
1019
1026
  }
1020
1027
  this.#tokenSet = await this.#auth.authenticate(this.#host, this.#httpClient, this.#storage);
1028
+ })();
1029
+ try {
1030
+ await this.#tokenRefreshPromise;
1031
+ } finally {
1032
+ this.#tokenRefreshPromise = void 0;
1021
1033
  }
1022
1034
  }
1023
1035
  };