@xemahq/identity-client 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +2 -0
- package/dist/client.js +36 -7
- package/dist/client.js.map +1 -1
- package/dist/nestjs/identity-bootstrap.service.d.ts +4 -0
- package/dist/nestjs/identity-bootstrap.service.js +106 -12
- package/dist/nestjs/identity-bootstrap.service.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +9 -8
package/dist/client.d.ts
CHANGED
|
@@ -3,7 +3,9 @@ export declare class IdentityApiClient {
|
|
|
3
3
|
private readonly baseUrl;
|
|
4
4
|
private readonly internalToken;
|
|
5
5
|
private readonly timeoutMs;
|
|
6
|
+
private readonly serviceTokenProvider;
|
|
6
7
|
constructor(options: IdentityApiClientOptions);
|
|
8
|
+
private resolveBearer;
|
|
7
9
|
registerService(request: RegisterServiceRequest): Promise<ServiceCredentials>;
|
|
8
10
|
registerServiceFull(request: RegisterServiceRequest): Promise<RegisterServiceResponse>;
|
|
9
11
|
verifyMembership(userId: string, orgId: string, realm?: string): Promise<VerifyMembershipResponse>;
|
package/dist/client.js
CHANGED
|
@@ -5,17 +5,26 @@ class IdentityApiClient {
|
|
|
5
5
|
baseUrl;
|
|
6
6
|
internalToken;
|
|
7
7
|
timeoutMs;
|
|
8
|
+
serviceTokenProvider;
|
|
8
9
|
constructor(options) {
|
|
9
10
|
this.baseUrl = options.baseUrl.replace(/\/$/, '');
|
|
10
11
|
this.internalToken = options.internalToken;
|
|
11
12
|
this.timeoutMs = options.timeoutMs ?? 10_000;
|
|
13
|
+
this.serviceTokenProvider = options.serviceTokenProvider;
|
|
14
|
+
}
|
|
15
|
+
async resolveBearer(credential) {
|
|
16
|
+
if (credential === 'bootstrap' || !this.serviceTokenProvider) {
|
|
17
|
+
return this.internalToken;
|
|
18
|
+
}
|
|
19
|
+
const serviceToken = await this.serviceTokenProvider();
|
|
20
|
+
return serviceToken ?? this.internalToken;
|
|
12
21
|
}
|
|
13
22
|
async registerService(request) {
|
|
14
23
|
const body = {
|
|
15
24
|
serviceType: 'BACKEND',
|
|
16
25
|
...request,
|
|
17
26
|
};
|
|
18
|
-
const response = await this.post('/internal/services/register', body);
|
|
27
|
+
const response = await this.post('/internal/services/register', body, 'bootstrap');
|
|
19
28
|
return {
|
|
20
29
|
clientId: response.id,
|
|
21
30
|
clientSecret: response.clientSecret,
|
|
@@ -32,7 +41,7 @@ class IdentityApiClient {
|
|
|
32
41
|
serviceType: 'BACKEND',
|
|
33
42
|
...request,
|
|
34
43
|
};
|
|
35
|
-
return this.post('/internal/services/register', body);
|
|
44
|
+
return this.post('/internal/services/register', body, 'bootstrap');
|
|
36
45
|
}
|
|
37
46
|
async verifyMembership(userId, orgId, realm) {
|
|
38
47
|
const params = new URLSearchParams({ userId, orgId });
|
|
@@ -85,8 +94,8 @@ class IdentityApiClient {
|
|
|
85
94
|
const envelope = (await response.json());
|
|
86
95
|
return envelope.data;
|
|
87
96
|
}
|
|
88
|
-
async post(path, body) {
|
|
89
|
-
const response = await this.request('POST', path, body);
|
|
97
|
+
async post(path, body, credential = 'service') {
|
|
98
|
+
const response = await this.request('POST', path, body, credential);
|
|
90
99
|
const envelope = (await response.json());
|
|
91
100
|
return envelope.data;
|
|
92
101
|
}
|
|
@@ -99,8 +108,9 @@ class IdentityApiClient {
|
|
|
99
108
|
const response = await this.request('GET', path);
|
|
100
109
|
return (await response.json());
|
|
101
110
|
}
|
|
102
|
-
async request(method, path, body) {
|
|
111
|
+
async request(method, path, body, credential = 'service') {
|
|
103
112
|
const url = `${this.baseUrl}${path}`;
|
|
113
|
+
const bearer = await this.resolveBearer(credential);
|
|
104
114
|
const controller = new AbortController();
|
|
105
115
|
const timeout = setTimeout(() => controller.abort(), this.timeoutMs);
|
|
106
116
|
try {
|
|
@@ -108,14 +118,15 @@ class IdentityApiClient {
|
|
|
108
118
|
method,
|
|
109
119
|
headers: {
|
|
110
120
|
'Content-Type': 'application/json',
|
|
111
|
-
Authorization: `Bearer ${
|
|
121
|
+
Authorization: `Bearer ${bearer}`,
|
|
112
122
|
},
|
|
113
123
|
body: body ? JSON.stringify(body) : undefined,
|
|
114
124
|
signal: controller.signal,
|
|
115
125
|
});
|
|
116
126
|
if (!response.ok) {
|
|
117
127
|
const text = await response.text().catch(() => '');
|
|
118
|
-
throw new IdentityApiError(`identity-api ${method} ${path} failed: ${response.status} ${response.statusText}
|
|
128
|
+
throw new IdentityApiError(`identity-api ${method} ${path} failed: ${response.status} ${response.statusText}` +
|
|
129
|
+
`${describeErrorBody(text)}`, response.status, text);
|
|
119
130
|
}
|
|
120
131
|
return response;
|
|
121
132
|
}
|
|
@@ -134,6 +145,24 @@ class IdentityApiClient {
|
|
|
134
145
|
}
|
|
135
146
|
}
|
|
136
147
|
exports.IdentityApiClient = IdentityApiClient;
|
|
148
|
+
function describeErrorBody(text) {
|
|
149
|
+
const trimmed = text.trim();
|
|
150
|
+
if (!trimmed) {
|
|
151
|
+
return '';
|
|
152
|
+
}
|
|
153
|
+
let detail = trimmed;
|
|
154
|
+
try {
|
|
155
|
+
const parsed = JSON.parse(trimmed);
|
|
156
|
+
const message = parsed?.message;
|
|
157
|
+
if (typeof message === 'string' && message.trim()) {
|
|
158
|
+
detail = message.trim();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
}
|
|
163
|
+
const clipped = detail.length > 500 ? `${detail.slice(0, 500)}…` : detail;
|
|
164
|
+
return ` — ${clipped}`;
|
|
165
|
+
}
|
|
137
166
|
class IdentityApiError extends Error {
|
|
138
167
|
statusCode;
|
|
139
168
|
responseBody;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,8 @@ export declare class IdentityBootstrapService implements OnModuleInit, OnModuleD
|
|
|
35
35
|
private accessToken;
|
|
36
36
|
private tokenExpiresAt;
|
|
37
37
|
private tokenRefreshPromise;
|
|
38
|
+
private readonly exactAudienceTokenCache;
|
|
39
|
+
private readonly exactAudienceTokenInflight;
|
|
38
40
|
private lastCredentialFetchAt;
|
|
39
41
|
private static readonly RECOVERY_DEBOUNCE_MS;
|
|
40
42
|
private static readonly DISTRIBUTED_RECOVERY_DEBOUNCE_MS;
|
|
@@ -56,6 +58,8 @@ export declare class IdentityBootstrapService implements OnModuleInit, OnModuleD
|
|
|
56
58
|
onModuleInit(): Promise<void>;
|
|
57
59
|
onModuleDestroy(): void;
|
|
58
60
|
getAccessToken(): Promise<string>;
|
|
61
|
+
getAccessTokenForAudience(audience: string): Promise<string>;
|
|
62
|
+
private mintExactAudienceToken;
|
|
59
63
|
getUserAccessToken(params: {
|
|
60
64
|
userId: string;
|
|
61
65
|
actorSubject: string;
|
|
@@ -19,6 +19,7 @@ const client_1 = require("../client");
|
|
|
19
19
|
const types_1 = require("../types");
|
|
20
20
|
exports.IDENTITY_BOOTSTRAP_CONFIG = Symbol('IDENTITY_BOOTSTRAP_CONFIG');
|
|
21
21
|
const DEFAULT_AGENT_WORKER_CLIENT_ID = 'platform-agent-worker';
|
|
22
|
+
const EXACT_AUDIENCE_SCOPE_PREFIX = 'xema-audience:';
|
|
22
23
|
function rebaseOrigin(endpoint, authoritativeBase) {
|
|
23
24
|
if (!endpoint) {
|
|
24
25
|
throw new Error('identity-api registration response missing required field: tokenEndpoint');
|
|
@@ -29,6 +30,25 @@ function rebaseOrigin(endpoint, authoritativeBase) {
|
|
|
29
30
|
target.host = base.host;
|
|
30
31
|
return target.toString();
|
|
31
32
|
}
|
|
33
|
+
function decodeJwtAudiences(token) {
|
|
34
|
+
const segments = token.split('.');
|
|
35
|
+
if (segments.length !== 3) {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
const payload = JSON.parse(Buffer.from(segments[1], 'base64url').toString('utf8'));
|
|
40
|
+
if (typeof payload.aud === 'string') {
|
|
41
|
+
return payload.aud.trim() ? [payload.aud] : [];
|
|
42
|
+
}
|
|
43
|
+
return Array.isArray(payload.aud) &&
|
|
44
|
+
payload.aud.every((item) => typeof item === 'string' && item.trim().length > 0)
|
|
45
|
+
? payload.aud
|
|
46
|
+
: [];
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
32
52
|
let IdentityBootstrapService = class IdentityBootstrapService {
|
|
33
53
|
static { IdentityBootstrapService_1 = this; }
|
|
34
54
|
config;
|
|
@@ -44,6 +64,8 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
44
64
|
accessToken = null;
|
|
45
65
|
tokenExpiresAt = 0;
|
|
46
66
|
tokenRefreshPromise = null;
|
|
67
|
+
exactAudienceTokenCache = new Map();
|
|
68
|
+
exactAudienceTokenInflight = new Map();
|
|
47
69
|
lastCredentialFetchAt = 0;
|
|
48
70
|
static RECOVERY_DEBOUNCE_MS = 30_000;
|
|
49
71
|
static DISTRIBUTED_RECOVERY_DEBOUNCE_MS = 45_000;
|
|
@@ -65,6 +87,7 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
65
87
|
this.client = new client_1.IdentityApiClient({
|
|
66
88
|
baseUrl: config.identityApiUrl,
|
|
67
89
|
internalToken: config.identityApiInternalToken,
|
|
90
|
+
serviceTokenProvider: async () => this.isReady ? await this.getAccessToken() : null,
|
|
68
91
|
});
|
|
69
92
|
this.maxRegistrationAttempts = config.maxRegistrationAttempts ?? Infinity;
|
|
70
93
|
this.baseRetryDelay = config.baseRetryDelay ?? 5000;
|
|
@@ -77,14 +100,18 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
77
100
|
return this.config.serviceName;
|
|
78
101
|
}
|
|
79
102
|
async onModuleInit() {
|
|
80
|
-
if (this.config.clientId &&
|
|
103
|
+
if (this.config.clientId &&
|
|
104
|
+
this.config.clientSecret &&
|
|
105
|
+
this.config.tokenEndpoint) {
|
|
81
106
|
this.registrationStarted = true;
|
|
82
107
|
this.clientId = this.config.clientId;
|
|
83
108
|
this.clientSecret = this.config.clientSecret;
|
|
84
109
|
this.clientSecretWasSelfRegistered = false;
|
|
85
110
|
this.tokenEndpoint = this.config.tokenEndpoint;
|
|
86
111
|
this.keycloakBaseUrl = this.config.keycloakUrl ?? null;
|
|
87
|
-
this.allowedRealms = this.config.keycloakRealm
|
|
112
|
+
this.allowedRealms = this.config.keycloakRealm
|
|
113
|
+
? [this.config.keycloakRealm]
|
|
114
|
+
: [];
|
|
88
115
|
this.primaryRealm = this.config.keycloakRealm ?? null;
|
|
89
116
|
this.registrationTokenScope = types_1.InternalTokenScope.SINGLE_REALM;
|
|
90
117
|
try {
|
|
@@ -113,7 +140,10 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
113
140
|
}
|
|
114
141
|
if (!this.clientId || !this.clientSecret || !this.tokenEndpoint) {
|
|
115
142
|
const ready = await this.waitForReady(30_000);
|
|
116
|
-
if (!ready ||
|
|
143
|
+
if (!ready ||
|
|
144
|
+
!this.clientId ||
|
|
145
|
+
!this.clientSecret ||
|
|
146
|
+
!this.tokenEndpoint) {
|
|
117
147
|
throw new Error('Service account credentials not available — identity-api registration may have failed');
|
|
118
148
|
}
|
|
119
149
|
}
|
|
@@ -128,6 +158,61 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
128
158
|
this.tokenRefreshPromise = null;
|
|
129
159
|
}
|
|
130
160
|
}
|
|
161
|
+
async getAccessTokenForAudience(audience) {
|
|
162
|
+
const normalizedAudience = audience.trim();
|
|
163
|
+
if (!normalizedAudience) {
|
|
164
|
+
throw new Error('An exact non-empty audience is required');
|
|
165
|
+
}
|
|
166
|
+
if (!this.isReady) {
|
|
167
|
+
const ready = await this.waitForReady(30_000);
|
|
168
|
+
if (!ready) {
|
|
169
|
+
throw new Error('IdentityBootstrapService is not ready — cannot mint an audience-scoped token');
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
if (!this.clientId || !this.clientSecret || !this.tokenEndpoint) {
|
|
173
|
+
throw new Error('Cannot mint audience-scoped token — credentials unavailable');
|
|
174
|
+
}
|
|
175
|
+
const cached = this.exactAudienceTokenCache.get(normalizedAudience);
|
|
176
|
+
if (cached && Date.now() < cached.expiresAt - 30_000) {
|
|
177
|
+
return cached.token;
|
|
178
|
+
}
|
|
179
|
+
const inflight = this.exactAudienceTokenInflight.get(normalizedAudience);
|
|
180
|
+
if (inflight) {
|
|
181
|
+
return inflight;
|
|
182
|
+
}
|
|
183
|
+
const promise = this.mintExactAudienceToken(normalizedAudience).finally(() => this.exactAudienceTokenInflight.delete(normalizedAudience));
|
|
184
|
+
this.exactAudienceTokenInflight.set(normalizedAudience, promise);
|
|
185
|
+
return promise;
|
|
186
|
+
}
|
|
187
|
+
async mintExactAudienceToken(audience) {
|
|
188
|
+
const response = await fetch(this.tokenEndpoint, {
|
|
189
|
+
method: 'POST',
|
|
190
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
191
|
+
body: new URLSearchParams({
|
|
192
|
+
grant_type: 'client_credentials',
|
|
193
|
+
client_id: this.clientId,
|
|
194
|
+
client_secret: this.clientSecret,
|
|
195
|
+
scope: `${EXACT_AUDIENCE_SCOPE_PREFIX}${audience}`,
|
|
196
|
+
}).toString(),
|
|
197
|
+
});
|
|
198
|
+
if (!response.ok) {
|
|
199
|
+
const text = await response.text().catch(() => '');
|
|
200
|
+
throw new Error(`Exact-audience service-token mint failed: ${response.status} ` +
|
|
201
|
+
`${response.statusText} (audience=${audience}) — ${text.slice(0, 300)}`);
|
|
202
|
+
}
|
|
203
|
+
const data = (await response.json());
|
|
204
|
+
const tokenAudiences = decodeJwtAudiences(data.access_token);
|
|
205
|
+
if (tokenAudiences.length !== 1 || tokenAudiences[0] !== audience) {
|
|
206
|
+
throw new Error(`Identity provider returned a token without the exact requested audience ` +
|
|
207
|
+
`(requested=${audience}, received=${tokenAudiences.join(',') || '<none>'})`);
|
|
208
|
+
}
|
|
209
|
+
const expiresAt = Date.now() + Math.max(data.expires_in || 60, 1) * 1000;
|
|
210
|
+
this.exactAudienceTokenCache.set(audience, {
|
|
211
|
+
token: data.access_token,
|
|
212
|
+
expiresAt,
|
|
213
|
+
});
|
|
214
|
+
return data.access_token;
|
|
215
|
+
}
|
|
131
216
|
async getUserAccessToken(params) {
|
|
132
217
|
const realm = this.resolveUserTokenRealm(params.realm);
|
|
133
218
|
const cacheKey = `${realm}|${params.orgId}|${params.userId}|${params.actorSubject}|${params.audience ?? ''}`;
|
|
@@ -310,7 +395,7 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
310
395
|
message: 'Starting background identity-api registration',
|
|
311
396
|
serviceName: this.config.serviceName,
|
|
312
397
|
});
|
|
313
|
-
this.attemptRegistration();
|
|
398
|
+
void this.attemptRegistration();
|
|
314
399
|
}
|
|
315
400
|
async attemptRegistration() {
|
|
316
401
|
if (this.isReady) {
|
|
@@ -323,7 +408,9 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
323
408
|
description: this.config.serviceDescription,
|
|
324
409
|
serviceType: 'BACKEND',
|
|
325
410
|
regenerateSecret: false,
|
|
326
|
-
...(this.config.keycloakRealm
|
|
411
|
+
...(this.config.keycloakRealm
|
|
412
|
+
? { realm: this.config.keycloakRealm }
|
|
413
|
+
: {}),
|
|
327
414
|
});
|
|
328
415
|
this.clientId = response.id;
|
|
329
416
|
const registrationMetadata = this.requireRegistrationMetadata(response.keycloakBaseUrl, response.allowedRealms, response.primaryRealm, response.internalTokenScope);
|
|
@@ -405,7 +492,7 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
405
492
|
error: errorMessage,
|
|
406
493
|
});
|
|
407
494
|
this.registrationTimer = setTimeout(() => {
|
|
408
|
-
this.attemptRegistration();
|
|
495
|
+
void this.attemptRegistration();
|
|
409
496
|
}, delay);
|
|
410
497
|
}
|
|
411
498
|
clientSecretWasSelfRegistered = false;
|
|
@@ -425,7 +512,9 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
425
512
|
client_secret: this.clientSecret,
|
|
426
513
|
}).toString(),
|
|
427
514
|
});
|
|
428
|
-
if (response.status === 401 &&
|
|
515
|
+
if (response.status === 401 &&
|
|
516
|
+
!recoveryAttempted &&
|
|
517
|
+
this.clientSecretWasSelfRegistered) {
|
|
429
518
|
const text = await response.text().catch(() => '');
|
|
430
519
|
const sinceLastLocalFetch = Date.now() - this.lastCredentialFetchAt;
|
|
431
520
|
if (sinceLastLocalFetch < IdentityBootstrapService_1.RECOVERY_DEBOUNCE_MS) {
|
|
@@ -443,12 +532,15 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
443
532
|
}
|
|
444
533
|
}
|
|
445
534
|
catch (stateCheckError) {
|
|
446
|
-
if (stateCheckError instanceof Error &&
|
|
535
|
+
if (stateCheckError instanceof Error &&
|
|
536
|
+
stateCheckError.message.includes('should skip')) {
|
|
447
537
|
throw stateCheckError;
|
|
448
538
|
}
|
|
449
539
|
this.logger.warn({
|
|
450
540
|
message: 'Failed to check distributed recovery state, proceeding with local coordination',
|
|
451
|
-
error: stateCheckError instanceof Error
|
|
541
|
+
error: stateCheckError instanceof Error
|
|
542
|
+
? stateCheckError.message
|
|
543
|
+
: String(stateCheckError),
|
|
452
544
|
});
|
|
453
545
|
}
|
|
454
546
|
this.logger.warn({
|
|
@@ -480,7 +572,9 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
480
572
|
description: this.config.serviceDescription,
|
|
481
573
|
serviceType: 'BACKEND',
|
|
482
574
|
regenerateSecret: false,
|
|
483
|
-
...(this.config.keycloakRealm
|
|
575
|
+
...(this.config.keycloakRealm
|
|
576
|
+
? { realm: this.config.keycloakRealm }
|
|
577
|
+
: {}),
|
|
484
578
|
});
|
|
485
579
|
if (!response.clientSecret) {
|
|
486
580
|
throw new Error('identity-api did not return clientSecret on idempotent re-register ' +
|
|
@@ -510,7 +604,7 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
510
604
|
const response = await fetch(`${this.config.identityApiUrl}/internal/services/recovery-state/${encodeURIComponent(this.config.serviceName)}`, {
|
|
511
605
|
method: 'GET',
|
|
512
606
|
headers: {
|
|
513
|
-
|
|
607
|
+
Authorization: `Bearer ${this.config.identityApiInternalToken}`,
|
|
514
608
|
},
|
|
515
609
|
});
|
|
516
610
|
if (!response.ok) {
|
|
@@ -535,7 +629,7 @@ let IdentityBootstrapService = class IdentityBootstrapService {
|
|
|
535
629
|
const response = await fetch(`${this.config.identityApiUrl}/internal/services/record-recovery/${encodeURIComponent(this.config.serviceName)}`, {
|
|
536
630
|
method: 'POST',
|
|
537
631
|
headers: {
|
|
538
|
-
|
|
632
|
+
Authorization: `Bearer ${this.config.identityApiInternalToken}`,
|
|
539
633
|
'Content-Type': 'application/json',
|
|
540
634
|
},
|
|
541
635
|
body: JSON.stringify({}),
|
|
@@ -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/types.d.ts
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAgBA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,iDAA2B,CAAA;IAC3B,mEAA6C,CAAA;AAC/C,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAgBA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,iDAA2B,CAAA;IAC3B,mEAA6C,CAAA;AAC/C,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B;AAwLD,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,kCAAuB,CAAA;IACvB,oCAAyB,CAAA;AAC3B,CAAC,EAJW,OAAO,uBAAP,OAAO,QAIlB;AAGY,QAAA,eAAe,GAAyB,IAAI,GAAG,CAAC;IAC3D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;CAClB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/identity-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
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",
|
|
@@ -28,6 +28,13 @@
|
|
|
28
28
|
"keycloak",
|
|
29
29
|
"microservices"
|
|
30
30
|
],
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "tsc -p tsconfig.build.json",
|
|
33
|
+
"build:watch": "tsc -p tsconfig.build.json --watch",
|
|
34
|
+
"clean": "rm -rf dist",
|
|
35
|
+
"test": "jest --config jest.config.js",
|
|
36
|
+
"prepublishOnly": "npm run build"
|
|
37
|
+
},
|
|
31
38
|
"dependencies": {
|
|
32
39
|
"@nestjs/common": "^11.0.0",
|
|
33
40
|
"@nestjs/config": "^4.0.0"
|
|
@@ -49,11 +56,5 @@
|
|
|
49
56
|
"reflect-metadata": "^0.2.2",
|
|
50
57
|
"ts-jest": "^29.0.0",
|
|
51
58
|
"typescript": "^5.9.0"
|
|
52
|
-
},
|
|
53
|
-
"scripts": {
|
|
54
|
-
"build": "tsc -p tsconfig.build.json",
|
|
55
|
-
"build:watch": "tsc -p tsconfig.build.json --watch",
|
|
56
|
-
"clean": "rm -rf dist",
|
|
57
|
-
"test": "jest --config jest.config.js"
|
|
58
59
|
}
|
|
59
|
-
}
|
|
60
|
+
}
|