@aifabrix/miso-client 3.2.0 → 3.3.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 (141) hide show
  1. package/README.md +57 -2
  2. package/dist/api/auth-cache.api.d.ts +52 -0
  3. package/dist/api/auth-cache.api.d.ts.map +1 -0
  4. package/dist/api/auth-cache.api.js +125 -0
  5. package/dist/api/auth-cache.api.js.map +1 -0
  6. package/dist/api/auth-login.api.d.ts +52 -0
  7. package/dist/api/auth-login.api.d.ts.map +1 -0
  8. package/dist/api/auth-login.api.js +102 -0
  9. package/dist/api/auth-login.api.js.map +1 -0
  10. package/dist/api/auth-token.api.d.ts +46 -0
  11. package/dist/api/auth-token.api.d.ts.map +1 -0
  12. package/dist/api/auth-token.api.js +90 -0
  13. package/dist/api/auth-token.api.js.map +1 -0
  14. package/dist/api/auth-user.api.d.ts +43 -0
  15. package/dist/api/auth-user.api.d.ts.map +1 -0
  16. package/dist/api/auth-user.api.js +87 -0
  17. package/dist/api/auth-user.api.js.map +1 -0
  18. package/dist/api/auth.api.d.ts +48 -0
  19. package/dist/api/auth.api.d.ts.map +1 -0
  20. package/dist/api/auth.api.js +152 -0
  21. package/dist/api/auth.api.js.map +1 -0
  22. package/dist/api/index.d.ts +39 -0
  23. package/dist/api/index.d.ts.map +1 -0
  24. package/dist/api/index.js +31 -0
  25. package/dist/api/index.js.map +1 -0
  26. package/dist/api/logs-create.api.d.ts +32 -0
  27. package/dist/api/logs-create.api.d.ts.map +1 -0
  28. package/dist/api/logs-create.api.js +63 -0
  29. package/dist/api/logs-create.api.js.map +1 -0
  30. package/dist/api/logs-export.api.d.ts +24 -0
  31. package/dist/api/logs-export.api.d.ts.map +1 -0
  32. package/dist/api/logs-export.api.js +43 -0
  33. package/dist/api/logs-export.api.js.map +1 -0
  34. package/dist/api/logs-list.api.d.ts +63 -0
  35. package/dist/api/logs-list.api.d.ts.map +1 -0
  36. package/dist/api/logs-list.api.js +155 -0
  37. package/dist/api/logs-list.api.js.map +1 -0
  38. package/dist/api/logs-stats.api.d.ts +48 -0
  39. package/dist/api/logs-stats.api.d.ts.map +1 -0
  40. package/dist/api/logs-stats.api.js +107 -0
  41. package/dist/api/logs-stats.api.js.map +1 -0
  42. package/dist/api/logs.api.d.ts +35 -0
  43. package/dist/api/logs.api.d.ts.map +1 -0
  44. package/dist/api/logs.api.js +71 -0
  45. package/dist/api/logs.api.js.map +1 -0
  46. package/dist/api/permissions.api.d.ts +31 -0
  47. package/dist/api/permissions.api.d.ts.map +1 -0
  48. package/dist/api/permissions.api.js +62 -0
  49. package/dist/api/permissions.api.js.map +1 -0
  50. package/dist/api/roles.api.d.ts +31 -0
  51. package/dist/api/roles.api.d.ts.map +1 -0
  52. package/dist/api/roles.api.js +62 -0
  53. package/dist/api/roles.api.js.map +1 -0
  54. package/dist/api/types/auth.types.d.ts +293 -0
  55. package/dist/api/types/auth.types.d.ts.map +1 -0
  56. package/dist/api/types/auth.types.js +7 -0
  57. package/dist/api/types/auth.types.js.map +1 -0
  58. package/dist/api/types/logs.types.d.ts +266 -0
  59. package/dist/api/types/logs.types.d.ts.map +1 -0
  60. package/dist/api/types/logs.types.js +7 -0
  61. package/dist/api/types/logs.types.js.map +1 -0
  62. package/dist/api/types/permissions.types.d.ts +32 -0
  63. package/dist/api/types/permissions.types.d.ts.map +1 -0
  64. package/dist/api/types/permissions.types.js +7 -0
  65. package/dist/api/types/permissions.types.js.map +1 -0
  66. package/dist/api/types/roles.types.d.ts +32 -0
  67. package/dist/api/types/roles.types.d.ts.map +1 -0
  68. package/dist/api/types/roles.types.js +7 -0
  69. package/dist/api/types/roles.types.js.map +1 -0
  70. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  71. package/dist/express/client-token-endpoint.js +136 -13
  72. package/dist/express/client-token-endpoint.js.map +1 -1
  73. package/dist/index.d.ts +12 -0
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +24 -6
  76. package/dist/index.js.map +1 -1
  77. package/dist/services/auth.service.d.ts +28 -4
  78. package/dist/services/auth.service.d.ts.map +1 -1
  79. package/dist/services/auth.service.js +186 -16
  80. package/dist/services/auth.service.js.map +1 -1
  81. package/dist/services/browser-permission.service.d.ts +3 -1
  82. package/dist/services/browser-permission.service.d.ts.map +1 -1
  83. package/dist/services/browser-permission.service.js +32 -16
  84. package/dist/services/browser-permission.service.js.map +1 -1
  85. package/dist/services/browser-role.service.d.ts +3 -1
  86. package/dist/services/browser-role.service.d.ts.map +1 -1
  87. package/dist/services/browser-role.service.js +32 -16
  88. package/dist/services/browser-role.service.js.map +1 -1
  89. package/dist/services/logger.service.d.ts +102 -24
  90. package/dist/services/logger.service.d.ts.map +1 -1
  91. package/dist/services/logger.service.js +225 -51
  92. package/dist/services/logger.service.js.map +1 -1
  93. package/dist/services/permission.service.d.ts +3 -1
  94. package/dist/services/permission.service.d.ts.map +1 -1
  95. package/dist/services/permission.service.js +32 -16
  96. package/dist/services/permission.service.js.map +1 -1
  97. package/dist/services/redis.service.d.ts.map +1 -1
  98. package/dist/services/redis.service.js +3 -6
  99. package/dist/services/redis.service.js.map +1 -1
  100. package/dist/services/role.service.d.ts +3 -1
  101. package/dist/services/role.service.d.ts.map +1 -1
  102. package/dist/services/role.service.js +25 -13
  103. package/dist/services/role.service.js.map +1 -1
  104. package/dist/types/config.types.d.ts +22 -0
  105. package/dist/types/config.types.d.ts.map +1 -1
  106. package/dist/types/config.types.js.map +1 -1
  107. package/dist/types/data-client.types.d.ts +10 -0
  108. package/dist/types/data-client.types.d.ts.map +1 -1
  109. package/dist/types/data-client.types.js.map +1 -1
  110. package/dist/utils/audit-log-queue.d.ts +7 -0
  111. package/dist/utils/audit-log-queue.d.ts.map +1 -1
  112. package/dist/utils/audit-log-queue.js +29 -8
  113. package/dist/utils/audit-log-queue.js.map +1 -1
  114. package/dist/utils/data-client-auth.d.ts +17 -4
  115. package/dist/utils/data-client-auth.d.ts.map +1 -1
  116. package/dist/utils/data-client-auth.js +215 -131
  117. package/dist/utils/data-client-auth.js.map +1 -1
  118. package/dist/utils/data-client-auto-init.d.ts.map +1 -1
  119. package/dist/utils/data-client-auto-init.js +55 -11
  120. package/dist/utils/data-client-auto-init.js.map +1 -1
  121. package/dist/utils/data-client-redirect.d.ts +34 -4
  122. package/dist/utils/data-client-redirect.d.ts.map +1 -1
  123. package/dist/utils/data-client-redirect.js +142 -254
  124. package/dist/utils/data-client-redirect.js.map +1 -1
  125. package/dist/utils/data-client-request.d.ts +8 -1
  126. package/dist/utils/data-client-request.d.ts.map +1 -1
  127. package/dist/utils/data-client-request.js +25 -3
  128. package/dist/utils/data-client-request.js.map +1 -1
  129. package/dist/utils/data-client.d.ts +13 -0
  130. package/dist/utils/data-client.d.ts.map +1 -1
  131. package/dist/utils/data-client.js +86 -5
  132. package/dist/utils/data-client.js.map +1 -1
  133. package/dist/utils/logging-helpers.d.ts +51 -0
  134. package/dist/utils/logging-helpers.d.ts.map +1 -0
  135. package/dist/utils/logging-helpers.js +57 -0
  136. package/dist/utils/logging-helpers.js.map +1 -0
  137. package/dist/utils/request-context.d.ts +32 -0
  138. package/dist/utils/request-context.d.ts.map +1 -0
  139. package/dist/utils/request-context.js +81 -0
  140. package/dist/utils/request-context.js.map +1 -0
  141. package/package.json +1 -1
@@ -1,171 +1,14 @@
1
1
  "use strict";
2
2
  /**
3
- * DataClient redirect to login utilities
4
- * Handles redirect to login flow with proper error handling
3
+ * DataClient redirect utilities
4
+ * Handles redirect to login/logout flows
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.getValidatedRedirectUrl = getValidatedRedirectUrl;
8
8
  exports.redirectToLogin = redirectToLogin;
9
+ exports.logout = logout;
9
10
  const data_client_auth_1 = require("./data-client-auth");
10
11
  const data_client_utils_1 = require("./data-client-utils");
11
- /**
12
- * Build login request headers with client token
13
- */
14
- function buildLoginHeaders(clientToken) {
15
- const headers = {
16
- "Content-Type": "application/json",
17
- };
18
- if (clientToken) {
19
- headers["x-client-token"] = clientToken;
20
- }
21
- return headers;
22
- }
23
- /**
24
- * Build login endpoint URL with redirect parameter
25
- */
26
- function buildLoginEndpointUrl(controllerUrl, redirectUrl) {
27
- const loginEndpoint = `${controllerUrl}/api/v1/auth/login`;
28
- const url = new URL(loginEndpoint);
29
- url.searchParams.set("redirect", redirectUrl);
30
- return url.toString();
31
- }
32
- /**
33
- * Handle non-OK response from controller login endpoint
34
- */
35
- function handleLoginErrorResponse(response, controllerUrl, clientToken) {
36
- const errorTextPromise = response.text().catch(() => 'Unable to read error response');
37
- // Create user-friendly error message based on status code
38
- let userFriendlyMessage = `Login request failed: ${response.status} ${response.statusText}`;
39
- if (response.status === 401 || response.status === 403) {
40
- userFriendlyMessage = "Authentication failed: Invalid client credentials. Please check your configuration.";
41
- }
42
- else if (response.status === 404) {
43
- userFriendlyMessage = `Authentication endpoint not found at ${controllerUrl}/api/v1/auth/login. Please verify your controller URL configuration.`;
44
- }
45
- else if (response.status >= 500) {
46
- userFriendlyMessage = "Authentication server error. Please try again later or contact support.";
47
- }
48
- return errorTextPromise.then((errorText) => {
49
- const error = new Error(userFriendlyMessage);
50
- error.details = {
51
- status: response.status,
52
- statusText: response.statusText,
53
- errorText,
54
- controllerUrl,
55
- hasClientToken: !!clientToken,
56
- };
57
- throw error;
58
- });
59
- }
60
- /**
61
- * Extract login URL from controller response
62
- */
63
- function extractLoginUrl(data) {
64
- return data.data?.loginUrl || data.loginUrl || null;
65
- }
66
- /**
67
- * Create user-friendly error message for network errors
68
- */
69
- function createNetworkErrorMessage(errorMessage, controllerUrl, clientToken) {
70
- if (errorMessage.includes("Failed to fetch") || errorMessage.includes("NetworkError") || errorMessage.includes("ERR_CONNECTION_REFUSED")) {
71
- return `Cannot connect to authentication server at ${controllerUrl || 'unknown'}. Please check your network connection and server configuration.`;
72
- }
73
- if (!clientToken) {
74
- return "Client token is missing. Please initialize DataClient with proper credentials.";
75
- }
76
- return `Login failed: ${errorMessage}`;
77
- }
78
- /**
79
- * Validate controller URL configuration
80
- */
81
- function validateControllerUrl(config) {
82
- const controllerUrl = (0, data_client_auth_1.getControllerUrl)(config.misoConfig);
83
- if (!controllerUrl) {
84
- const error = new Error("Controller URL is not configured. Please configure controllerUrl or controllerPublicUrl in your DataClient configuration.");
85
- error.details = {
86
- hasMisoConfig: !!config.misoConfig,
87
- controllerUrl: config.misoConfig?.controllerUrl,
88
- controllerPublicUrl: config.misoConfig?.controllerPublicUrl,
89
- loginUrl: config.loginUrl,
90
- };
91
- throw error;
92
- }
93
- return controllerUrl;
94
- }
95
- /**
96
- * Call controller login endpoint
97
- */
98
- async function callControllerLoginEndpoint(endpointUrl, headers, controllerUrl, clientToken) {
99
- let response;
100
- // Add timeout to prevent hanging (30 seconds)
101
- const timeout = 30000;
102
- const controller = new AbortController();
103
- const timeoutId = setTimeout(() => {
104
- controller.abort();
105
- }, timeout);
106
- try {
107
- response = await fetch(endpointUrl, {
108
- method: "GET",
109
- headers,
110
- credentials: "include",
111
- signal: controller.signal,
112
- redirect: "manual", // Don't follow redirects automatically - we'll handle them explicitly
113
- });
114
- clearTimeout(timeoutId);
115
- }
116
- catch (fetchError) {
117
- clearTimeout(timeoutId);
118
- const errorMessage = fetchError instanceof Error ? fetchError.message : String(fetchError);
119
- const errorName = fetchError instanceof Error ? fetchError.name : "Unknown";
120
- const isAbortError = errorName === "AbortError" || errorMessage.includes("aborted");
121
- const isNetworkError = errorName === "TypeError" || errorMessage.includes("Failed to fetch");
122
- // Create user-friendly error message
123
- let userFriendlyMessage = `Failed to fetch login endpoint: ${errorMessage}`;
124
- if (isAbortError) {
125
- userFriendlyMessage = `Request timeout: The login endpoint did not respond within ${timeout}ms. Please check your network connection and server status.`;
126
- }
127
- else if (isNetworkError) {
128
- if (errorMessage.includes("CORS") || errorMessage.includes("cross-origin")) {
129
- userFriendlyMessage = `CORS error: Cannot connect to ${controllerUrl}. The server may not allow cross-origin requests. Please check CORS configuration.`;
130
- }
131
- else {
132
- userFriendlyMessage = `Network error: Cannot connect to ${controllerUrl}. Please check your network connection and ensure the server is running.`;
133
- }
134
- }
135
- // Re-throw with more context
136
- const networkError = new Error(userFriendlyMessage);
137
- networkError.details = {
138
- endpointUrl,
139
- hasClientToken: !!clientToken,
140
- originalError: errorMessage,
141
- errorName,
142
- isTimeout: isAbortError,
143
- isCorsError: isNetworkError && (errorMessage.includes("CORS") || errorMessage.includes("cross-origin")),
144
- };
145
- throw networkError;
146
- }
147
- // Handle case where response is undefined (shouldn't happen, but be safe)
148
- if (!response) {
149
- throw new Error("Failed to fetch login endpoint: response is undefined");
150
- }
151
- // Check for redirect status codes - these should be handled, not followed automatically
152
- if (response.status >= 300 && response.status < 400) {
153
- // Don't follow redirect automatically - treat as error
154
- throw new Error(`Server returned redirect status ${response.status}. This should not happen for login endpoint.`);
155
- }
156
- if (!response.ok) {
157
- throw await handleLoginErrorResponse(response, controllerUrl, clientToken);
158
- }
159
- let data;
160
- try {
161
- data = (await response.json());
162
- }
163
- catch (jsonError) {
164
- const errorMessage = jsonError instanceof Error ? jsonError.message : String(jsonError);
165
- throw new Error(`Failed to parse login response: ${errorMessage}. Status: ${response.status} ${response.statusText}`);
166
- }
167
- return data;
168
- }
169
12
  /**
170
13
  * Validate redirect URL for safety and format
171
14
  * Checks for valid URL format and safe protocols (http, https)
@@ -232,114 +75,159 @@ function getValidatedRedirectUrl(url, fallbackUrl) {
232
75
  return null;
233
76
  }
234
77
  /**
235
- * Handle successful login response
236
- * IMPORTANT: Only redirects if controller returns valid loginUrl - NO fallback redirects
237
- */
238
- function handleSuccessfulLoginResponse(loginUrl, controllerUrl, data, clientToken, _config) {
239
- // CRITICAL: Only use loginUrl from controller - do NOT use fallback URL
240
- // If controller doesn't return a valid URL, throw error instead of redirecting
241
- const validatedUrl = getValidatedRedirectUrl(loginUrl);
242
- if (validatedUrl) {
243
- try {
244
- globalThis.window.location.href = validatedUrl;
245
- return;
246
- }
247
- catch (redirectError) {
248
- const error = new Error("Failed to redirect to login URL. The URL may be blocked by browser security policies.");
249
- error.details = {
250
- validatedUrl,
251
- originalLoginUrl: loginUrl,
252
- redirectError: redirectError instanceof Error ? redirectError.message : String(redirectError),
253
- };
254
- throw error;
255
- }
256
- }
257
- // Controller did not return a valid login URL - throw error (do NOT use fallback)
258
- const error = new Error("Controller did not return a valid login URL. Please check your controller configuration and ensure the login endpoint is working correctly.");
259
- error.details = {
260
- controllerUrl,
261
- responseData: data,
262
- hasClientToken: !!clientToken,
263
- originalLoginUrl: loginUrl,
264
- validationFailed: true,
265
- };
266
- throw error;
267
- }
268
- /**
269
- * Handle login errors
270
- * IMPORTANT: Does NOT redirect on error - throws error instead
271
- * Redirects should only happen on successful responses
272
- * @param error - The error that occurred
273
- * @param controllerUrl - Controller URL
274
- * @param clientToken - Client token if available
78
+ * Redirect to controller login page
79
+ * Redirects user browser directly to controller's login URL with client token
80
+ * NO API CALLS - just browser redirect
81
+ *
82
+ * Flow:
83
+ * 1. User visits: http://localhost:4111/dataplane/
84
+ * 2. redirectToLogin() redirects to: {controllerPublicUrl}{loginUrl}?redirect={redirectUrl}&x-client-token={token}
85
+ * 3. Controller handles OAuth flow and redirects back after authentication
86
+ * 4. Controller redirects to: {redirectUrl}#token={userToken}
87
+ * 5. DataClient.handleOAuthCallback() extracts token from hash and stores securely
88
+ *
89
+ * Security:
90
+ * - Token is passed in hash fragment (#token=...) not query parameter
91
+ * - Hash fragments are NOT sent to server (not in logs)
92
+ * - Hash fragments are NOT stored in browser history
93
+ * - Token is immediately removed from URL after extraction
94
+ *
275
95
  * @param config - DataClient configuration
276
- * @param skipLogging - If true, skip logging (error already logged)
96
+ * @param getClientTokenFn - Function to get client token
97
+ * @param redirectUrl - Optional redirect URL to return to after login (defaults to current page URL)
277
98
  */
278
- function handleLoginError(error, controllerUrl, clientToken, config, skipLogging = false) {
279
- const errorMessage = error instanceof Error ? error.message : String(error);
280
- const errorName = error instanceof Error ? error.name : "Unknown";
281
- const _errorStack = error instanceof Error ? error.stack : undefined;
282
- const errorDetails = error?.details;
283
- // Log error - test expects Error object as second parameter
284
- if (!skipLogging) {
285
- const logError = error instanceof Error ? error : new Error(String(error));
286
- console.error("[redirectToLogin] Failed to get login URL from controller:", logError);
287
- }
288
- // DO NOT redirect on error - throw error instead
289
- // Redirects should only happen when fetch succeeds and returns valid URL
290
- // For non-network errors, throw immediately
291
- if (error instanceof Error && error.message && !error.message.includes("Failed to fetch")) {
292
- throw error;
99
+ async function redirectToLogin(config, getClientTokenFn, redirectUrl) {
100
+ if (!(0, data_client_utils_1.isBrowser)()) {
101
+ return;
293
102
  }
294
- const fullErrorDetails = {
295
- message: errorMessage,
296
- name: errorName,
297
- originalDetails: errorDetails,
298
- controllerUrl,
299
- hasClientToken: !!clientToken,
300
- config: {
301
- loginUrl: config.loginUrl,
103
+ const currentUrl = globalThis.window.location.href;
104
+ const finalRedirectUrl = redirectUrl || currentUrl;
105
+ // Get controller public URL (for browser environments)
106
+ const controllerUrl = (0, data_client_auth_1.getControllerUrl)(config.misoConfig);
107
+ if (!controllerUrl) {
108
+ const error = new Error("Controller URL is not configured. Please configure controllerUrl or controllerPublicUrl in your DataClient configuration.");
109
+ error.details = {
302
110
  hasMisoConfig: !!config.misoConfig,
303
111
  controllerUrl: config.misoConfig?.controllerUrl,
304
112
  controllerPublicUrl: config.misoConfig?.controllerPublicUrl,
305
- },
306
- };
307
- const userFriendlyMessage = createNetworkErrorMessage(errorMessage, controllerUrl, clientToken);
308
- const loginError = new Error(userFriendlyMessage);
309
- loginError.details = fullErrorDetails;
310
- throw loginError;
113
+ controllerPrivateUrl: config.misoConfig?.controllerPrivateUrl,
114
+ };
115
+ throw error;
116
+ }
117
+ // Get client token
118
+ const clientToken = await getClientTokenFn();
119
+ // Get login URL from config (defaults to '/login')
120
+ // Validate that loginUrl is not an API endpoint (should be a page, not /api/...)
121
+ let loginPath = config.loginUrl || '/login';
122
+ // Warn if loginUrl looks like an API endpoint (common mistake)
123
+ if (loginPath.startsWith('/api/')) {
124
+ console.warn(`⚠️ Warning: loginUrl is set to an API endpoint (${loginPath}). ` +
125
+ `redirectToLogin() should redirect to a login PAGE (e.g., '/login'), not an API endpoint. ` +
126
+ `Using default '/login' instead.`);
127
+ loginPath = '/login';
128
+ }
129
+ // Build full controller login URL
130
+ // If loginPath is already a full URL, use it; otherwise prepend controllerUrl
131
+ let loginUrl;
132
+ if (/^https?:\/\//i.test(loginPath)) {
133
+ loginUrl = new URL(loginPath);
134
+ }
135
+ else {
136
+ loginUrl = new URL(loginPath, controllerUrl);
137
+ }
138
+ // Add redirect parameter
139
+ loginUrl.searchParams.set('redirect', finalRedirectUrl);
140
+ // Add client token as query parameter (controller will read it)
141
+ if (clientToken) {
142
+ loginUrl.searchParams.set('x-client-token', clientToken);
143
+ }
144
+ // Redirect user directly to controller login page
145
+ // Controller handles OAuth flow and redirects back after authentication
146
+ globalThis.window.location.href = loginUrl.toString();
311
147
  }
312
148
  /**
313
- * Redirect to login page via controller
314
- * Calls the controller login endpoint with redirect parameter and x-client-token header
149
+ * Logout user and redirect to controller logout page
150
+ * Clears tokens from localStorage, clears cache, and redirects to controller logout URL
151
+ * NO API CALLS - just browser redirect
152
+ * Controller handles the logout process
153
+ *
315
154
  * @param config - DataClient configuration
155
+ * @param getTokenFn - Function to get user token
316
156
  * @param getClientTokenFn - Function to get client token
317
- * @param redirectUrl - Optional redirect URL to return to after login (defaults to current page URL)
157
+ * @param clearCacheFn - Function to clear HTTP cache
158
+ * @param redirectUrl - Optional redirect URL after logout (defaults to logoutUrl or loginUrl)
159
+ * @param _misoClient - MisoClient instance (not used, kept for API compatibility)
318
160
  */
319
- async function redirectToLogin(config, getClientTokenFn, redirectUrl) {
320
- if (!(0, data_client_utils_1.isBrowser)()) {
161
+ async function logout(config, getTokenFn, getClientTokenFn, clearCacheFn, redirectUrl, _misoClient) {
162
+ if (!(0, data_client_utils_1.isBrowser)())
163
+ return;
164
+ // Get tokens BEFORE clearing (needed for passing to controller)
165
+ const token = getTokenFn();
166
+ const clientToken = await getClientTokenFn();
167
+ // Clear tokens from localStorage
168
+ const keys = config.tokenKeys || ["token", "accessToken", "authToken"];
169
+ keys.forEach(key => {
170
+ try {
171
+ const storage = globalThis.localStorage;
172
+ if (storage) {
173
+ storage.removeItem(key);
174
+ }
175
+ }
176
+ catch (e) {
177
+ // Ignore localStorage errors (SSR, private browsing, etc.)
178
+ }
179
+ });
180
+ // Clear HTTP cache
181
+ clearCacheFn();
182
+ // Get controller public URL (for browser environments)
183
+ const controllerUrl = (0, data_client_auth_1.getControllerUrl)(config.misoConfig);
184
+ if (!controllerUrl) {
185
+ // Fallback to local redirect if controller URL not configured
186
+ const finalRedirectUrl = redirectUrl || config.logoutUrl || config.loginUrl || "/login";
187
+ const origin = globalThis.window.location.origin;
188
+ const fullUrl = /^https?:\/\//i.test(finalRedirectUrl)
189
+ ? finalRedirectUrl
190
+ : `${origin}${finalRedirectUrl.startsWith("/") ? finalRedirectUrl : `/${finalRedirectUrl}`}`;
191
+ const validatedUrl = getValidatedRedirectUrl(fullUrl);
192
+ if (validatedUrl) {
193
+ globalThis.window.location.href = validatedUrl;
194
+ }
321
195
  return;
322
196
  }
323
- const currentUrl = globalThis.window.location.href;
324
- const finalRedirectUrl = redirectUrl || currentUrl;
325
- const controllerUrl = validateControllerUrl(config);
326
- let clientToken = null;
327
- try {
328
- clientToken = await getClientTokenFn();
329
- const endpointUrl = buildLoginEndpointUrl(controllerUrl, finalRedirectUrl);
330
- const headers = buildLoginHeaders(clientToken);
331
- // Fetch login URL from controller - this MUST succeed for redirect to happen
332
- const data = await callControllerLoginEndpoint(endpointUrl, headers, controllerUrl, clientToken);
333
- const loginUrl = extractLoginUrl(data);
334
- // Only redirect if we got a valid response - handleSuccessfulLoginResponse will validate URL
335
- handleSuccessfulLoginResponse(loginUrl, controllerUrl, data, clientToken, config);
197
+ // Get logout URL from config (defaults to '/logout' or falls back to '/login')
198
+ const logoutPath = config.logoutUrl || config.loginUrl || '/logout';
199
+ // Build full controller logout URL
200
+ // If logoutPath is already a full URL, use it; otherwise prepend controllerUrl
201
+ let logoutUrl;
202
+ if (/^https?:\/\//i.test(logoutPath)) {
203
+ logoutUrl = new URL(logoutPath);
204
+ }
205
+ else {
206
+ logoutUrl = new URL(logoutPath, controllerUrl);
207
+ }
208
+ // Determine redirect URL: redirectUrl param > logoutUrl config > loginUrl config > '/login'
209
+ const finalRedirectUrl = redirectUrl || config.logoutUrl || config.loginUrl || "/login";
210
+ // Construct full redirect URL (if relative, make absolute)
211
+ let fullRedirectUrl;
212
+ if (/^https?:\/\//i.test(finalRedirectUrl)) {
213
+ fullRedirectUrl = finalRedirectUrl;
214
+ }
215
+ else {
216
+ const origin = globalThis.window.location.origin;
217
+ fullRedirectUrl = `${origin}${finalRedirectUrl.startsWith("/") ? finalRedirectUrl : `/${finalRedirectUrl}`}`;
218
+ }
219
+ logoutUrl.searchParams.set('redirect', fullRedirectUrl);
220
+ // Add client token as query parameter (controller will read it)
221
+ if (clientToken) {
222
+ logoutUrl.searchParams.set('x-client-token', clientToken);
336
223
  }
337
- catch (error) {
338
- // CRITICAL: Do NOT redirect on error - throw error instead
339
- // Redirects should ONLY happen when fetch succeeds and returns valid URL
340
- handleLoginError(error, controllerUrl, clientToken, config);
341
- // This line should never be reached since handleLoginError always throws
342
- throw error;
224
+ // Add user token as query parameter if available (controller will read it)
225
+ // Token was retrieved before clearing localStorage
226
+ if (token) {
227
+ logoutUrl.searchParams.set('token', token);
343
228
  }
229
+ // Redirect user directly to controller logout page
230
+ // Controller handles logout process and redirects back
231
+ globalThis.window.location.href = logoutUrl.toString();
344
232
  }
345
233
  //# sourceMappingURL=data-client-redirect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-client-redirect.js","sourceRoot":"","sources":["../../src/utils/data-client-redirect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-client-redirect.js","sourceRoot":"","sources":["../../src/utils/data-client-redirect.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,13 @@
5
5
  import { ApiRequestOptions, DataClientConfig, InterceptorConfig, CacheEntry } from "../types/data-client.types";
6
6
  import { HasAnyTokenFn, GetTokenFn } from "./data-client-audit";
7
7
  import { MisoClient } from "../index";
8
+ /**
9
+ * Token refresh callback function type
10
+ */
11
+ export type RefreshUserTokenFn = () => Promise<{
12
+ token: string;
13
+ expiresIn: number;
14
+ } | null>;
8
15
  /**
9
16
  * Extract headers from Headers object or Record
10
17
  */
@@ -24,7 +31,7 @@ export declare function makeFetchRequest(method: string, url: string, config: Da
24
31
  /**
25
32
  * Execute HTTP request with retry logic
26
33
  */
27
- export declare function executeHttpRequest<T>(method: string, fullUrl: string, endpoint: string, config: DataClientConfig, cache: Map<string, CacheEntry>, cacheKey: string, cacheEnabled: boolean, startTime: number, misoClient: MisoClient | null, hasAnyToken: HasAnyTokenFn, getToken: GetTokenFn, handleAuthError: () => void, interceptors: InterceptorConfig, metrics: {
34
+ export declare function executeHttpRequest<T>(method: string, fullUrl: string, endpoint: string, config: DataClientConfig, cache: Map<string, CacheEntry>, cacheKey: string, cacheEnabled: boolean, startTime: number, misoClient: MisoClient | null, hasAnyToken: HasAnyTokenFn, getToken: GetTokenFn, handleAuthError: () => void, refreshUserToken: RefreshUserTokenFn, interceptors: InterceptorConfig, metrics: {
28
35
  totalRequests: number;
29
36
  totalFailures: number;
30
37
  responseTimes: number[];
@@ -1 +1 @@
1
- {"version":3,"file":"data-client-request.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-request.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAKhB,iBAAiB,EACjB,UAAU,EACX,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAsB,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,GACnG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAsBpC;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CASrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,GACnB,WAAW,CAkBb;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,UAAU,EACpB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,QAAQ,CAAC,CAgEnB;AA0LD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,WAAW,EAAE,aAAa,EAC1B,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,MAAM,IAAI,EAC3B,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EAAE;IACP,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,EACD,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,CAAC,CA+KZ"}
1
+ {"version":3,"file":"data-client-request.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-request.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAKhB,iBAAiB,EACjB,UAAU,EACX,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAsB,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC;AAE5F;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,GACnG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAsBpC;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CASrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,GACnB,WAAW,CAkBb;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,UAAU,EACpB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,QAAQ,CAAC,CAgEnB;AA0LD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,WAAW,EAAE,aAAa,EAC1B,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,MAAM,IAAI,EAC3B,gBAAgB,EAAE,kBAAkB,EACpC,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EAAE;IACP,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,EACD,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,CAAC,CAqMZ"}
@@ -194,7 +194,7 @@ async function waitForRetry(attempt, baseDelay, maxDelay) {
194
194
  /**
195
195
  * Execute HTTP request with retry logic
196
196
  */
197
- async function executeHttpRequest(method, fullUrl, endpoint, config, cache, cacheKey, cacheEnabled, startTime, misoClient, hasAnyToken, getToken, handleAuthError, interceptors, metrics, options) {
197
+ async function executeHttpRequest(method, fullUrl, endpoint, config, cache, cacheKey, cacheEnabled, startTime, misoClient, hasAnyToken, getToken, handleAuthError, refreshUserToken, interceptors, metrics, options) {
198
198
  const maxRetries = options?.retries !== undefined
199
199
  ? options.retries
200
200
  : config.retry?.maxRetries || 3;
@@ -203,6 +203,8 @@ async function executeHttpRequest(method, fullUrl, endpoint, config, cache, cach
203
203
  const maxDelay = config.retry?.maxDelay || 10000;
204
204
  // Flag to prevent retries when auth error is detected
205
205
  let authErrorDetected = false;
206
+ // Flag to track if token refresh was attempted
207
+ let tokenRefreshAttempted = false;
206
208
  // Internal recursive function to handle retries
207
209
  async function attemptRequest(attempt) {
208
210
  // If auth error was detected, don't make any more requests
@@ -214,9 +216,29 @@ async function executeHttpRequest(method, fullUrl, endpoint, config, cache, cach
214
216
  try {
215
217
  response = await makeFetchRequest(method, fullUrl, config, getToken, options);
216
218
  responseStatus = response.status;
217
- // CRITICAL: Check for 401/403 errors IMMEDIATELY - do NOT retry
218
- // Throw immediately without any retry logic
219
+ // CRITICAL: Check for 401/403 errors IMMEDIATELY
219
220
  if (responseStatus === 401 || responseStatus === 403) {
221
+ // For 401 errors, try token refresh if callback is available (only once, on first attempt)
222
+ if (responseStatus === 401 && config.onTokenRefresh && refreshUserToken && attempt === 0 && !tokenRefreshAttempted) {
223
+ tokenRefreshAttempted = true; // Mark that we've attempted refresh
224
+ try {
225
+ const refreshResult = await refreshUserToken();
226
+ if (refreshResult && refreshResult.token) {
227
+ // Token refreshed successfully, retry the request with new token
228
+ // The token is already stored in localStorage by refreshUserToken,
229
+ // so getToken() will pick it up automatically
230
+ // Wait a small delay to ensure token is stored
231
+ await new Promise((resolve) => setTimeout(resolve, 10));
232
+ // Retry the request (will use new token from localStorage)
233
+ return attemptRequest(attempt + 1);
234
+ }
235
+ }
236
+ catch (refreshError) {
237
+ // Token refresh failed, fall through to handle auth error
238
+ console.warn("Token refresh failed, redirecting to login:", refreshError);
239
+ }
240
+ }
241
+ // Token refresh failed or not available, handle auth error
220
242
  authErrorDetected = true; // Set flag to prevent any retries
221
243
  const authError = responseStatus === 401
222
244
  ? new data_client_types_1.AuthenticationError("Authentication required", response)
@@ -1 +1 @@
1
- {"version":3,"file":"data-client-request.js","sourceRoot":"","sources":["../../src/utils/data-client-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-client-request.js","sourceRoot":"","sources":["../../src/utils/data-client-request.ts"],"names":[],"mappings":"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"}