@xemahq/identity-client 0.9.7 → 0.9.8
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/README.md +44 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/nestjs/identity-bootstrap.service.d.ts +8 -2
- package/dist/nestjs/identity-bootstrap.service.js +132 -78
- package/dist/nestjs/identity-bootstrap.service.js.map +1 -1
- package/dist/nestjs/index.d.ts +2 -1
- package/dist/nestjs/index.js +6 -1
- package/dist/nestjs/index.js.map +1 -1
- package/dist/nestjs/token-acquisition.d.ts +24 -0
- package/dist/nestjs/token-acquisition.js +96 -0
- package/dist/nestjs/token-acquisition.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -150,6 +150,7 @@ IdentityBootstrapModule.forRootAsync({
|
|
|
150
150
|
maxRegistrationAttempts?: number; // Max retries (default: Infinity)
|
|
151
151
|
baseRetryDelay?: number; // Backoff base delay in ms (default: 5000)
|
|
152
152
|
maxRetryDelay?: number; // Backoff cap in ms (default: 300000)
|
|
153
|
+
tokenRequestTimeoutMs?: number; // Deadline per token-endpoint round trip in ms (default: 10000)
|
|
153
154
|
|
|
154
155
|
// Pre-configured credentials (skip auto-registration)
|
|
155
156
|
clientId?: string; // OAuth2 client_id
|
|
@@ -169,7 +170,13 @@ Manages service account lifecycle. Injected automatically when using `IdentityBo
|
|
|
169
170
|
```typescript
|
|
170
171
|
class IdentityBootstrapService {
|
|
171
172
|
// Get a valid JWT access token (cached, auto-refreshed)
|
|
172
|
-
getAccessToken(): Promise<string>;
|
|
173
|
+
getAccessToken(options?: { signal?: AbortSignal }): Promise<string>;
|
|
174
|
+
|
|
175
|
+
// Mint a tenant-scoped service token (cached, single-flight per scope)
|
|
176
|
+
getScopedAccessToken(
|
|
177
|
+
params: { scopedClaims: Record<string, string>; realm?: string },
|
|
178
|
+
options?: { signal?: AbortSignal },
|
|
179
|
+
): Promise<ScopedAccessToken>;
|
|
173
180
|
|
|
174
181
|
// Wait for registration to complete (with optional timeout)
|
|
175
182
|
waitForReady(timeoutMs?: number): Promise<boolean>;
|
|
@@ -190,6 +197,33 @@ class IdentityBootstrapService {
|
|
|
190
197
|
- Verifies credentials by obtaining an initial token
|
|
191
198
|
- Retries with exponential backoff on failure
|
|
192
199
|
|
|
200
|
+
**Cancellation and deadlines:**
|
|
201
|
+
|
|
202
|
+
Token refreshes and scoped mints are single-flight: concurrent callers share
|
|
203
|
+
one request. Two separate clocks govern them.
|
|
204
|
+
|
|
205
|
+
- `options.signal` ends **only that caller's wait**. It rejects the call with
|
|
206
|
+
`IdentityTokenWaitAbortedError` (`retryable: false`) and never cancels the
|
|
207
|
+
shared request, which keeps running for every other caller. An already-aborted
|
|
208
|
+
signal rejects before any request is started.
|
|
209
|
+
- `tokenRequestTimeoutMs` (default `DEFAULT_TOKEN_REQUEST_TIMEOUT_MS`, 10 000 ms)
|
|
210
|
+
bounds each token-endpoint round trip, body included. It governs the shared
|
|
211
|
+
request. When the endpoint does not answer in time, every waiter gets an
|
|
212
|
+
`IdentityTokenRequestTimeoutError` carrying `operation`, `timeoutMs` and
|
|
213
|
+
`endpoint`, and the miss is logged at warn. The failed request clears
|
|
214
|
+
itself, so the next caller starts a fresh one.
|
|
215
|
+
|
|
216
|
+
```typescript
|
|
217
|
+
import {
|
|
218
|
+
IdentityTokenWaitAbortedError,
|
|
219
|
+
IdentityTokenRequestTimeoutError,
|
|
220
|
+
} from '@xemahq/identity-client';
|
|
221
|
+
|
|
222
|
+
const token = await identityBootstrap.getAccessToken({
|
|
223
|
+
signal: AbortSignal.timeout(2_000), // this caller waits at most 2s
|
|
224
|
+
});
|
|
225
|
+
```
|
|
226
|
+
|
|
193
227
|
### IdentityApiClient
|
|
194
228
|
|
|
195
229
|
Standalone HTTP client for direct identity-api calls. Does not require NestJS.
|
|
@@ -317,6 +351,15 @@ export { IdentityBootstrapModule } from './nestjs';
|
|
|
317
351
|
export { IdentityBootstrapService } from './nestjs';
|
|
318
352
|
export { IDENTITY_BOOTSTRAP_CONFIG } from './nestjs';
|
|
319
353
|
|
|
354
|
+
// Token acquisition
|
|
355
|
+
export {
|
|
356
|
+
DEFAULT_TOKEN_REQUEST_TIMEOUT_MS,
|
|
357
|
+
IdentityTokenOperation,
|
|
358
|
+
IdentityTokenRequestTimeoutError,
|
|
359
|
+
IdentityTokenWaitAbortedError,
|
|
360
|
+
} from './nestjs';
|
|
361
|
+
export type { TokenAcquisitionOptions } from './nestjs';
|
|
362
|
+
|
|
320
363
|
// Types
|
|
321
364
|
export type {
|
|
322
365
|
IdentityApiClientOptions,
|
package/dist/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { PRINCIPAL_ID_CLAIM, CREDENTIAL_REVISION_CLAIM, } from './claims';
|
|
|
2
2
|
export { IdentityApiClient, IdentityApiError } from './client';
|
|
3
3
|
export { InternalTokenScope, OrgRole, ORG_ADMIN_ROLES, SystemOrgEnsureOutcome, } from './types';
|
|
4
4
|
export type { ApiEnvelope, CreateOrganizationRequest, DelegatedPrincipalTokenRequest, DelegatedPrincipalTokenResponse, EnsureSystemOrgRequest, EnsureSystemOrgResult, IdentityApiClientOptions, OrganizationListPagination, OrganizationListParams, OrganizationListResponse, OrganizationMemberListParams, OrganizationMemberListResponse, OrganizationDirectoryEntry, OrganizationRecord, OnBehalfOfTokenRequest, OnBehalfOfTokenResponse, RegisterServiceRequest, RegisterServiceResponse, ServiceCredentials, ServiceType, SystemOrgRecord, ScopedClaimGrantRequest, ScopedClaimGrantResponse, ScopedClaimTokenRequest, ScopedClaimTokenResponse, UpdateOrganizationRequest, VerifyMembershipParams, VerifyMembershipResponse, } from './types';
|
|
5
|
-
export { IdentityBootstrapModule, IdentityBootstrapModuleAsyncOptions, IdentityBootstrapService, IdentityBootstrapConfig, IDENTITY_BOOTSTRAP_CONFIG, type ScopedAccessToken, } from './nestjs';
|
|
5
|
+
export { IdentityBootstrapModule, IdentityBootstrapModuleAsyncOptions, IdentityBootstrapService, IdentityBootstrapConfig, IDENTITY_BOOTSTRAP_CONFIG, type ScopedAccessToken, type TokenAcquisitionOptions, DEFAULT_TOKEN_REQUEST_TIMEOUT_MS, IdentityTokenOperation, IdentityTokenRequestTimeoutError, IdentityTokenWaitAbortedError, } from './nestjs';
|
|
6
6
|
export { OrgAuthModule, OrgAdminGuard, ORG_AUTH_CONFIG, type OrgAuthConfig, type OrgAuthModuleAsyncOptions, } from './nestjs';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ORG_AUTH_CONFIG = exports.OrgAdminGuard = exports.OrgAuthModule = exports.IDENTITY_BOOTSTRAP_CONFIG = exports.IdentityBootstrapService = exports.IdentityBootstrapModule = exports.SystemOrgEnsureOutcome = exports.ORG_ADMIN_ROLES = exports.OrgRole = exports.InternalTokenScope = exports.IdentityApiError = exports.IdentityApiClient = exports.CREDENTIAL_REVISION_CLAIM = exports.PRINCIPAL_ID_CLAIM = void 0;
|
|
3
|
+
exports.ORG_AUTH_CONFIG = exports.OrgAdminGuard = exports.OrgAuthModule = exports.IdentityTokenWaitAbortedError = exports.IdentityTokenRequestTimeoutError = exports.IdentityTokenOperation = exports.DEFAULT_TOKEN_REQUEST_TIMEOUT_MS = exports.IDENTITY_BOOTSTRAP_CONFIG = exports.IdentityBootstrapService = exports.IdentityBootstrapModule = exports.SystemOrgEnsureOutcome = exports.ORG_ADMIN_ROLES = exports.OrgRole = exports.InternalTokenScope = exports.IdentityApiError = exports.IdentityApiClient = exports.CREDENTIAL_REVISION_CLAIM = exports.PRINCIPAL_ID_CLAIM = void 0;
|
|
4
4
|
var claims_1 = require("./claims");
|
|
5
5
|
Object.defineProperty(exports, "PRINCIPAL_ID_CLAIM", { enumerable: true, get: function () { return claims_1.PRINCIPAL_ID_CLAIM; } });
|
|
6
6
|
Object.defineProperty(exports, "CREDENTIAL_REVISION_CLAIM", { enumerable: true, get: function () { return claims_1.CREDENTIAL_REVISION_CLAIM; } });
|
|
@@ -16,6 +16,10 @@ var nestjs_1 = require("./nestjs");
|
|
|
16
16
|
Object.defineProperty(exports, "IdentityBootstrapModule", { enumerable: true, get: function () { return nestjs_1.IdentityBootstrapModule; } });
|
|
17
17
|
Object.defineProperty(exports, "IdentityBootstrapService", { enumerable: true, get: function () { return nestjs_1.IdentityBootstrapService; } });
|
|
18
18
|
Object.defineProperty(exports, "IDENTITY_BOOTSTRAP_CONFIG", { enumerable: true, get: function () { return nestjs_1.IDENTITY_BOOTSTRAP_CONFIG; } });
|
|
19
|
+
Object.defineProperty(exports, "DEFAULT_TOKEN_REQUEST_TIMEOUT_MS", { enumerable: true, get: function () { return nestjs_1.DEFAULT_TOKEN_REQUEST_TIMEOUT_MS; } });
|
|
20
|
+
Object.defineProperty(exports, "IdentityTokenOperation", { enumerable: true, get: function () { return nestjs_1.IdentityTokenOperation; } });
|
|
21
|
+
Object.defineProperty(exports, "IdentityTokenRequestTimeoutError", { enumerable: true, get: function () { return nestjs_1.IdentityTokenRequestTimeoutError; } });
|
|
22
|
+
Object.defineProperty(exports, "IdentityTokenWaitAbortedError", { enumerable: true, get: function () { return nestjs_1.IdentityTokenWaitAbortedError; } });
|
|
19
23
|
var nestjs_2 = require("./nestjs");
|
|
20
24
|
Object.defineProperty(exports, "OrgAuthModule", { enumerable: true, get: function () { return nestjs_2.OrgAuthModule; } });
|
|
21
25
|
Object.defineProperty(exports, "OrgAdminGuard", { enumerable: true, get: function () { return nestjs_2.OrgAdminGuard; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAGkB;AAFhB,4GAAA,kBAAkB,OAAA;AAClB,mHAAA,yBAAyB,OAAA;AAE3B,mCAA+D;AAAtD,2GAAA,iBAAiB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAC5C,iCAKiB;AAJf,2GAAA,kBAAkB,OAAA;AAClB,gGAAA,OAAO,OAAA;AACP,wGAAA,eAAe,OAAA;AACf,+GAAA,sBAAsB,OAAA;AAkCxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAGkB;AAFhB,4GAAA,kBAAkB,OAAA;AAClB,mHAAA,yBAAyB,OAAA;AAE3B,mCAA+D;AAAtD,2GAAA,iBAAiB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAC5C,iCAKiB;AAJf,2GAAA,kBAAkB,OAAA;AAClB,gGAAA,OAAO,OAAA;AACP,wGAAA,eAAe,OAAA;AACf,+GAAA,sBAAsB,OAAA;AAkCxB,mCAYkB;AAXhB,iHAAA,uBAAuB,OAAA;AAEvB,kHAAA,wBAAwB,OAAA;AAExB,mHAAA,yBAAyB,OAAA;AAGzB,0HAAA,gCAAgC,OAAA;AAChC,gHAAA,sBAAsB,OAAA;AACtB,0HAAA,gCAAgC,OAAA;AAChC,uHAAA,6BAA6B,OAAA;AAI/B,mCAMkB;AALhB,uGAAA,aAAa,OAAA;AACb,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA"}
|
|
@@ -24,6 +24,10 @@ export interface IdentityBootstrapConfig {
|
|
|
24
24
|
maxRegistrationAttempts?: number;
|
|
25
25
|
baseRetryDelay?: number;
|
|
26
26
|
maxRetryDelay?: number;
|
|
27
|
+
tokenRequestTimeoutMs?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface TokenAcquisitionOptions {
|
|
30
|
+
signal?: AbortSignal;
|
|
27
31
|
}
|
|
28
32
|
export interface ScopedAccessToken {
|
|
29
33
|
accessToken: string;
|
|
@@ -57,6 +61,7 @@ export declare class IdentityBootstrapService implements OnModuleInit, OnModuleD
|
|
|
57
61
|
private readonly maxRegistrationAttempts;
|
|
58
62
|
private readonly baseRetryDelay;
|
|
59
63
|
private readonly maxRetryDelay;
|
|
64
|
+
private readonly tokenRequestTimeoutMs;
|
|
60
65
|
private readyResolve;
|
|
61
66
|
private readyPromise;
|
|
62
67
|
private bringUpState;
|
|
@@ -69,7 +74,7 @@ export declare class IdentityBootstrapService implements OnModuleInit, OnModuleD
|
|
|
69
74
|
private bringUpIdentity;
|
|
70
75
|
private performBringUp;
|
|
71
76
|
onModuleDestroy(): void;
|
|
72
|
-
getAccessToken(): Promise<string>;
|
|
77
|
+
getAccessToken(options?: TokenAcquisitionOptions): Promise<string>;
|
|
73
78
|
getAccessTokenForAudience(audience: string): Promise<string>;
|
|
74
79
|
private mintExactAudienceToken;
|
|
75
80
|
getUserAccessToken(params: {
|
|
@@ -84,7 +89,7 @@ export declare class IdentityBootstrapService implements OnModuleInit, OnModuleD
|
|
|
84
89
|
getScopedAccessToken(params: {
|
|
85
90
|
scopedClaims: Record<string, string>;
|
|
86
91
|
realm?: string;
|
|
87
|
-
}): Promise<ScopedAccessToken>;
|
|
92
|
+
}, options?: TokenAcquisitionOptions): Promise<ScopedAccessToken>;
|
|
88
93
|
private mintScopedAccessToken;
|
|
89
94
|
private buildRealmTokenEndpoint;
|
|
90
95
|
private canonicalizeScopedClaims;
|
|
@@ -101,6 +106,7 @@ export declare class IdentityBootstrapService implements OnModuleInit, OnModuleD
|
|
|
101
106
|
private resolveUserTokenRealm;
|
|
102
107
|
private scheduleRetry;
|
|
103
108
|
private clientSecretWasSelfRegistered;
|
|
109
|
+
private boundedTokenRequest;
|
|
104
110
|
private refreshToken;
|
|
105
111
|
private refreshTokenWithRecovery;
|
|
106
112
|
private fetchCurrentCredentials;
|
|
@@ -17,6 +17,7 @@ exports.IdentityBootstrapService = exports.IdentityBringUpState = exports.IDENTI
|
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
18
|
const client_1 = require("../client");
|
|
19
19
|
const types_1 = require("../types");
|
|
20
|
+
const token_acquisition_1 = require("./token-acquisition");
|
|
20
21
|
exports.IDENTITY_BOOTSTRAP_CONFIG = Symbol('IDENTITY_BOOTSTRAP_CONFIG');
|
|
21
22
|
var IdentityBringUpState;
|
|
22
23
|
(function (IdentityBringUpState) {
|
|
@@ -28,7 +29,6 @@ var IdentityBringUpState;
|
|
|
28
29
|
})(IdentityBringUpState || (exports.IdentityBringUpState = IdentityBringUpState = {}));
|
|
29
30
|
const DEFAULT_AGENT_WORKER_CLIENT_ID = 'platform-agent-worker';
|
|
30
31
|
const EXACT_AUDIENCE_SCOPE_PREFIX = 'audience:';
|
|
31
|
-
const EXACT_AUDIENCE_MINT_TIMEOUT_MS = 10_000;
|
|
32
32
|
function rebaseOrigin(endpoint, authoritativeBase) {
|
|
33
33
|
if (!endpoint) {
|
|
34
34
|
throw new Error('identity-api registration response missing required field: tokenEndpoint');
|
|
@@ -87,6 +87,7 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
87
87
|
maxRegistrationAttempts;
|
|
88
88
|
baseRetryDelay;
|
|
89
89
|
maxRetryDelay;
|
|
90
|
+
tokenRequestTimeoutMs;
|
|
90
91
|
readyResolve = null;
|
|
91
92
|
readyPromise;
|
|
92
93
|
bringUpState = IdentityBringUpState.NotStarted;
|
|
@@ -105,6 +106,7 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
105
106
|
this.maxRegistrationAttempts = config.maxRegistrationAttempts ?? Infinity;
|
|
106
107
|
this.baseRetryDelay = config.baseRetryDelay ?? 5000;
|
|
107
108
|
this.maxRetryDelay = config.maxRetryDelay ?? 300_000;
|
|
109
|
+
this.tokenRequestTimeoutMs = (0, token_acquisition_1.resolveTokenRequestTimeoutMs)(config.tokenRequestTimeoutMs);
|
|
108
110
|
this.readyPromise = new Promise((resolve) => {
|
|
109
111
|
this.readyResolve = resolve;
|
|
110
112
|
});
|
|
@@ -196,12 +198,15 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
196
198
|
this.registrationTimer = null;
|
|
197
199
|
}
|
|
198
200
|
}
|
|
199
|
-
async getAccessToken() {
|
|
201
|
+
async getAccessToken(options = {}) {
|
|
202
|
+
const { signal } = options;
|
|
203
|
+
const operation = token_acquisition_1.IdentityTokenOperation.ServiceTokenRefresh;
|
|
204
|
+
await (0, token_acquisition_1.awaitWithCallerSignal)(Promise.resolve(), operation, signal);
|
|
200
205
|
if (this.accessToken && Date.now() < this.tokenExpiresAt - 30_000) {
|
|
201
206
|
return this.accessToken;
|
|
202
207
|
}
|
|
203
208
|
if (!this.clientId || !this.clientSecret || !this.tokenEndpoint) {
|
|
204
|
-
const ready = await this.waitForReady(30_000);
|
|
209
|
+
const ready = await (0, token_acquisition_1.awaitWithCallerSignal)(this.waitForReady(30_000), operation, signal);
|
|
205
210
|
if (!ready ||
|
|
206
211
|
!this.clientId ||
|
|
207
212
|
!this.clientSecret ||
|
|
@@ -209,16 +214,17 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
209
214
|
throw new Error('Service account credentials not available — identity-api registration may have failed');
|
|
210
215
|
}
|
|
211
216
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
217
|
+
let refresh = this.tokenRefreshPromise;
|
|
218
|
+
if (!refresh) {
|
|
219
|
+
const started = this.refreshToken().finally(() => {
|
|
220
|
+
if (this.tokenRefreshPromise === started) {
|
|
221
|
+
this.tokenRefreshPromise = null;
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
this.tokenRefreshPromise = started;
|
|
225
|
+
refresh = started;
|
|
221
226
|
}
|
|
227
|
+
return (0, token_acquisition_1.awaitWithCallerSignal)(refresh, operation, signal);
|
|
222
228
|
}
|
|
223
229
|
async getAccessTokenForAudience(audience) {
|
|
224
230
|
const normalizedAudience = audience.trim();
|
|
@@ -247,23 +253,26 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
247
253
|
return promise;
|
|
248
254
|
}
|
|
249
255
|
async mintExactAudienceToken(audience) {
|
|
250
|
-
const
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
256
|
+
const tokenEndpoint = this.tokenEndpoint;
|
|
257
|
+
const data = await this.boundedTokenRequest(token_acquisition_1.IdentityTokenOperation.ExactAudienceTokenMint, tokenEndpoint, async (signal) => {
|
|
258
|
+
const response = await fetch(tokenEndpoint, {
|
|
259
|
+
method: 'POST',
|
|
260
|
+
signal,
|
|
261
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
262
|
+
body: new URLSearchParams({
|
|
263
|
+
grant_type: 'client_credentials',
|
|
264
|
+
client_id: this.clientId,
|
|
265
|
+
client_secret: this.clientSecret,
|
|
266
|
+
scope: `${EXACT_AUDIENCE_SCOPE_PREFIX}${audience}`,
|
|
267
|
+
}).toString(),
|
|
268
|
+
});
|
|
269
|
+
if (!response.ok) {
|
|
270
|
+
const text = await response.text().catch(() => '');
|
|
271
|
+
throw new Error(`Exact-audience service-token mint failed: ${response.status} ` +
|
|
272
|
+
`${response.statusText} (audience=${audience}) — ${text.slice(0, 300)}`);
|
|
273
|
+
}
|
|
274
|
+
return (await response.json());
|
|
260
275
|
});
|
|
261
|
-
if (!response.ok) {
|
|
262
|
-
const text = await response.text().catch(() => '');
|
|
263
|
-
throw new Error(`Exact-audience service-token mint failed: ${response.status} ` +
|
|
264
|
-
`${response.statusText} (audience=${audience}) — ${text.slice(0, 300)}`);
|
|
265
|
-
}
|
|
266
|
-
const data = (await response.json());
|
|
267
276
|
const tokenAudiences = decodeJwtAudiences(data.access_token);
|
|
268
277
|
if (tokenAudiences.length !== 1 || tokenAudiences[0] !== audience) {
|
|
269
278
|
throw new Error(`Identity provider returned a token without the exact requested audience ` +
|
|
@@ -326,7 +335,10 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
326
335
|
}
|
|
327
336
|
return this.client.mintScopedClaimToken(params);
|
|
328
337
|
}
|
|
329
|
-
async getScopedAccessToken(params) {
|
|
338
|
+
async getScopedAccessToken(params, options = {}) {
|
|
339
|
+
const { signal } = options;
|
|
340
|
+
const operation = token_acquisition_1.IdentityTokenOperation.ScopedTokenMint;
|
|
341
|
+
await (0, token_acquisition_1.awaitWithCallerSignal)(Promise.resolve(), operation, signal);
|
|
330
342
|
const clientId = this.config.agentWorkerClientId ?? DEFAULT_AGENT_WORKER_CLIENT_ID;
|
|
331
343
|
const clientSecret = this.config.agentWorkerClientSecret;
|
|
332
344
|
if (!clientSecret) {
|
|
@@ -340,7 +352,7 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
340
352
|
'untenanted token.');
|
|
341
353
|
}
|
|
342
354
|
if (!this.isReady) {
|
|
343
|
-
const ready = await this.waitForReady(30_000);
|
|
355
|
+
const ready = await (0, token_acquisition_1.awaitWithCallerSignal)(this.waitForReady(30_000), operation, signal);
|
|
344
356
|
if (!ready) {
|
|
345
357
|
throw new Error('IdentityBootstrapService is not ready — cannot mint scoped token');
|
|
346
358
|
}
|
|
@@ -354,32 +366,37 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
354
366
|
}
|
|
355
367
|
const inflight = this.scopedTokenInflight.get(cacheKey);
|
|
356
368
|
if (inflight) {
|
|
357
|
-
return inflight;
|
|
369
|
+
return (0, token_acquisition_1.awaitWithCallerSignal)(inflight, operation, signal);
|
|
358
370
|
}
|
|
359
371
|
const promise = this.mintScopedAccessToken({ clientId, clientSecret, realm, scopedClaims: params.scopedClaims }, cacheKey).finally(() => {
|
|
360
|
-
this.scopedTokenInflight.
|
|
372
|
+
if (this.scopedTokenInflight.get(cacheKey) === promise) {
|
|
373
|
+
this.scopedTokenInflight.delete(cacheKey);
|
|
374
|
+
}
|
|
361
375
|
});
|
|
362
376
|
this.scopedTokenInflight.set(cacheKey, promise);
|
|
363
|
-
return promise;
|
|
377
|
+
return (0, token_acquisition_1.awaitWithCallerSignal)(promise, operation, signal);
|
|
364
378
|
}
|
|
365
379
|
async mintScopedAccessToken(args, cacheKey) {
|
|
366
380
|
const tokenEndpoint = this.buildRealmTokenEndpoint(args.realm);
|
|
367
|
-
const
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
381
|
+
const data = await this.boundedTokenRequest(token_acquisition_1.IdentityTokenOperation.ScopedTokenMint, tokenEndpoint, async (signal) => {
|
|
382
|
+
const response = await fetch(tokenEndpoint, {
|
|
383
|
+
method: 'POST',
|
|
384
|
+
signal,
|
|
385
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
386
|
+
body: new URLSearchParams({
|
|
387
|
+
grant_type: 'client_credentials',
|
|
388
|
+
client_id: args.clientId,
|
|
389
|
+
client_secret: args.clientSecret,
|
|
390
|
+
scoped_claims: JSON.stringify(args.scopedClaims),
|
|
391
|
+
}).toString(),
|
|
392
|
+
});
|
|
393
|
+
if (!response.ok) {
|
|
394
|
+
const text = await response.text().catch(() => '');
|
|
395
|
+
throw new Error(`Scoped service-token mint failed: ${response.status} ` +
|
|
396
|
+
`${response.statusText} (client=${args.clientId}, realm=${args.realm}) — ${text}`);
|
|
397
|
+
}
|
|
398
|
+
return (await response.json());
|
|
376
399
|
});
|
|
377
|
-
if (!response.ok) {
|
|
378
|
-
const text = await response.text().catch(() => '');
|
|
379
|
-
throw new Error(`Scoped service-token mint failed: ${response.status} ` +
|
|
380
|
-
`${response.statusText} (client=${args.clientId}, realm=${args.realm}) — ${text}`);
|
|
381
|
-
}
|
|
382
|
-
const data = (await response.json());
|
|
383
400
|
const expiresInMs = (data.expires_in || 60) * 1000;
|
|
384
401
|
const expiresAtMs = Date.now() + expiresInMs;
|
|
385
402
|
const cacheUntilMs = Date.now() + Math.max(expiresInMs * 0.9, 30_000);
|
|
@@ -578,6 +595,23 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
578
595
|
}, delay);
|
|
579
596
|
}
|
|
580
597
|
clientSecretWasSelfRegistered = false;
|
|
598
|
+
async boundedTokenRequest(operation, endpoint, work) {
|
|
599
|
+
try {
|
|
600
|
+
return await (0, token_acquisition_1.withTokenRequestDeadline)(operation, endpoint, this.tokenRequestTimeoutMs, work);
|
|
601
|
+
}
|
|
602
|
+
catch (error) {
|
|
603
|
+
if (error instanceof token_acquisition_1.IdentityTokenRequestTimeoutError) {
|
|
604
|
+
this.logger.warn({
|
|
605
|
+
message: 'Token-acquisition request exceeded its deadline',
|
|
606
|
+
serviceName: this.config.serviceName,
|
|
607
|
+
operation: error.operation,
|
|
608
|
+
endpoint: error.endpoint,
|
|
609
|
+
timeoutMs: error.timeoutMs,
|
|
610
|
+
});
|
|
611
|
+
}
|
|
612
|
+
throw error;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
581
615
|
async refreshToken() {
|
|
582
616
|
return this.refreshTokenWithRecovery(false);
|
|
583
617
|
}
|
|
@@ -585,29 +619,48 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
585
619
|
if (!this.clientId || !this.clientSecret || !this.tokenEndpoint) {
|
|
586
620
|
throw new Error('Cannot refresh token — credentials not available');
|
|
587
621
|
}
|
|
588
|
-
const
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
622
|
+
const tokenEndpoint = this.tokenEndpoint;
|
|
623
|
+
const clientId = this.clientId;
|
|
624
|
+
const clientSecret = this.clientSecret;
|
|
625
|
+
const outcome = await this.boundedTokenRequest(token_acquisition_1.IdentityTokenOperation.ServiceTokenRefresh, tokenEndpoint, async (signal) => {
|
|
626
|
+
const response = await fetch(tokenEndpoint, {
|
|
627
|
+
method: 'POST',
|
|
628
|
+
signal,
|
|
629
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
630
|
+
body: new URLSearchParams({
|
|
631
|
+
grant_type: 'client_credentials',
|
|
632
|
+
client_id: clientId,
|
|
633
|
+
client_secret: clientSecret,
|
|
634
|
+
}).toString(),
|
|
635
|
+
});
|
|
636
|
+
if (response.ok) {
|
|
637
|
+
return {
|
|
638
|
+
ok: true,
|
|
639
|
+
data: (await response.json()),
|
|
640
|
+
};
|
|
641
|
+
}
|
|
642
|
+
return {
|
|
643
|
+
ok: false,
|
|
644
|
+
status: response.status,
|
|
645
|
+
statusText: response.statusText,
|
|
646
|
+
text: await response.text().catch(() => ''),
|
|
647
|
+
};
|
|
596
648
|
});
|
|
597
|
-
if (
|
|
649
|
+
if (!outcome.ok &&
|
|
650
|
+
outcome.status === 401 &&
|
|
598
651
|
!recoveryAttempted &&
|
|
599
652
|
this.clientSecretWasSelfRegistered) {
|
|
600
|
-
const text
|
|
653
|
+
const { text, statusText } = outcome;
|
|
601
654
|
const sinceLastLocalFetch = Date.now() - this.lastCredentialFetchAt;
|
|
602
655
|
if (sinceLastLocalFetch < IdentityBootstrapService_1.RECOVERY_DEBOUNCE_MS) {
|
|
603
|
-
throw new Error(`Token request failed: 401 ${
|
|
656
|
+
throw new Error(`Token request failed: 401 ${statusText} — credentials ` +
|
|
604
657
|
`were just refreshed ${sinceLastLocalFetch}ms ago; not refetching to ` +
|
|
605
658
|
`avoid storm. Server response: ${text.slice(0, 300)}`);
|
|
606
659
|
}
|
|
607
660
|
try {
|
|
608
661
|
const serverState = await this.checkCredentialRecoveryState();
|
|
609
662
|
if (serverState && serverState.shouldSkipRecovery) {
|
|
610
|
-
throw new Error(`Token request failed: 401 ${
|
|
663
|
+
throw new Error(`Token request failed: 401 ${statusText} — another replica ` +
|
|
611
664
|
`fetched credentials ${serverState.timeSinceLastRecovery}ms ago; ` +
|
|
612
665
|
`waiting for ${serverState.waitTimeMs}ms before retrying. ` +
|
|
613
666
|
`Server response: ${text.slice(0, 300)}`);
|
|
@@ -636,11 +689,10 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
636
689
|
await this.fetchCurrentCredentials();
|
|
637
690
|
return this.refreshTokenWithRecovery(true);
|
|
638
691
|
}
|
|
639
|
-
if (!
|
|
640
|
-
|
|
641
|
-
throw new Error(`Token request failed: ${response.status} ${response.statusText} — ${text}`);
|
|
692
|
+
if (!outcome.ok) {
|
|
693
|
+
throw new Error(`Token request failed: ${outcome.status} ${outcome.statusText} — ${outcome.text}`);
|
|
642
694
|
}
|
|
643
|
-
const data =
|
|
695
|
+
const data = outcome.data;
|
|
644
696
|
this.accessToken = data.access_token;
|
|
645
697
|
const expiresIn = data.expires_in || 60;
|
|
646
698
|
const jitterFraction = 0.8 + Math.random() * 0.15;
|
|
@@ -692,21 +744,21 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
692
744
|
}
|
|
693
745
|
async checkCredentialRecoveryState() {
|
|
694
746
|
const identityApiUrl = this.requireIdentityApiUrl();
|
|
747
|
+
const url = `${identityApiUrl}/internal/services/recovery-state/${encodeURIComponent(this.config.serviceName)}`;
|
|
695
748
|
try {
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
749
|
+
return await this.boundedTokenRequest(token_acquisition_1.IdentityTokenOperation.CredentialRecoveryCoordination, url, async (signal) => {
|
|
750
|
+
const response = await fetch(url, {
|
|
751
|
+
method: 'GET',
|
|
752
|
+
signal,
|
|
753
|
+
headers: {
|
|
754
|
+
Authorization: `Bearer ${this.config.identityApiInternalToken}`,
|
|
755
|
+
},
|
|
756
|
+
});
|
|
757
|
+
if (!response.ok) {
|
|
704
758
|
return null;
|
|
705
759
|
}
|
|
706
|
-
return
|
|
707
|
-
}
|
|
708
|
-
const data = (await response.json());
|
|
709
|
-
return data;
|
|
760
|
+
return (await response.json());
|
|
761
|
+
});
|
|
710
762
|
}
|
|
711
763
|
catch (error) {
|
|
712
764
|
this.logger.debug({
|
|
@@ -718,15 +770,17 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
718
770
|
}
|
|
719
771
|
async recordCredentialRecovery() {
|
|
720
772
|
const identityApiUrl = this.requireIdentityApiUrl();
|
|
773
|
+
const url = `${identityApiUrl}/internal/services/record-recovery/${encodeURIComponent(this.config.serviceName)}`;
|
|
721
774
|
try {
|
|
722
|
-
const response = await
|
|
775
|
+
const response = await this.boundedTokenRequest(token_acquisition_1.IdentityTokenOperation.CredentialRecoveryCoordination, url, (signal) => fetch(url, {
|
|
723
776
|
method: 'POST',
|
|
777
|
+
signal,
|
|
724
778
|
headers: {
|
|
725
779
|
Authorization: `Bearer ${this.config.identityApiInternalToken}`,
|
|
726
780
|
'Content-Type': 'application/json',
|
|
727
781
|
},
|
|
728
782
|
body: JSON.stringify({}),
|
|
729
|
-
});
|
|
783
|
+
}));
|
|
730
784
|
if (!response.ok) {
|
|
731
785
|
this.logger.warn({
|
|
732
786
|
message: 'Failed to record credential recovery on server',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-bootstrap.service.js","sourceRoot":"","sources":["../../src/nestjs/identity-bootstrap.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"identity-bootstrap.service.js","sourceRoot":"","sources":["../../src/nestjs/identity-bootstrap.service.ts"],"names":[],"mappings":"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"}
|
package/dist/nestjs/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { IdentityBootstrapModule, IdentityBootstrapModuleAsyncOptions, } from './identity-bootstrap.module';
|
|
2
|
-
export { IdentityBootstrapService, IdentityBootstrapConfig, IDENTITY_BOOTSTRAP_CONFIG, type ScopedAccessToken, } from './identity-bootstrap.service';
|
|
2
|
+
export { IdentityBootstrapService, IdentityBootstrapConfig, IDENTITY_BOOTSTRAP_CONFIG, type ScopedAccessToken, type TokenAcquisitionOptions, } from './identity-bootstrap.service';
|
|
3
|
+
export { DEFAULT_TOKEN_REQUEST_TIMEOUT_MS, IdentityTokenOperation, IdentityTokenRequestTimeoutError, IdentityTokenWaitAbortedError, } from './token-acquisition';
|
|
3
4
|
export { OrgAuthModule, OrgAdminGuard, ORG_AUTH_CONFIG, type OrgAuthConfig, type OrgAuthModuleAsyncOptions, } from './org-auth';
|
package/dist/nestjs/index.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ORG_AUTH_CONFIG = exports.OrgAdminGuard = exports.OrgAuthModule = exports.IDENTITY_BOOTSTRAP_CONFIG = exports.IdentityBootstrapService = exports.IdentityBootstrapModule = void 0;
|
|
3
|
+
exports.ORG_AUTH_CONFIG = exports.OrgAdminGuard = exports.OrgAuthModule = exports.IdentityTokenWaitAbortedError = exports.IdentityTokenRequestTimeoutError = exports.IdentityTokenOperation = exports.DEFAULT_TOKEN_REQUEST_TIMEOUT_MS = exports.IDENTITY_BOOTSTRAP_CONFIG = exports.IdentityBootstrapService = exports.IdentityBootstrapModule = void 0;
|
|
4
4
|
var identity_bootstrap_module_1 = require("./identity-bootstrap.module");
|
|
5
5
|
Object.defineProperty(exports, "IdentityBootstrapModule", { enumerable: true, get: function () { return identity_bootstrap_module_1.IdentityBootstrapModule; } });
|
|
6
6
|
var identity_bootstrap_service_1 = require("./identity-bootstrap.service");
|
|
7
7
|
Object.defineProperty(exports, "IdentityBootstrapService", { enumerable: true, get: function () { return identity_bootstrap_service_1.IdentityBootstrapService; } });
|
|
8
8
|
Object.defineProperty(exports, "IDENTITY_BOOTSTRAP_CONFIG", { enumerable: true, get: function () { return identity_bootstrap_service_1.IDENTITY_BOOTSTRAP_CONFIG; } });
|
|
9
|
+
var token_acquisition_1 = require("./token-acquisition");
|
|
10
|
+
Object.defineProperty(exports, "DEFAULT_TOKEN_REQUEST_TIMEOUT_MS", { enumerable: true, get: function () { return token_acquisition_1.DEFAULT_TOKEN_REQUEST_TIMEOUT_MS; } });
|
|
11
|
+
Object.defineProperty(exports, "IdentityTokenOperation", { enumerable: true, get: function () { return token_acquisition_1.IdentityTokenOperation; } });
|
|
12
|
+
Object.defineProperty(exports, "IdentityTokenRequestTimeoutError", { enumerable: true, get: function () { return token_acquisition_1.IdentityTokenRequestTimeoutError; } });
|
|
13
|
+
Object.defineProperty(exports, "IdentityTokenWaitAbortedError", { enumerable: true, get: function () { return token_acquisition_1.IdentityTokenWaitAbortedError; } });
|
|
9
14
|
var org_auth_1 = require("./org-auth");
|
|
10
15
|
Object.defineProperty(exports, "OrgAuthModule", { enumerable: true, get: function () { return org_auth_1.OrgAuthModule; } });
|
|
11
16
|
Object.defineProperty(exports, "OrgAdminGuard", { enumerable: true, get: function () { return org_auth_1.OrgAdminGuard; } });
|
package/dist/nestjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nestjs/index.ts"],"names":[],"mappings":";;;AAAA,yEAGqC;AAFnC,oIAAA,uBAAuB,OAAA;AAGzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nestjs/index.ts"],"names":[],"mappings":";;;AAAA,yEAGqC;AAFnC,oIAAA,uBAAuB,OAAA;AAGzB,2EAMsC;AALpC,sIAAA,wBAAwB,OAAA;AAExB,uIAAA,yBAAyB,OAAA;AAI3B,yDAK6B;AAJ3B,qIAAA,gCAAgC,OAAA;AAChC,2HAAA,sBAAsB,OAAA;AACtB,qIAAA,gCAAgC,OAAA;AAChC,kIAAA,6BAA6B,OAAA;AAE/B,uCAMoB;AALlB,yGAAA,aAAa,OAAA;AACb,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const DEFAULT_TOKEN_REQUEST_TIMEOUT_MS = 10000;
|
|
2
|
+
export declare enum IdentityTokenOperation {
|
|
3
|
+
ServiceTokenRefresh = "service-token-refresh",
|
|
4
|
+
ScopedTokenMint = "scoped-token-mint",
|
|
5
|
+
ExactAudienceTokenMint = "exact-audience-token-mint",
|
|
6
|
+
CredentialRecoveryCoordination = "credential-recovery-coordination"
|
|
7
|
+
}
|
|
8
|
+
export declare class IdentityTokenWaitAbortedError extends Error {
|
|
9
|
+
readonly operation: IdentityTokenOperation;
|
|
10
|
+
readonly reason: unknown;
|
|
11
|
+
readonly name = "IdentityTokenWaitAbortedError";
|
|
12
|
+
readonly retryable = false;
|
|
13
|
+
constructor(operation: IdentityTokenOperation, reason: unknown);
|
|
14
|
+
}
|
|
15
|
+
export declare class IdentityTokenRequestTimeoutError extends Error {
|
|
16
|
+
readonly operation: IdentityTokenOperation;
|
|
17
|
+
readonly timeoutMs: number;
|
|
18
|
+
readonly endpoint: string;
|
|
19
|
+
readonly name = "IdentityTokenRequestTimeoutError";
|
|
20
|
+
constructor(operation: IdentityTokenOperation, timeoutMs: number, endpoint: string);
|
|
21
|
+
}
|
|
22
|
+
export declare function resolveTokenRequestTimeoutMs(configured: unknown): number;
|
|
23
|
+
export declare function withTokenRequestDeadline<T>(operation: IdentityTokenOperation, endpoint: string, timeoutMs: number, work: (signal: AbortSignal) => Promise<T>): Promise<T>;
|
|
24
|
+
export declare function awaitWithCallerSignal<T>(shared: Promise<T>, operation: IdentityTokenOperation, signal: AbortSignal | undefined): Promise<T>;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IdentityTokenRequestTimeoutError = exports.IdentityTokenWaitAbortedError = exports.IdentityTokenOperation = exports.DEFAULT_TOKEN_REQUEST_TIMEOUT_MS = void 0;
|
|
4
|
+
exports.resolveTokenRequestTimeoutMs = resolveTokenRequestTimeoutMs;
|
|
5
|
+
exports.withTokenRequestDeadline = withTokenRequestDeadline;
|
|
6
|
+
exports.awaitWithCallerSignal = awaitWithCallerSignal;
|
|
7
|
+
exports.DEFAULT_TOKEN_REQUEST_TIMEOUT_MS = 10_000;
|
|
8
|
+
var IdentityTokenOperation;
|
|
9
|
+
(function (IdentityTokenOperation) {
|
|
10
|
+
IdentityTokenOperation["ServiceTokenRefresh"] = "service-token-refresh";
|
|
11
|
+
IdentityTokenOperation["ScopedTokenMint"] = "scoped-token-mint";
|
|
12
|
+
IdentityTokenOperation["ExactAudienceTokenMint"] = "exact-audience-token-mint";
|
|
13
|
+
IdentityTokenOperation["CredentialRecoveryCoordination"] = "credential-recovery-coordination";
|
|
14
|
+
})(IdentityTokenOperation || (exports.IdentityTokenOperation = IdentityTokenOperation = {}));
|
|
15
|
+
class IdentityTokenWaitAbortedError extends Error {
|
|
16
|
+
operation;
|
|
17
|
+
reason;
|
|
18
|
+
name = 'IdentityTokenWaitAbortedError';
|
|
19
|
+
retryable = false;
|
|
20
|
+
constructor(operation, reason) {
|
|
21
|
+
super(`Wait for ${operation} token aborted by the caller's signal`);
|
|
22
|
+
this.operation = operation;
|
|
23
|
+
this.reason = reason;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.IdentityTokenWaitAbortedError = IdentityTokenWaitAbortedError;
|
|
27
|
+
class IdentityTokenRequestTimeoutError extends Error {
|
|
28
|
+
operation;
|
|
29
|
+
timeoutMs;
|
|
30
|
+
endpoint;
|
|
31
|
+
name = 'IdentityTokenRequestTimeoutError';
|
|
32
|
+
constructor(operation, timeoutMs, endpoint) {
|
|
33
|
+
super(`${operation} request to ${endpoint} did not complete within ${timeoutMs}ms`);
|
|
34
|
+
this.operation = operation;
|
|
35
|
+
this.timeoutMs = timeoutMs;
|
|
36
|
+
this.endpoint = endpoint;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.IdentityTokenRequestTimeoutError = IdentityTokenRequestTimeoutError;
|
|
40
|
+
function resolveTokenRequestTimeoutMs(configured) {
|
|
41
|
+
if (configured === undefined) {
|
|
42
|
+
return exports.DEFAULT_TOKEN_REQUEST_TIMEOUT_MS;
|
|
43
|
+
}
|
|
44
|
+
if (typeof configured !== 'number' ||
|
|
45
|
+
!Number.isInteger(configured) ||
|
|
46
|
+
configured <= 0) {
|
|
47
|
+
throw new Error(`[IdentityBootstrapService] Invalid IdentityBootstrapConfig: ` +
|
|
48
|
+
`'tokenRequestTimeoutMs' must be a positive integer number of ` +
|
|
49
|
+
`milliseconds, got ${JSON.stringify(configured)}.`);
|
|
50
|
+
}
|
|
51
|
+
return configured;
|
|
52
|
+
}
|
|
53
|
+
function describeEndpoint(url) {
|
|
54
|
+
try {
|
|
55
|
+
const parsed = new URL(url);
|
|
56
|
+
return `${parsed.origin}${parsed.pathname}`;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return '<unparseable endpoint>';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async function withTokenRequestDeadline(operation, endpoint, timeoutMs, work) {
|
|
63
|
+
const deadline = AbortSignal.timeout(timeoutMs);
|
|
64
|
+
try {
|
|
65
|
+
return await work(deadline);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
if (deadline.aborted) {
|
|
69
|
+
throw new IdentityTokenRequestTimeoutError(operation, timeoutMs, describeEndpoint(endpoint));
|
|
70
|
+
}
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function awaitWithCallerSignal(shared, operation, signal) {
|
|
75
|
+
if (!signal) {
|
|
76
|
+
return shared;
|
|
77
|
+
}
|
|
78
|
+
if (signal.aborted) {
|
|
79
|
+
shared.catch(() => undefined);
|
|
80
|
+
return Promise.reject(new IdentityTokenWaitAbortedError(operation, signal.reason));
|
|
81
|
+
}
|
|
82
|
+
return new Promise((resolve, reject) => {
|
|
83
|
+
const onAbort = () => {
|
|
84
|
+
reject(new IdentityTokenWaitAbortedError(operation, signal.reason));
|
|
85
|
+
};
|
|
86
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
87
|
+
shared.then((value) => {
|
|
88
|
+
signal.removeEventListener('abort', onAbort);
|
|
89
|
+
resolve(value);
|
|
90
|
+
}, (error) => {
|
|
91
|
+
signal.removeEventListener('abort', onAbort);
|
|
92
|
+
reject(error);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=token-acquisition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-acquisition.js","sourceRoot":"","sources":["../../src/nestjs/token-acquisition.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/identity-client",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.8",
|
|
4
4
|
"description": "NestJS client library and standalone HTTP client for Identity API - service registration, credential management, and JWT token lifecycle",
|
|
5
5
|
"author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
|
|
6
6
|
"license": "LicenseRef-Xema-BSL-1.1",
|