@aifabrix/miso-client 4.0.0 → 4.2.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 (66) hide show
  1. package/CHANGELOG.md +73 -6
  2. package/dist/api/types/encryption.types.d.ts +4 -0
  3. package/dist/api/types/encryption.types.d.ts.map +1 -1
  4. package/dist/express/client-token-endpoint.d.ts +0 -12
  5. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  6. package/dist/express/client-token-endpoint.js +97 -218
  7. package/dist/express/client-token-endpoint.js.map +1 -1
  8. package/dist/express/error-handler.d.ts +1 -4
  9. package/dist/express/error-handler.d.ts.map +1 -1
  10. package/dist/express/error-handler.js +39 -84
  11. package/dist/express/error-handler.js.map +1 -1
  12. package/dist/express/error-response.d.ts.map +1 -1
  13. package/dist/express/error-response.js +2 -0
  14. package/dist/express/error-response.js.map +1 -1
  15. package/dist/express/error-types.d.ts +1 -3
  16. package/dist/express/error-types.d.ts.map +1 -1
  17. package/dist/express/error-types.js +17 -37
  18. package/dist/express/error-types.js.map +1 -1
  19. package/dist/express/logger-context.middleware.d.ts +7 -21
  20. package/dist/express/logger-context.middleware.d.ts.map +1 -1
  21. package/dist/express/logger-context.middleware.js +25 -62
  22. package/dist/express/logger-context.middleware.js.map +1 -1
  23. package/dist/index.js +2 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/services/auth.service.d.ts +18 -20
  26. package/dist/services/auth.service.d.ts.map +1 -1
  27. package/dist/services/auth.service.js +63 -38
  28. package/dist/services/auth.service.js.map +1 -1
  29. package/dist/services/encryption.service.d.ts +15 -3
  30. package/dist/services/encryption.service.d.ts.map +1 -1
  31. package/dist/services/encryption.service.js +22 -3
  32. package/dist/services/encryption.service.js.map +1 -1
  33. package/dist/services/permission.service.d.ts +8 -1
  34. package/dist/services/permission.service.d.ts.map +1 -1
  35. package/dist/services/permission.service.js +49 -60
  36. package/dist/services/permission.service.js.map +1 -1
  37. package/dist/services/role.service.d.ts +8 -1
  38. package/dist/services/role.service.d.ts.map +1 -1
  39. package/dist/services/role.service.js +44 -47
  40. package/dist/services/role.service.js.map +1 -1
  41. package/dist/types/config.types.d.ts +2 -0
  42. package/dist/types/config.types.d.ts.map +1 -1
  43. package/dist/types/config.types.js.map +1 -1
  44. package/dist/utils/config-loader.d.ts.map +1 -1
  45. package/dist/utils/config-loader.js +79 -94
  46. package/dist/utils/config-loader.js.map +1 -1
  47. package/dist/utils/data-client.d.ts +6 -0
  48. package/dist/utils/data-client.d.ts.map +1 -1
  49. package/dist/utils/data-client.js +40 -39
  50. package/dist/utils/data-client.js.map +1 -1
  51. package/dist/utils/encryption-error.d.ts +5 -5
  52. package/dist/utils/encryption-error.d.ts.map +1 -1
  53. package/dist/utils/encryption-error.js +2 -2
  54. package/dist/utils/encryption-error.js.map +1 -1
  55. package/dist/utils/errors.d.ts.map +1 -1
  56. package/dist/utils/errors.js +39 -60
  57. package/dist/utils/errors.js.map +1 -1
  58. package/dist/utils/http-client.d.ts +47 -2
  59. package/dist/utils/http-client.d.ts.map +1 -1
  60. package/dist/utils/http-client.js +47 -7
  61. package/dist/utils/http-client.js.map +1 -1
  62. package/dist/utils/internal-http-client.d.ts +54 -2
  63. package/dist/utils/internal-http-client.d.ts.map +1 -1
  64. package/dist/utils/internal-http-client.js +93 -76
  65. package/dist/utils/internal-http-client.js.map +1 -1
  66. package/package.json +1 -1
@@ -12,6 +12,7 @@ export declare class AuthService {
12
12
  private config;
13
13
  private tokenValidationTTL;
14
14
  private minValidationTTL;
15
+ private userTTL;
15
16
  constructor(httpClient: HttpClient, apiClient: ApiClient, cache: CacheService);
16
17
  /**
17
18
  * Check if token matches configured API key for testing
@@ -42,22 +43,17 @@ export declare class AuthService {
42
43
  * Generate unique correlation ID for request tracking
43
44
  */
44
45
  private generateCorrelationId;
45
- /**
46
- * Get environment token using client credentials
47
- */
46
+ /** Extract token from response (handles nested and flat formats) */
47
+ private extractTokenFromEnvResponse;
48
+ /** Get environment token using client credentials */
48
49
  getEnvironmentToken(): Promise<string>;
49
50
  /**
50
- * Initiate login flow by calling controller
51
- * Returns the login URL and state for browser redirect or manual navigation
52
- *
53
- * Important: Your application only needs to know about your own app URLs and the miso-controller.
54
- * The miso-controller manages all authentication flows internally, including OAuth callbacks with Keycloak.
55
- * You don't need to handle OAuth callbacks in your application.
56
- *
51
+ * Initiate login flow by calling controller. Returns login URL and state for browser redirect.
52
+ * Your app only needs to know your own URLs and miso-controller - it handles OAuth callbacks with Keycloak.
57
53
  * @param params - Login parameters
58
- * @param params.redirect - Required final destination URL in your application where the user should be redirected after successful authentication. This is a URL in your app (e.g., 'https://myapp.com/dashboard'). The miso-controller handles the OAuth callback internally and then redirects the user to this URL.
54
+ * @param params.redirect - Final destination URL in your app after authentication (e.g., 'https://myapp.com/dashboard')
59
55
  * @param params.state - Optional CSRF protection token (auto-generated by controller if omitted)
60
- * @returns Login response with loginUrl (the Keycloak authentication URL) and state
56
+ * @returns Login response with loginUrl and state
61
57
  */
62
58
  login(params: {
63
59
  redirect: string;
@@ -81,6 +77,7 @@ export declare class AuthService {
81
77
  getUser(token: string, authStrategy?: AuthStrategy): Promise<UserInfo | null>;
82
78
  /**
83
79
  * Get user information from GET /api/v1/auth/user endpoint
80
+ * Caches user info by userId with configurable TTL (default 5 minutes)
84
81
  * If API_KEY is configured and token matches, returns null (by design for testing)
85
82
  * @param token - User authentication token
86
83
  * @param authStrategy - Optional authentication strategy override
@@ -93,12 +90,14 @@ export declare class AuthService {
93
90
  */
94
91
  clearTokenCache(token: string): void;
95
92
  /**
96
- * Logout user
97
- * Gracefully handles cases where there's no active session (400 Bad Request)
98
- * Only throws errors for unexpected failures (network errors, 5xx errors, etc.)
99
- * Automatically clears token validation cache on logout
100
- * @param params - Logout parameters
101
- * @param params.token - Access token to invalidate
93
+ * Clear cached user info
94
+ * Uses userId extracted from token for cache key
95
+ * @param token - User authentication token
96
+ */
97
+ clearUserCache(token: string): void;
98
+ /**
99
+ * Logout user. Gracefully handles no active session (400). Clears token/user caches.
100
+ * @param params - Logout parameters with token to invalidate
102
101
  * @returns Logout response with success message
103
102
  */
104
103
  logout(params: {
@@ -106,8 +105,7 @@ export declare class AuthService {
106
105
  }): Promise<LogoutResponse>;
107
106
  /**
108
107
  * Refresh user access token using refresh token
109
- * @param refreshToken - Refresh token to exchange for new access token
110
- * @param authStrategy - Optional authentication strategy override
108
+ * @param refreshToken - Refresh token to exchange for new tokens
111
109
  * @returns New access token, refresh token, and expiration info, or null on error
112
110
  */
113
111
  refreshToken(refreshToken: string, authStrategy?: AuthStrategy): Promise<RefreshTokenResponse | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAU/B,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAS7E;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAuD5C;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,aAAa,CAAC;IAoC1B;;;;;;;OAOG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IA4CnB;;;;;OAKG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgC3B;;;;;OAKG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA6B3B;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWpC;;;;;;;;OAQG;IACG,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAuBhE;;;;;OAKG;IACG,YAAY,CAChB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA8BvC;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;CAGpB"}
1
+ {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAW/B,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAS;gBAEZ,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAU7E;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B,oEAAoE;IACpE,OAAO,CAAC,2BAA2B;IAOnC,qDAAqD;IAC/C,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAqC5C;;;;;;;OAOG;IACG,KAAK,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,aAAa,CAAC;IAoC1B;;;;;;;OAOG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IA4CnB;;;;;OAKG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgC3B;;;;;;OAMG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAqD3B;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWpC;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAanC;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAyBhE;;;;OAIG;IACG,YAAY,CAChB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA8BvC;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;CAGpB"}
@@ -52,6 +52,7 @@ class AuthService {
52
52
  this.apiClient = apiClient;
53
53
  this.tokenValidationTTL = this.config.cache?.tokenValidationTTL || 900; // 15 minutes default
54
54
  this.minValidationTTL = this.config.cache?.minValidationTTL || 60; // 60 seconds default
55
+ this.userTTL = this.config.cache?.userTTL || 300; // 5 minutes default
55
56
  }
56
57
  /**
57
58
  * Check if token matches configured API key for testing
@@ -121,27 +122,29 @@ class AuthService {
121
122
  const clientPrefix = this.config.clientId.substring(0, 10);
122
123
  return `${clientPrefix}-${timestamp}-${random}`;
123
124
  }
124
- /**
125
- * Get environment token using client credentials
126
- */
125
+ /** Extract token from response (handles nested and flat formats) */
126
+ extractTokenFromEnvResponse(data) {
127
+ const rd = data;
128
+ const dataObj = rd?.data;
129
+ const nestedData = dataObj?.data;
130
+ return (nestedData?.token || dataObj?.token || rd?.token);
131
+ }
132
+ /** Get environment token using client credentials */
127
133
  async getEnvironmentToken() {
128
134
  const correlationId = this.generateCorrelationId();
129
135
  const clientId = this.config.clientId;
136
+ const axiosTimeout = 4000;
130
137
  try {
131
138
  const axios = (await Promise.resolve().then(() => __importStar(require("axios")))).default;
132
- const controllerUrl = (0, controller_url_resolver_1.resolveControllerUrl)(this.config);
133
- const tokenUri = this.config.clientTokenUri || "/api/v1/auth/token";
134
- const axiosTimeout = 4000;
135
- const controller = new AbortController();
136
- const timeoutId = setTimeout(() => controller.abort(), axiosTimeout);
137
139
  const http = await Promise.resolve().then(() => __importStar(require("http")));
138
140
  const https = await Promise.resolve().then(() => __importStar(require("https")));
141
+ const controllerUrl = (0, controller_url_resolver_1.resolveControllerUrl)(this.config);
139
142
  const isHttps = controllerUrl.startsWith("https://");
140
143
  const agentOpts = { family: 4, timeout: axiosTimeout };
144
+ const controller = new AbortController();
145
+ const timeoutId = setTimeout(() => controller.abort(), axiosTimeout);
141
146
  const tempAxios = axios.create({
142
- baseURL: controllerUrl,
143
- timeout: axiosTimeout,
144
- signal: controller.signal,
147
+ baseURL: controllerUrl, timeout: axiosTimeout, signal: controller.signal,
145
148
  httpAgent: !isHttps ? new http.Agent(agentOpts) : undefined,
146
149
  httpsAgent: isHttps ? new https.Agent(agentOpts) : undefined,
147
150
  headers: { "Content-Type": "application/json", "x-client-id": clientId, "x-client-secret": this.config.clientSecret },
@@ -149,21 +152,16 @@ class AuthService {
149
152
  const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error(`Request timeout after ${axiosTimeout}ms`)), axiosTimeout));
150
153
  let response;
151
154
  try {
152
- response = await Promise.race([tempAxios.post(tokenUri), timeoutPromise]);
155
+ response = await Promise.race([tempAxios.post(this.config.clientTokenUri || "/api/v1/auth/token"), timeoutPromise]);
153
156
  clearTimeout(timeoutId);
154
157
  }
155
158
  catch (e) {
156
159
  clearTimeout(timeoutId);
157
160
  throw e;
158
161
  }
159
- // Extract token from various response formats
160
- const rd = response.data;
161
- const dataObj = rd?.data;
162
- const nestedData = dataObj?.data;
163
- const token = (nestedData?.token || dataObj?.token || rd?.token);
164
- if (response.status >= 200 && response.status < 300 && token) {
162
+ const token = this.extractTokenFromEnvResponse(response.data);
163
+ if (response.status >= 200 && response.status < 300 && token)
165
164
  return token;
166
- }
167
165
  throw new Error(`Invalid response format. Status: ${response.status}`);
168
166
  }
169
167
  catch (error) {
@@ -171,17 +169,12 @@ class AuthService {
171
169
  }
172
170
  }
173
171
  /**
174
- * Initiate login flow by calling controller
175
- * Returns the login URL and state for browser redirect or manual navigation
176
- *
177
- * Important: Your application only needs to know about your own app URLs and the miso-controller.
178
- * The miso-controller manages all authentication flows internally, including OAuth callbacks with Keycloak.
179
- * You don't need to handle OAuth callbacks in your application.
180
- *
172
+ * Initiate login flow by calling controller. Returns login URL and state for browser redirect.
173
+ * Your app only needs to know your own URLs and miso-controller - it handles OAuth callbacks with Keycloak.
181
174
  * @param params - Login parameters
182
- * @param params.redirect - Required final destination URL in your application where the user should be redirected after successful authentication. This is a URL in your app (e.g., 'https://myapp.com/dashboard'). The miso-controller handles the OAuth callback internally and then redirects the user to this URL.
175
+ * @param params.redirect - Final destination URL in your app after authentication (e.g., 'https://myapp.com/dashboard')
183
176
  * @param params.state - Optional CSRF protection token (auto-generated by controller if omitted)
184
- * @returns Login response with loginUrl (the Keycloak authentication URL) and state
177
+ * @returns Login response with loginUrl and state
185
178
  */
186
179
  async login(params) {
187
180
  const correlationId = this.generateCorrelationId();
@@ -283,6 +276,7 @@ class AuthService {
283
276
  }
284
277
  /**
285
278
  * Get user information from GET /api/v1/auth/user endpoint
279
+ * Caches user info by userId with configurable TTL (default 5 minutes)
286
280
  * If API_KEY is configured and token matches, returns null (by design for testing)
287
281
  * @param token - User authentication token
288
282
  * @param authStrategy - Optional authentication strategy override
@@ -293,17 +287,33 @@ class AuthService {
293
287
  return null;
294
288
  }
295
289
  try {
290
+ // Extract userId from token to check cache first (avoids API call on cache hit)
291
+ const userId = this.extractUserIdFromToken(token);
292
+ const cacheKey = userId ? `user:${userId}` : null;
293
+ // Check cache first if we have userId
294
+ if (cacheKey) {
295
+ const cached = await this.cache.get(cacheKey);
296
+ if (cached) {
297
+ return cached.user;
298
+ }
299
+ }
300
+ // Cache miss - fetch from controller
296
301
  const authStrategyToUse = authStrategy || this.config.authStrategy;
297
302
  const authStrategyWithToken = authStrategyToUse
298
303
  ? { ...authStrategyToUse, bearerToken: token }
299
304
  : { methods: ['bearer'], bearerToken: token };
300
305
  const result = await this.apiClient.auth.getUser(authStrategyWithToken);
301
306
  if (result.data?.authenticated && result.data.user) {
302
- return {
307
+ const user = {
303
308
  id: result.data.user.id,
304
309
  username: result.data.user.username,
305
310
  email: result.data.user.email,
306
311
  };
312
+ // Cache the result if we have userId
313
+ if (cacheKey) {
314
+ await this.cache.set(cacheKey, { user, timestamp: Date.now() }, this.userTTL);
315
+ }
316
+ return user;
307
317
  }
308
318
  return null;
309
319
  }
@@ -329,12 +339,26 @@ class AuthService {
329
339
  }
330
340
  }
331
341
  /**
332
- * Logout user
333
- * Gracefully handles cases where there's no active session (400 Bad Request)
334
- * Only throws errors for unexpected failures (network errors, 5xx errors, etc.)
335
- * Automatically clears token validation cache on logout
336
- * @param params - Logout parameters
337
- * @param params.token - Access token to invalidate
342
+ * Clear cached user info
343
+ * Uses userId extracted from token for cache key
344
+ * @param token - User authentication token
345
+ */
346
+ clearUserCache(token) {
347
+ try {
348
+ const userId = this.extractUserIdFromToken(token);
349
+ if (userId) {
350
+ // Use void to ignore promise result - cache clearing should not block
351
+ void this.cache.delete(`user:${userId}`);
352
+ }
353
+ }
354
+ catch (error) {
355
+ // Log but don't throw - cache clearing failures should not break flow
356
+ console.warn("Failed to clear user cache:", error);
357
+ }
358
+ }
359
+ /**
360
+ * Logout user. Gracefully handles no active session (400). Clears token/user caches.
361
+ * @param params - Logout parameters with token to invalidate
338
362
  * @returns Logout response with success message
339
363
  */
340
364
  async logout(params) {
@@ -343,8 +367,9 @@ class AuthService {
343
367
  try {
344
368
  // Use ApiClient for typed API call
345
369
  const response = await this.apiClient.auth.logoutWithToken(params.token);
346
- // Clear token cache after successful logout
370
+ // Clear caches after successful logout
347
371
  this.clearTokenCache(params.token);
372
+ this.clearUserCache(params.token);
348
373
  return response;
349
374
  }
350
375
  catch (error) {
@@ -352,6 +377,7 @@ class AuthService {
352
377
  if ((0, auth_error_handler_1.isHttpStatus)(error, 400)) {
353
378
  console.warn(`Logout: No active session (400) [correlationId: ${correlationId}]`);
354
379
  this.clearTokenCache(params.token);
380
+ this.clearUserCache(params.token);
355
381
  return { success: true, message: "Logout successful (no active session)", timestamp: new Date().toISOString() };
356
382
  }
357
383
  (0, auth_error_handler_1.handleAuthError)(error, "Logout", correlationId, clientId);
@@ -359,8 +385,7 @@ class AuthService {
359
385
  }
360
386
  /**
361
387
  * Refresh user access token using refresh token
362
- * @param refreshToken - Refresh token to exchange for new access token
363
- * @param authStrategy - Optional authentication strategy override
388
+ * @param refreshToken - Refresh token to exchange for new tokens
364
389
  * @returns New access token, refresh token, and expiration info, or null on error
365
390
  */
366
391
  async refreshToken(refreshToken, authStrategy) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAA4B;AAY5B,8EAAwE;AACxE,gEAA+B;AAC/B,6DAA4F;AAO5F,MAAa,WAAW;IAQtB,YAAY,UAAsB,EAAE,SAAoB,EAAE,KAAmB;QAC3E,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,IAAI,GAAG,CAAC,CAAC,qBAAqB;QAC7F,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC,qBAAqB;IAC1F,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,KAAa;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,sBAAG,CAAC,MAAM,CAAC,KAAK,CAAmC,CAAC;YACpE,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAE1B,0CAA0C;YAC1C,OAAO,CAAC,OAAO,CAAC,GAAG;gBACjB,OAAO,CAAC,MAAM;gBACd,OAAO,CAAC,OAAO;gBACf,OAAO,CAAC,EAAE,CAAkB,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,KAAa;QACpC,MAAM,IAAI,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrE,OAAO,oBAAoB,IAAI,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACK,oBAAoB,CAAC,KAAa;QACxC,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,0BAA0B;QAErD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,sBAAG,CAAC,MAAM,CAAC,KAAK,CAAmC,CAAC;YACpE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,6BAA6B;YAC/D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,cAAc,CAAC;YAEpD,wDAAwD;YACxD,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,GAAG,YAAY,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,wDAAa,OAAO,GAAC,CAAC,CAAC,OAAO,CAAC;YAC9C,MAAM,aAAa,GAAG,IAAA,8CAAoB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,oBAAoB,CAAC;YACpE,MAAM,YAAY,GAAG,IAAI,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC;YAErE,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;YAClC,MAAM,KAAK,GAAG,wDAAa,OAAO,GAAC,CAAC;YACpC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;YAEvD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC7B,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3D,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC5D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;aACtH,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACtD,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,YAAY,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAC7F,CAAC;YAEF,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAsD,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC/H,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,MAAM,CAAC,CAAC;YACV,CAAC;YAED,8CAA8C;YAC9C,MAAM,EAAE,GAAG,QAAQ,CAAC,IAA0C,CAAC;YAC/D,MAAM,OAAO,GAAG,EAAE,EAAE,IAA2C,CAAC;YAChE,MAAM,UAAU,GAAG,OAAO,EAAE,IAA2C,CAAC;YACxE,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,CAAuB,CAAC;YAEvF,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC7D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oCAAe,EAAC,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAK,CAAC,MAGX;QACC,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,WAAW,GAA2B;gBAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC;YAEF,wBAAwB;YACxB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YACnC,CAAC;YAED,mCAAmC;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAC9C,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAClD,YAAY,CACb,CAAC;YAEF,+DAA+D;YAC/D,OAAO;gBACL,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,IAAI,EAAE;oBACJ,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;oBAChC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;iBACjC;gBACD,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oCAAe,EAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CACjB,KAAa,EACb,YAA2B;QAE3B,mCAAmC;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,sEAAsE;YACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAE9C,oBAAoB;YACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,QAAQ,CAAC,CAAC;YAC9D,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC,aAAa,CAAC;YAC9B,CAAC;YAED,qDAAqD;YACrD,MAAM,iBAAiB,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACnE,MAAM,qBAAqB,GAAiB,iBAAiB;gBAC3D,CAAC,CAAC,EAAE,GAAG,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC9C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAEhD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CACpD,EAAE,KAAK,EAAE,EACT,qBAAqB,CACtB,CAAC;YAEF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,IAAI,KAAK,CAAC;YAE1D,4DAA4D;YAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,QAAQ,EACR,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EACxC,GAAG,CACJ,CAAC;YAEF,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wCAAwC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACX,KAAa,EACb,YAA2B;QAE3B,2DAA2D;QAC3D,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACnE,MAAM,qBAAqB,GAAiB,iBAAiB;gBAC3D,CAAC,CAAC,EAAE,GAAG,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC9C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAEhD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CACpD,EAAE,KAAK,EAAE,EACT,qBAAqB,CACtB,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnD,OAAO;oBACL,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACvB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;oBACnC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;iBAC9B,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uCAAuC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,KAAa,EACb,YAA2B;QAE3B,2DAA2D;QAC3D,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACnE,MAAM,qBAAqB,GAAiB,iBAAiB;gBAC3D,CAAC,CAAC,EAAE,GAAG,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC9C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAEhD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAExE,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnD,OAAO;oBACL,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACvB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;oBACnC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;iBAC9B,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uCAAuC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC9C,sEAAsE;YACtE,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CAAC,MAAyB;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzE,4CAA4C;YAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEnC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2EAA2E;YAC3E,IAAI,IAAA,iCAAY,EAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,mDAAmD,aAAa,GAAG,CAAC,CAAC;gBAClF,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,uCAAuC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAClH,CAAC;YACD,IAAA,oCAAe,EAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,YAAoB,EACpB,YAA2B;QAE3B,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,iBAAiB,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CACrD,EAAE,YAAY,EAAE,EAChB,iBAAiB,CAClB,CAAC;YAEF,+DAA+D;YAC/D,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;oBACtC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY;oBACxD,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;oBAClC,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,0CAAqB,EAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,YAA2B;QAE3B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;CACF;AApbD,kCAobC"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
@@ -20,13 +20,20 @@ export declare class EncryptionService {
20
20
  private apiClient;
21
21
  /** Parameter name validation regex (matches controller validation) */
22
22
  private static readonly PARAMETER_NAME_REGEX;
23
- constructor(apiClient: ApiClient);
23
+ /** Encryption key for server-side validation */
24
+ private encryptionKey;
25
+ /**
26
+ * Create encryption service
27
+ * @param apiClient - API client for controller communication
28
+ * @param encryptionKey - Encryption key for server-side validation (from MISO_ENCRYPTION_KEY)
29
+ */
30
+ constructor(apiClient: ApiClient, encryptionKey?: string);
24
31
  /**
25
32
  * Encrypt a plaintext value and store as security parameter
26
33
  * @param plaintext - The value to encrypt (max 32KB)
27
34
  * @param parameterName - Name identifier (alphanumeric, dots, underscores, hyphens, 1-128 chars)
28
35
  * @returns Encrypt result with value reference and storage type
29
- * @throws EncryptionError if parameter name is invalid or encryption fails
36
+ * @throws EncryptionError if encryption key is missing, parameter name is invalid, or encryption fails
30
37
  */
31
38
  encrypt(plaintext: string, parameterName: string): Promise<EncryptResult>;
32
39
  /**
@@ -34,9 +41,14 @@ export declare class EncryptionService {
34
41
  * @param value - Encrypted reference (kv:// or enc://v1:)
35
42
  * @param parameterName - Name identifier (must match encryption)
36
43
  * @returns Decrypted plaintext value
37
- * @throws EncryptionError if parameter name is invalid or decryption fails
44
+ * @throws EncryptionError if encryption key is missing, parameter name is invalid, or decryption fails
38
45
  */
39
46
  decrypt(value: string, parameterName: string): Promise<string>;
47
+ /**
48
+ * Validate that encryption key is configured
49
+ * @throws EncryptionError if encryption key is not set
50
+ */
51
+ private validateEncryptionKey;
40
52
  /**
41
53
  * Validate parameter name against allowed pattern
42
54
  * @param name - Parameter name to validate
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.service.d.ts","sourceRoot":"","sources":["../../src/services/encryption.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAIhB,OAAO,CAAC,SAAS;IAH7B,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;gBAErD,SAAS,EAAE,SAAS;IAExC;;;;;;OAMG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAc/E;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpE;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;CAS9B"}
1
+ {"version":3,"file":"encryption.service.d.ts","sourceRoot":"","sources":["../../src/services/encryption.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAYhB,OAAO,CAAC,SAAS;IAX7B,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAEzE,gDAAgD;IAChD,OAAO,CAAC,aAAa,CAAqB;IAE1C;;;;OAIG;gBACiB,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM;IAIhE;;;;;;OAMG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgB/E;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAapE;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;CAS9B"}
@@ -11,21 +11,29 @@ const encryption_error_1 = require("../utils/encryption-error");
11
11
  * Provides encrypt/decrypt methods with client-side parameter validation
12
12
  */
13
13
  class EncryptionService {
14
- constructor(apiClient) {
14
+ /**
15
+ * Create encryption service
16
+ * @param apiClient - API client for controller communication
17
+ * @param encryptionKey - Encryption key for server-side validation (from MISO_ENCRYPTION_KEY)
18
+ */
19
+ constructor(apiClient, encryptionKey) {
15
20
  this.apiClient = apiClient;
21
+ this.encryptionKey = encryptionKey;
16
22
  }
17
23
  /**
18
24
  * Encrypt a plaintext value and store as security parameter
19
25
  * @param plaintext - The value to encrypt (max 32KB)
20
26
  * @param parameterName - Name identifier (alphanumeric, dots, underscores, hyphens, 1-128 chars)
21
27
  * @returns Encrypt result with value reference and storage type
22
- * @throws EncryptionError if parameter name is invalid or encryption fails
28
+ * @throws EncryptionError if encryption key is missing, parameter name is invalid, or encryption fails
23
29
  */
24
30
  async encrypt(plaintext, parameterName) {
31
+ this.validateEncryptionKey();
25
32
  this.validateParameterName(parameterName);
26
33
  const response = await this.apiClient.encryption.encrypt({
27
34
  plaintext,
28
35
  parameterName,
36
+ encryptionKey: this.encryptionKey,
29
37
  });
30
38
  return {
31
39
  value: response.value,
@@ -37,16 +45,27 @@ class EncryptionService {
37
45
  * @param value - Encrypted reference (kv:// or enc://v1:)
38
46
  * @param parameterName - Name identifier (must match encryption)
39
47
  * @returns Decrypted plaintext value
40
- * @throws EncryptionError if parameter name is invalid or decryption fails
48
+ * @throws EncryptionError if encryption key is missing, parameter name is invalid, or decryption fails
41
49
  */
42
50
  async decrypt(value, parameterName) {
51
+ this.validateEncryptionKey();
43
52
  this.validateParameterName(parameterName);
44
53
  const response = await this.apiClient.encryption.decrypt({
45
54
  value,
46
55
  parameterName,
56
+ encryptionKey: this.encryptionKey,
47
57
  });
48
58
  return response.plaintext;
49
59
  }
60
+ /**
61
+ * Validate that encryption key is configured
62
+ * @throws EncryptionError if encryption key is not set
63
+ */
64
+ validateEncryptionKey() {
65
+ if (!this.encryptionKey) {
66
+ throw new encryption_error_1.EncryptionError('Encryption key is required. Set MISO_ENCRYPTION_KEY environment variable or provide encryptionKey in config.', 'ENCRYPTION_KEY_REQUIRED');
67
+ }
68
+ }
50
69
  /**
51
70
  * Validate parameter name against allowed pattern
52
71
  * @param name - Parameter name to validate
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.service.js","sourceRoot":"","sources":["../../src/services/encryption.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,gEAA4D;AAY5D;;;GAGG;AACH,MAAa,iBAAiB;IAI5B,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAE5C;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,aAAqB;QACpD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;YACvD,SAAS;YACT,aAAa;SACd,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,aAAqB;QAChD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;YACvD,KAAK;YACL,aAAa;SACd,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,IAAY;QACxC,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,kCAAe,CACvB,sGAAsG,EACtG,wBAAwB,EACxB,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC;;AA1DH,8CA2DC;AA1DC,sEAAsE;AAC9C,sCAAoB,GAAG,yBAAyB,CAAC"}
1
+ {"version":3,"file":"encryption.service.js","sourceRoot":"","sources":["../../src/services/encryption.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,gEAA4D;AAY5D;;;GAGG;AACH,MAAa,iBAAiB;IAO5B;;;;OAIG;IACH,YAAoB,SAAoB,EAAE,aAAsB;QAA5C,cAAS,GAAT,SAAS,CAAW;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,aAAqB;QACpD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;YACvD,SAAS;YACT,aAAa;YACb,aAAa,EAAE,IAAI,CAAC,aAAc;SACnC,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,aAAqB;QAChD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;YACvD,KAAK;YACL,aAAa;YACb,aAAa,EAAE,IAAI,CAAC,aAAc;SACnC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACK,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,kCAAe,CACvB,8GAA8G,EAC9G,yBAAyB,CAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,IAAY;QACxC,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,kCAAe,CACvB,sGAAsG,EACtG,wBAAwB,EACxB,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC;;AArFH,8CAsFC;AArFC,sEAAsE;AAC9C,sCAAoB,GAAG,yBAAyB,CAAC"}
@@ -13,13 +13,20 @@ export declare class PermissionService {
13
13
  private permissionTTL;
14
14
  private applicationContextService;
15
15
  constructor(httpClient: HttpClient, apiClient: ApiClient, cache: CacheService);
16
+ /** Build auth strategy with bearer token */
17
+ private buildAuthStrategy;
18
+ /** Get environment query params from application context */
19
+ private getEnvironmentParams;
20
+ /** Get userId from token, validating via API if not in JWT */
21
+ private resolveUserId;
16
22
  /**
17
23
  * Get user permissions with caching
18
- * Optimized to extract userId from token first to check cache before API call
19
24
  * @param token - User authentication token
20
25
  * @param authStrategy - Optional authentication strategy override
21
26
  */
22
27
  getPermissions(token: string, authStrategy?: AuthStrategy): Promise<string[]>;
28
+ /** Fetch permissions from controller API */
29
+ private fetchPermissionsFromController;
23
30
  /**
24
31
  * Check if user has specific permission
25
32
  * @param token - User authentication token
@@ -1 +1 @@
1
- {"version":3,"file":"permission.service.d.ts","sourceRoot":"","sources":["../../src/services/permission.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAS/B,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,yBAAyB,CAA4B;gBAEjD,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAS7E;;;;;OAKG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IAiEpB;;;;;OAKG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;OAKG;IACG,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAOnB;;;;;OAKG;IACG,iBAAiB,CACrB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAOnB;;;;OAIG;IACG,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA+CpB;;;;OAIG;IACG,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC;CA2BjB"}
1
+ {"version":3,"file":"permission.service.d.ts","sourceRoot":"","sources":["../../src/services/permission.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAS/B,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,yBAAyB,CAA4B;gBAEjD,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAS7E,4CAA4C;IAC5C,OAAO,CAAC,iBAAiB;IAKzB,4DAA4D;IAC5D,OAAO,CAAC,oBAAoB;IAK5B,8DAA8D;YAChD,aAAa;IAQ3B;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA6BnF,4CAA4C;YAC9B,8BAA8B;IAO5C;;;;;OAKG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;OAKG;IACG,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAOnB;;;;;OAKG;IACG,iBAAiB,CACrB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAOnB;;;;OAIG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqBvF;;;;OAIG;IACG,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAWvF"}