@aifabrix/miso-client 3.1.2 → 3.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -2
- package/dist/express/client-token-endpoint.d.ts +76 -0
- package/dist/express/client-token-endpoint.d.ts.map +1 -0
- package/dist/express/client-token-endpoint.js +231 -0
- package/dist/express/client-token-endpoint.js.map +1 -0
- package/dist/express/index.d.ts +2 -1
- package/dist/express/index.d.ts.map +1 -1
- package/dist/express/index.js +8 -3
- package/dist/express/index.js.map +1 -1
- package/dist/express/response-middleware.d.ts.map +1 -1
- package/dist/express/response-middleware.js.map +1 -1
- package/dist/index.d.ts +19 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -4
- package/dist/index.js.map +1 -1
- package/dist/services/auth.service.d.ts +26 -4
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +137 -6
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/browser-permission.service.d.ts +60 -0
- package/dist/services/browser-permission.service.d.ts.map +1 -0
- package/dist/services/browser-permission.service.js +159 -0
- package/dist/services/browser-permission.service.js.map +1 -0
- package/dist/services/browser-role.service.d.ts +60 -0
- package/dist/services/browser-role.service.d.ts.map +1 -0
- package/dist/services/browser-role.service.js +159 -0
- package/dist/services/browser-role.service.js.map +1 -0
- package/dist/services/cache.service.d.ts.map +1 -1
- package/dist/services/cache.service.js +4 -0
- package/dist/services/cache.service.js.map +1 -1
- package/dist/services/logger.service.d.ts +99 -24
- package/dist/services/logger.service.d.ts.map +1 -1
- package/dist/services/logger.service.js +174 -44
- package/dist/services/logger.service.js.map +1 -1
- package/dist/services/redis.service.d.ts.map +1 -1
- package/dist/services/redis.service.js +3 -6
- package/dist/services/redis.service.js.map +1 -1
- package/dist/types/config.types.d.ts +22 -0
- package/dist/types/config.types.d.ts.map +1 -1
- package/dist/types/config.types.js.map +1 -1
- package/dist/types/data-client.types.d.ts +10 -0
- package/dist/types/data-client.types.d.ts.map +1 -1
- package/dist/types/data-client.types.js.map +1 -1
- package/dist/utils/audit-log-queue.d.ts +4 -0
- package/dist/utils/audit-log-queue.d.ts.map +1 -1
- package/dist/utils/audit-log-queue.js +22 -2
- package/dist/utils/audit-log-queue.js.map +1 -1
- package/dist/utils/browser-jwt-decoder.d.ts +20 -0
- package/dist/utils/browser-jwt-decoder.d.ts.map +1 -0
- package/dist/utils/browser-jwt-decoder.js +75 -0
- package/dist/utils/browser-jwt-decoder.js.map +1 -0
- package/dist/utils/controller-url-resolver.d.ts +16 -0
- package/dist/utils/controller-url-resolver.d.ts.map +1 -1
- package/dist/utils/controller-url-resolver.js +12 -0
- package/dist/utils/controller-url-resolver.js.map +1 -1
- package/dist/utils/data-client-audit.d.ts.map +1 -1
- package/dist/utils/data-client-audit.js +19 -8
- package/dist/utils/data-client-audit.js.map +1 -1
- package/dist/utils/data-client-auth.d.ts +19 -7
- package/dist/utils/data-client-auth.d.ts.map +1 -1
- package/dist/utils/data-client-auth.js +269 -144
- package/dist/utils/data-client-auth.js.map +1 -1
- package/dist/utils/data-client-auto-init.d.ts +66 -0
- package/dist/utils/data-client-auto-init.d.ts.map +1 -0
- package/dist/utils/data-client-auto-init.js +259 -0
- package/dist/utils/data-client-auto-init.js.map +1 -0
- package/dist/utils/data-client-redirect.d.ts +52 -0
- package/dist/utils/data-client-redirect.d.ts.map +1 -0
- package/dist/utils/data-client-redirect.js +233 -0
- package/dist/utils/data-client-redirect.js.map +1 -0
- package/dist/utils/data-client-request.d.ts +8 -1
- package/dist/utils/data-client-request.d.ts.map +1 -1
- package/dist/utils/data-client-request.js +30 -5
- package/dist/utils/data-client-request.js.map +1 -1
- package/dist/utils/data-client.d.ts +116 -0
- package/dist/utils/data-client.d.ts.map +1 -1
- package/dist/utils/data-client.js +349 -4
- package/dist/utils/data-client.js.map +1 -1
- package/dist/utils/logging-helpers.d.ts +51 -0
- package/dist/utils/logging-helpers.d.ts.map +1 -0
- package/dist/utils/logging-helpers.js +57 -0
- package/dist/utils/logging-helpers.js.map +1 -0
- package/dist/utils/request-context.d.ts +32 -0
- package/dist/utils/request-context.d.ts.map +1 -0
- package/dist/utils/request-context.js +81 -0
- package/dist/utils/request-context.js.map +1 -0
- package/package.json +9 -2
|
@@ -3,18 +3,22 @@
|
|
|
3
3
|
* DataClient authentication utilities
|
|
4
4
|
* Handles authentication, token management, and login/logout flows
|
|
5
5
|
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
6
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.logout = exports.redirectToLogin = void 0;
|
|
7
11
|
exports.getToken = getToken;
|
|
12
|
+
exports.handleOAuthCallback = handleOAuthCallback;
|
|
8
13
|
exports.hasClientToken = hasClientToken;
|
|
9
14
|
exports.hasAnyToken = hasAnyToken;
|
|
10
15
|
exports.getClientToken = getClientToken;
|
|
11
16
|
exports.getControllerUrl = getControllerUrl;
|
|
12
|
-
exports.redirectToLogin = redirectToLogin;
|
|
13
|
-
exports.logout = logout;
|
|
14
17
|
exports.getEnvironmentToken = getEnvironmentToken;
|
|
15
18
|
exports.getClientTokenInfo = getClientTokenInfo;
|
|
16
19
|
const data_client_utils_1 = require("./data-client-utils");
|
|
17
20
|
const token_utils_1 = require("./token-utils");
|
|
21
|
+
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
18
22
|
const data_client_audit_1 = require("./data-client-audit");
|
|
19
23
|
/**
|
|
20
24
|
* Get authentication token from localStorage
|
|
@@ -30,6 +34,168 @@ function getToken(tokenKeys) {
|
|
|
30
34
|
}
|
|
31
35
|
return null;
|
|
32
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Clean up hash fragment from URL (security measure)
|
|
39
|
+
*/
|
|
40
|
+
function cleanupHash() {
|
|
41
|
+
try {
|
|
42
|
+
const win = globalThis;
|
|
43
|
+
if (!win.window) {
|
|
44
|
+
console.warn("[handleOAuthCallback] window not available for hash cleanup");
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const cleanUrl = win.window.location.pathname + win.window.location.search;
|
|
48
|
+
// Use replaceState to remove hash without adding to history
|
|
49
|
+
win.window.history.replaceState(null, "", cleanUrl);
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
console.warn("[handleOAuthCallback] Failed to clean up hash:", e);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Validate token format (basic validation - non-empty string with reasonable length)
|
|
57
|
+
* Accepts both JWT and non-JWT tokens (controller may send different formats)
|
|
58
|
+
* @param token - Token string to validate
|
|
59
|
+
* @returns True if token appears to be valid format
|
|
60
|
+
*/
|
|
61
|
+
function isValidTokenFormat(token) {
|
|
62
|
+
if (!token || typeof token !== "string") {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
// Trim whitespace
|
|
66
|
+
const trimmed = token.trim();
|
|
67
|
+
// Must be non-empty after trimming
|
|
68
|
+
if (trimmed.length === 0) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
// Must have reasonable length (at least 5 characters to avoid obviously invalid tokens)
|
|
72
|
+
// This allows both JWT tokens and other token formats
|
|
73
|
+
if (trimmed.length < 5) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
// Token is valid if it passes basic checks
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Handle OAuth callback with ISO 27001 compliant security
|
|
81
|
+
* Extracts token from URL hash fragment and stores securely
|
|
82
|
+
*
|
|
83
|
+
* Security features:
|
|
84
|
+
* - Immediate hash cleanup (< 100ms)
|
|
85
|
+
* - Token format validation
|
|
86
|
+
* - HTTPS enforcement check
|
|
87
|
+
* - Secure error handling
|
|
88
|
+
*
|
|
89
|
+
* @param config - DataClient configuration
|
|
90
|
+
* @returns Extracted token or null if not found/invalid
|
|
91
|
+
*/
|
|
92
|
+
function handleOAuthCallback(config) {
|
|
93
|
+
if (!(0, data_client_utils_1.isBrowser)())
|
|
94
|
+
return null;
|
|
95
|
+
// CRITICAL: Extract hash IMMEDIATELY (synchronous)
|
|
96
|
+
// Don't wait for async operations - token must be removed from URL ASAP
|
|
97
|
+
const window = globalThis;
|
|
98
|
+
if (!window.window || !window.window.location)
|
|
99
|
+
return null;
|
|
100
|
+
const hash = window.window.location.hash;
|
|
101
|
+
if (!hash || hash.length <= 1) {
|
|
102
|
+
return null; // No hash or empty hash
|
|
103
|
+
}
|
|
104
|
+
// Parse hash synchronously (remove '#' prefix)
|
|
105
|
+
const hashString = hash.substring(1);
|
|
106
|
+
let hashParams;
|
|
107
|
+
try {
|
|
108
|
+
hashParams = new URLSearchParams(hashString);
|
|
109
|
+
}
|
|
110
|
+
catch (e) {
|
|
111
|
+
console.warn("[handleOAuthCallback] Failed to parse hash:", e);
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
// Extract token from various possible parameter names
|
|
115
|
+
const token = hashParams.get("token") ||
|
|
116
|
+
hashParams.get("access_token") ||
|
|
117
|
+
hashParams.get("accessToken");
|
|
118
|
+
if (!token) {
|
|
119
|
+
return null; // No token in hash
|
|
120
|
+
}
|
|
121
|
+
// SECURITY: Validate token format (basic validation - non-empty with reasonable length)
|
|
122
|
+
if (!isValidTokenFormat(token)) {
|
|
123
|
+
const tokenLength = token ? token.length : 0;
|
|
124
|
+
console.error("[handleOAuthCallback] Invalid token format - token rejected", {
|
|
125
|
+
tokenLength,
|
|
126
|
+
isEmpty: !token || token.trim().length === 0,
|
|
127
|
+
tooShort: tokenLength > 0 && tokenLength < 5,
|
|
128
|
+
expectedFormat: "Non-empty string with at least 5 characters",
|
|
129
|
+
});
|
|
130
|
+
// Still clean up hash even if token is invalid
|
|
131
|
+
cleanupHash();
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
// SECURITY: HTTPS enforcement (warn in production, but allow localhost)
|
|
135
|
+
if (config.misoConfig?.logLevel === "debug" ||
|
|
136
|
+
process.env.NODE_ENV === "production") {
|
|
137
|
+
const isHttps = window.window.location.protocol === "https:";
|
|
138
|
+
const hostname = window.window.location.hostname || "";
|
|
139
|
+
// Check if running on localhost or local IP addresses
|
|
140
|
+
const isLocalhost = hostname === "localhost" ||
|
|
141
|
+
hostname === "127.0.0.1" ||
|
|
142
|
+
hostname === "[::1]" ||
|
|
143
|
+
hostname.startsWith("192.168.") ||
|
|
144
|
+
hostname.startsWith("10.") ||
|
|
145
|
+
hostname.startsWith("172.16.") ||
|
|
146
|
+
hostname.startsWith("172.17.") ||
|
|
147
|
+
hostname.startsWith("172.18.") ||
|
|
148
|
+
hostname.startsWith("172.19.") ||
|
|
149
|
+
hostname.startsWith("172.20.") ||
|
|
150
|
+
hostname.startsWith("172.21.") ||
|
|
151
|
+
hostname.startsWith("172.22.") ||
|
|
152
|
+
hostname.startsWith("172.23.") ||
|
|
153
|
+
hostname.startsWith("172.24.") ||
|
|
154
|
+
hostname.startsWith("172.25.") ||
|
|
155
|
+
hostname.startsWith("172.26.") ||
|
|
156
|
+
hostname.startsWith("172.27.") ||
|
|
157
|
+
hostname.startsWith("172.28.") ||
|
|
158
|
+
hostname.startsWith("172.29.") ||
|
|
159
|
+
hostname.startsWith("172.30.") ||
|
|
160
|
+
hostname.startsWith("172.31.");
|
|
161
|
+
// Only enforce HTTPS for production AND non-localhost URLs
|
|
162
|
+
if (!isHttps && process.env.NODE_ENV === "production" && !isLocalhost) {
|
|
163
|
+
console.error("[handleOAuthCallback] SECURITY WARNING: Token received over HTTP in production");
|
|
164
|
+
cleanupHash();
|
|
165
|
+
return null; // Reject tokens over HTTP in production (except localhost)
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// SECURITY: Remove hash IMMEDIATELY (before any async operations)
|
|
169
|
+
// Use replaceState to avoid adding to history
|
|
170
|
+
cleanupHash();
|
|
171
|
+
// Store token in localStorage
|
|
172
|
+
const tokenKeys = config.tokenKeys || ["token", "accessToken", "authToken"];
|
|
173
|
+
try {
|
|
174
|
+
// Store in all tokenKeys for compatibility
|
|
175
|
+
// Note: isBrowser() check already done at function start (line 88)
|
|
176
|
+
tokenKeys.forEach((key) => {
|
|
177
|
+
try {
|
|
178
|
+
(0, data_client_utils_1.setLocalStorage)(key, token);
|
|
179
|
+
}
|
|
180
|
+
catch (e) {
|
|
181
|
+
console.warn(`[handleOAuthCallback] Failed to store token in key ${key}:`, e);
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
// Log security event (audit trail) - only in debug mode to avoid exposing token
|
|
185
|
+
if (config.misoConfig?.logLevel === "debug") {
|
|
186
|
+
console.log("[handleOAuthCallback] OAuth token extracted and stored securely", {
|
|
187
|
+
tokenLength: token.length,
|
|
188
|
+
tokenKeys: tokenKeys,
|
|
189
|
+
storedInKeys: tokenKeys.length,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
return token;
|
|
193
|
+
}
|
|
194
|
+
catch (e) {
|
|
195
|
+
console.error("[handleOAuthCallback] Failed to store token:", e);
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
33
199
|
/**
|
|
34
200
|
* Check if client token is available (from localStorage cache or config)
|
|
35
201
|
*/
|
|
@@ -82,22 +248,112 @@ async function getClientToken(misoConfig, _baseUrl, _getEnvironmentToken) {
|
|
|
82
248
|
// Server-side: return null (client token handled by MisoClient)
|
|
83
249
|
return null;
|
|
84
250
|
}
|
|
251
|
+
const isDebug = misoConfig?.logLevel === "debug";
|
|
85
252
|
// Check localStorage cache first
|
|
86
253
|
const cachedToken = (0, data_client_utils_1.getLocalStorage)("miso:client-token");
|
|
87
254
|
const expiresAtStr = (0, data_client_utils_1.getLocalStorage)("miso:client-token-expires-at");
|
|
88
|
-
if (
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
255
|
+
if (isDebug) {
|
|
256
|
+
console.log("[getClientToken] Checking localStorage:", {
|
|
257
|
+
hasToken: !!cachedToken,
|
|
258
|
+
hasExpiresAt: !!expiresAtStr,
|
|
259
|
+
expiresAt: expiresAtStr,
|
|
260
|
+
currentTime: Date.now(),
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
if (cachedToken) {
|
|
264
|
+
// If we have expiration timestamp, check it
|
|
265
|
+
if (expiresAtStr) {
|
|
266
|
+
const expiresAt = parseInt(expiresAtStr, 10);
|
|
267
|
+
const now = Date.now();
|
|
268
|
+
const timeUntilExpiry = expiresAt - now;
|
|
269
|
+
const timeUntilExpirySeconds = Math.floor(timeUntilExpiry / 1000);
|
|
270
|
+
if (isDebug) {
|
|
271
|
+
console.log("[getClientToken] Token expiration check:", {
|
|
272
|
+
expiresAt,
|
|
273
|
+
expiresAtISO: new Date(expiresAt).toISOString(),
|
|
274
|
+
now,
|
|
275
|
+
nowISO: new Date(now).toISOString(),
|
|
276
|
+
timeUntilExpiry,
|
|
277
|
+
timeUntilExpirySeconds,
|
|
278
|
+
isValid: expiresAt > now,
|
|
279
|
+
expired: expiresAt <= now,
|
|
280
|
+
isNaN: isNaN(expiresAt),
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
if (isNaN(expiresAt)) {
|
|
284
|
+
console.warn("[getClientToken] Invalid expiration timestamp format, assuming token is valid");
|
|
285
|
+
return cachedToken;
|
|
286
|
+
}
|
|
287
|
+
else if (expiresAt > now) {
|
|
288
|
+
if (isDebug) {
|
|
289
|
+
console.log("[getClientToken] Returning valid cached token (checked expiration)");
|
|
290
|
+
}
|
|
291
|
+
return cachedToken; // Valid cached token
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
console.warn("[getClientToken] Cached token expired, removing from cache");
|
|
295
|
+
(0, data_client_utils_1.removeLocalStorage)("miso:client-token");
|
|
296
|
+
(0, data_client_utils_1.removeLocalStorage)("miso:client-token-expires-at");
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
// No expiration timestamp - try to decode JWT to check expiration
|
|
301
|
+
try {
|
|
302
|
+
// Decode JWT to check exp claim
|
|
303
|
+
const decoded = jsonwebtoken_1.default.decode(cachedToken);
|
|
304
|
+
if (decoded && decoded.exp) {
|
|
305
|
+
const now = Date.now();
|
|
306
|
+
const jwtExpiresAt = decoded.exp * 1000; // Convert to milliseconds
|
|
307
|
+
const jwtTimeUntilExpiry = jwtExpiresAt - now;
|
|
308
|
+
if (isDebug) {
|
|
309
|
+
console.log("[getClientToken] Token expiration from JWT:", {
|
|
310
|
+
jwtExpiresAt,
|
|
311
|
+
jwtExpiresAtISO: new Date(jwtExpiresAt).toISOString(),
|
|
312
|
+
now,
|
|
313
|
+
nowISO: new Date(now).toISOString(),
|
|
314
|
+
jwtTimeUntilExpiry,
|
|
315
|
+
jwtTimeUntilExpirySeconds: Math.floor(jwtTimeUntilExpiry / 1000),
|
|
316
|
+
jwtIsValid: jwtExpiresAt > now,
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
if (jwtExpiresAt > now) {
|
|
320
|
+
if (isDebug) {
|
|
321
|
+
console.log("[getClientToken] Returning valid cached token (checked JWT expiration)");
|
|
322
|
+
}
|
|
323
|
+
return cachedToken;
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
console.warn("[getClientToken] Token expired (from JWT), removing from cache");
|
|
327
|
+
(0, data_client_utils_1.removeLocalStorage)("miso:client-token");
|
|
328
|
+
(0, data_client_utils_1.removeLocalStorage)("miso:client-token-expires-at");
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
// Can't determine expiration - assume token is valid if it exists
|
|
333
|
+
if (isDebug) {
|
|
334
|
+
console.log("[getClientToken] No expiration info available, assuming token is valid");
|
|
335
|
+
}
|
|
336
|
+
return cachedToken;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
catch (error) {
|
|
340
|
+
// Failed to decode token - assume it's valid if it exists
|
|
341
|
+
console.warn("[getClientToken] Failed to decode token, assuming valid:", error);
|
|
342
|
+
return cachedToken;
|
|
343
|
+
}
|
|
92
344
|
}
|
|
93
345
|
}
|
|
94
346
|
// Check config token
|
|
95
347
|
if (misoConfig?.clientToken) {
|
|
348
|
+
if (isDebug) {
|
|
349
|
+
console.log("[getClientToken] Returning token from config");
|
|
350
|
+
}
|
|
96
351
|
return misoConfig.clientToken;
|
|
97
352
|
}
|
|
98
353
|
// Don't fetch client token if we don't have a cached token
|
|
99
354
|
// This prevents unnecessary fetch calls during auth error handling
|
|
100
355
|
// redirectToLogin can work without a client token (it's optional)
|
|
356
|
+
console.warn("[getClientToken] No token available, returning null");
|
|
101
357
|
return null;
|
|
102
358
|
}
|
|
103
359
|
/**
|
|
@@ -122,147 +378,16 @@ function getControllerUrl(misoConfig) {
|
|
|
122
378
|
}
|
|
123
379
|
/**
|
|
124
380
|
* Redirect to login page via controller
|
|
125
|
-
*
|
|
126
|
-
* @param redirectUrl - Optional redirect URL to return to after login (defaults to current page URL)
|
|
381
|
+
* Re-exported from data-client-redirect for backward compatibility
|
|
127
382
|
*/
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return;
|
|
131
|
-
// Get redirect URL - use provided URL or current page URL
|
|
132
|
-
const currentUrl = globalThis.window.location.href;
|
|
133
|
-
const finalRedirectUrl = redirectUrl || currentUrl;
|
|
134
|
-
// Build controller URL
|
|
135
|
-
const controllerUrl = getControllerUrl(config.misoConfig);
|
|
136
|
-
if (!controllerUrl) {
|
|
137
|
-
// Fallback to static loginUrl if controller URL not configured
|
|
138
|
-
const loginUrl = config.loginUrl || "/login";
|
|
139
|
-
const fullUrl = /^https?:\/\//i.test(loginUrl)
|
|
140
|
-
? loginUrl
|
|
141
|
-
: `${globalThis.window.location.origin}${loginUrl.startsWith("/") ? loginUrl : `/${loginUrl}`}`;
|
|
142
|
-
globalThis.window.location.href = fullUrl;
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
try {
|
|
146
|
-
// Get client token
|
|
147
|
-
const clientToken = await getClientTokenFn();
|
|
148
|
-
// Build login endpoint URL with query parameters
|
|
149
|
-
const loginEndpoint = `${controllerUrl}/api/v1/auth/login`;
|
|
150
|
-
const url = new URL(loginEndpoint);
|
|
151
|
-
url.searchParams.set("redirect", finalRedirectUrl);
|
|
152
|
-
// Build headers
|
|
153
|
-
const headers = {
|
|
154
|
-
"Content-Type": "application/json",
|
|
155
|
-
};
|
|
156
|
-
// Add x-client-token header if available
|
|
157
|
-
if (clientToken) {
|
|
158
|
-
headers["x-client-token"] = clientToken;
|
|
159
|
-
}
|
|
160
|
-
// Make fetch request
|
|
161
|
-
const response = await fetch(url.toString(), {
|
|
162
|
-
method: "GET",
|
|
163
|
-
headers,
|
|
164
|
-
credentials: "include", // Include cookies for CORS
|
|
165
|
-
});
|
|
166
|
-
if (!response.ok) {
|
|
167
|
-
throw new Error(`Login request failed: ${response.status} ${response.statusText}`);
|
|
168
|
-
}
|
|
169
|
-
const data = (await response.json());
|
|
170
|
-
// Extract loginUrl (support both nested and flat formats)
|
|
171
|
-
const loginUrl = data.data?.loginUrl || data.loginUrl;
|
|
172
|
-
if (loginUrl) {
|
|
173
|
-
// Redirect to the login URL returned by controller
|
|
174
|
-
globalThis.window.location.href = loginUrl;
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
// Fallback if loginUrl not in response
|
|
178
|
-
const fallbackLoginUrl = config.loginUrl || "/login";
|
|
179
|
-
const fullUrl = /^https?:\/\//i.test(fallbackLoginUrl)
|
|
180
|
-
? fallbackLoginUrl
|
|
181
|
-
: `${globalThis.window.location.origin}${fallbackLoginUrl.startsWith("/") ? fallbackLoginUrl : `/${fallbackLoginUrl}`}`;
|
|
182
|
-
globalThis.window.location.href = fullUrl;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
catch (error) {
|
|
186
|
-
// On error, fallback to static loginUrl
|
|
187
|
-
console.error("Failed to get login URL from controller:", error);
|
|
188
|
-
const loginUrl = config.loginUrl || "/login";
|
|
189
|
-
const fullUrl = /^https?:\/\//i.test(loginUrl)
|
|
190
|
-
? loginUrl
|
|
191
|
-
: `${globalThis.window.location.origin}${loginUrl.startsWith("/") ? loginUrl : `/${loginUrl}`}`;
|
|
192
|
-
globalThis.window.location.href = fullUrl;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
383
|
+
var data_client_redirect_1 = require("./data-client-redirect");
|
|
384
|
+
Object.defineProperty(exports, "redirectToLogin", { enumerable: true, get: function () { return data_client_redirect_1.redirectToLogin; } });
|
|
195
385
|
/**
|
|
196
|
-
* Logout user and redirect
|
|
197
|
-
*
|
|
198
|
-
* @param redirectUrl - Optional redirect URL after logout (defaults to logoutUrl or loginUrl)
|
|
386
|
+
* Logout user and redirect to controller logout page
|
|
387
|
+
* Re-exported from data-client-redirect for backward compatibility
|
|
199
388
|
*/
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
return;
|
|
203
|
-
const token = getTokenFn();
|
|
204
|
-
// Build controller URL
|
|
205
|
-
const controllerUrl = getControllerUrl(config.misoConfig);
|
|
206
|
-
// Call logout API if controller URL available and token exists
|
|
207
|
-
if (controllerUrl && token) {
|
|
208
|
-
try {
|
|
209
|
-
// Get client token
|
|
210
|
-
const clientToken = await getClientTokenFn();
|
|
211
|
-
// Build logout endpoint URL
|
|
212
|
-
const logoutEndpoint = `${controllerUrl}/api/v1/auth/logout`;
|
|
213
|
-
// Build headers
|
|
214
|
-
const headers = {
|
|
215
|
-
"Content-Type": "application/json",
|
|
216
|
-
};
|
|
217
|
-
// Add x-client-token header if available
|
|
218
|
-
if (clientToken) {
|
|
219
|
-
headers["x-client-token"] = clientToken;
|
|
220
|
-
}
|
|
221
|
-
// Make fetch request
|
|
222
|
-
const response = await fetch(logoutEndpoint, {
|
|
223
|
-
method: "POST",
|
|
224
|
-
headers,
|
|
225
|
-
body: JSON.stringify({ token }),
|
|
226
|
-
credentials: "include", // Include cookies for CORS
|
|
227
|
-
});
|
|
228
|
-
if (!response.ok) {
|
|
229
|
-
// Log error but continue with cleanup (logout should always clear local state)
|
|
230
|
-
const errorText = await response.text().catch(() => "Unknown error");
|
|
231
|
-
console.error(`Logout API call failed: ${response.status} ${response.statusText}. ${errorText}`);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
catch (error) {
|
|
235
|
-
// Log error but continue with cleanup (logout should always clear local state)
|
|
236
|
-
console.error("Logout API call failed:", error);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
// Clear tokens from localStorage (always, even if API call failed)
|
|
240
|
-
const keys = config.tokenKeys || ["token", "accessToken", "authToken"];
|
|
241
|
-
keys.forEach(key => {
|
|
242
|
-
try {
|
|
243
|
-
const storage = globalThis.localStorage;
|
|
244
|
-
if (storage) {
|
|
245
|
-
storage.removeItem(key);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
catch (e) {
|
|
249
|
-
// Ignore localStorage errors (SSR, private browsing, etc.)
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
// Clear HTTP cache
|
|
253
|
-
clearCacheFn();
|
|
254
|
-
// Determine redirect URL: redirectUrl param > logoutUrl config > loginUrl config > '/login'
|
|
255
|
-
const finalRedirectUrl = redirectUrl ||
|
|
256
|
-
config.logoutUrl ||
|
|
257
|
-
config.loginUrl ||
|
|
258
|
-
"/login";
|
|
259
|
-
// Construct full URL
|
|
260
|
-
const fullUrl = /^https?:\/\//i.test(finalRedirectUrl)
|
|
261
|
-
? finalRedirectUrl
|
|
262
|
-
: `${globalThis.window.location.origin}${finalRedirectUrl.startsWith("/") ? finalRedirectUrl : `/${finalRedirectUrl}`}`;
|
|
263
|
-
// Redirect
|
|
264
|
-
globalThis.window.location.href = fullUrl;
|
|
265
|
-
}
|
|
389
|
+
var data_client_redirect_2 = require("./data-client-redirect");
|
|
390
|
+
Object.defineProperty(exports, "logout", { enumerable: true, get: function () { return data_client_redirect_2.logout; } });
|
|
266
391
|
/**
|
|
267
392
|
* Get environment token (browser-side)
|
|
268
393
|
* Checks localStorage cache first, then calls backend endpoint if needed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-client-auth.js","sourceRoot":"","sources":["../../src/utils/data-client-auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-client-auth.js","sourceRoot":"","sources":["../../src/utils/data-client-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DataClient Auto-Initialization Helper
|
|
3
|
+
* Automatically fetches configuration from server and initializes DataClient
|
|
4
|
+
*
|
|
5
|
+
* Provides zero-config client-side setup for DataClient initialization
|
|
6
|
+
*/
|
|
7
|
+
import { DataClient } from "./data-client";
|
|
8
|
+
import { DataClientConfigResponse } from "../express/client-token-endpoint";
|
|
9
|
+
/**
|
|
10
|
+
* Options for autoInitializeDataClient
|
|
11
|
+
*/
|
|
12
|
+
export interface AutoInitOptions {
|
|
13
|
+
/** Client token endpoint URI (default: '/api/v1/auth/client-token') */
|
|
14
|
+
clientTokenUri?: string;
|
|
15
|
+
/** Override baseUrl detection (auto-detected from window.location if not provided) */
|
|
16
|
+
baseUrl?: string;
|
|
17
|
+
/** Error callback */
|
|
18
|
+
onError?: (error: Error) => void;
|
|
19
|
+
/** Whether to cache config in localStorage (default: true) */
|
|
20
|
+
cacheConfig?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get cached DataClient configuration from localStorage
|
|
24
|
+
*
|
|
25
|
+
* Returns the cached configuration that was stored by autoInitializeDataClient.
|
|
26
|
+
* Useful for reading configuration without re-initializing DataClient.
|
|
27
|
+
*
|
|
28
|
+
* @returns Cached config or null if not found or expired
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* import { getCachedDataClientConfig } from '@aifabrix/miso-client';
|
|
33
|
+
*
|
|
34
|
+
* const cachedConfig = getCachedDataClientConfig();
|
|
35
|
+
* if (cachedConfig) {
|
|
36
|
+
* console.log('Base URL:', cachedConfig.baseUrl);
|
|
37
|
+
* console.log('Controller URL:', cachedConfig.controllerUrl);
|
|
38
|
+
* console.log('Client ID:', cachedConfig.clientId);
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function getCachedDataClientConfig(): DataClientConfigResponse | null;
|
|
43
|
+
/**
|
|
44
|
+
* Auto-initialize DataClient with server-provided configuration
|
|
45
|
+
*
|
|
46
|
+
* Automatically:
|
|
47
|
+
* 1. Detects if running in browser
|
|
48
|
+
* 2. Checks localStorage cache first
|
|
49
|
+
* 3. Fetches config from server endpoint if needed
|
|
50
|
+
* 4. Initializes DataClient with server-provided config
|
|
51
|
+
* 5. Caches config for future use
|
|
52
|
+
*
|
|
53
|
+
* @param options - Optional configuration
|
|
54
|
+
* @returns Initialized DataClient instance
|
|
55
|
+
* @throws Error if initialization fails
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* import { autoInitializeDataClient } from '@aifabrix/miso-client';
|
|
60
|
+
*
|
|
61
|
+
* // One line - everything is automatic
|
|
62
|
+
* const dataClient = await autoInitializeDataClient();
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare function autoInitializeDataClient(options?: AutoInitOptions): Promise<DataClient>;
|
|
66
|
+
//# sourceMappingURL=data-client-auto-init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-client-auto-init.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-auto-init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,wBAAwB,EAAkC,MAAM,kCAAkC,CAAC;AAE5G;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA0CD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,IAAI,wBAAwB,GAAG,IAAI,CAG3E;AA8ID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,UAAU,CAAC,CAyErB"}
|