@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.
- package/README.md +57 -2
- package/dist/api/auth-cache.api.d.ts +52 -0
- package/dist/api/auth-cache.api.d.ts.map +1 -0
- package/dist/api/auth-cache.api.js +125 -0
- package/dist/api/auth-cache.api.js.map +1 -0
- package/dist/api/auth-login.api.d.ts +52 -0
- package/dist/api/auth-login.api.d.ts.map +1 -0
- package/dist/api/auth-login.api.js +102 -0
- package/dist/api/auth-login.api.js.map +1 -0
- package/dist/api/auth-token.api.d.ts +46 -0
- package/dist/api/auth-token.api.d.ts.map +1 -0
- package/dist/api/auth-token.api.js +90 -0
- package/dist/api/auth-token.api.js.map +1 -0
- package/dist/api/auth-user.api.d.ts +43 -0
- package/dist/api/auth-user.api.d.ts.map +1 -0
- package/dist/api/auth-user.api.js +87 -0
- package/dist/api/auth-user.api.js.map +1 -0
- package/dist/api/auth.api.d.ts +48 -0
- package/dist/api/auth.api.d.ts.map +1 -0
- package/dist/api/auth.api.js +152 -0
- package/dist/api/auth.api.js.map +1 -0
- package/dist/api/index.d.ts +39 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +31 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/logs-create.api.d.ts +32 -0
- package/dist/api/logs-create.api.d.ts.map +1 -0
- package/dist/api/logs-create.api.js +63 -0
- package/dist/api/logs-create.api.js.map +1 -0
- package/dist/api/logs-export.api.d.ts +24 -0
- package/dist/api/logs-export.api.d.ts.map +1 -0
- package/dist/api/logs-export.api.js +43 -0
- package/dist/api/logs-export.api.js.map +1 -0
- package/dist/api/logs-list.api.d.ts +63 -0
- package/dist/api/logs-list.api.d.ts.map +1 -0
- package/dist/api/logs-list.api.js +155 -0
- package/dist/api/logs-list.api.js.map +1 -0
- package/dist/api/logs-stats.api.d.ts +48 -0
- package/dist/api/logs-stats.api.d.ts.map +1 -0
- package/dist/api/logs-stats.api.js +107 -0
- package/dist/api/logs-stats.api.js.map +1 -0
- package/dist/api/logs.api.d.ts +35 -0
- package/dist/api/logs.api.d.ts.map +1 -0
- package/dist/api/logs.api.js +71 -0
- package/dist/api/logs.api.js.map +1 -0
- package/dist/api/permissions.api.d.ts +31 -0
- package/dist/api/permissions.api.d.ts.map +1 -0
- package/dist/api/permissions.api.js +62 -0
- package/dist/api/permissions.api.js.map +1 -0
- package/dist/api/roles.api.d.ts +31 -0
- package/dist/api/roles.api.d.ts.map +1 -0
- package/dist/api/roles.api.js +62 -0
- package/dist/api/roles.api.js.map +1 -0
- package/dist/api/types/auth.types.d.ts +293 -0
- package/dist/api/types/auth.types.d.ts.map +1 -0
- package/dist/api/types/auth.types.js +7 -0
- package/dist/api/types/auth.types.js.map +1 -0
- package/dist/api/types/logs.types.d.ts +266 -0
- package/dist/api/types/logs.types.d.ts.map +1 -0
- package/dist/api/types/logs.types.js +7 -0
- package/dist/api/types/logs.types.js.map +1 -0
- package/dist/api/types/permissions.types.d.ts +32 -0
- package/dist/api/types/permissions.types.d.ts.map +1 -0
- package/dist/api/types/permissions.types.js +7 -0
- package/dist/api/types/permissions.types.js.map +1 -0
- package/dist/api/types/roles.types.d.ts +32 -0
- package/dist/api/types/roles.types.d.ts.map +1 -0
- package/dist/api/types/roles.types.js +7 -0
- package/dist/api/types/roles.types.js.map +1 -0
- package/dist/express/client-token-endpoint.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.js +136 -13
- package/dist/express/client-token-endpoint.js.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -6
- package/dist/index.js.map +1 -1
- package/dist/services/auth.service.d.ts +28 -4
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +186 -16
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/browser-permission.service.d.ts +3 -1
- package/dist/services/browser-permission.service.d.ts.map +1 -1
- package/dist/services/browser-permission.service.js +32 -16
- package/dist/services/browser-permission.service.js.map +1 -1
- package/dist/services/browser-role.service.d.ts +3 -1
- package/dist/services/browser-role.service.d.ts.map +1 -1
- package/dist/services/browser-role.service.js +32 -16
- package/dist/services/browser-role.service.js.map +1 -1
- package/dist/services/logger.service.d.ts +102 -24
- package/dist/services/logger.service.d.ts.map +1 -1
- package/dist/services/logger.service.js +225 -51
- package/dist/services/logger.service.js.map +1 -1
- package/dist/services/permission.service.d.ts +3 -1
- package/dist/services/permission.service.d.ts.map +1 -1
- package/dist/services/permission.service.js +32 -16
- package/dist/services/permission.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/services/role.service.d.ts +3 -1
- package/dist/services/role.service.d.ts.map +1 -1
- package/dist/services/role.service.js +25 -13
- package/dist/services/role.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 +7 -0
- package/dist/utils/audit-log-queue.d.ts.map +1 -1
- package/dist/utils/audit-log-queue.js +29 -8
- package/dist/utils/audit-log-queue.js.map +1 -1
- package/dist/utils/data-client-auth.d.ts +17 -4
- package/dist/utils/data-client-auth.d.ts.map +1 -1
- package/dist/utils/data-client-auth.js +215 -131
- package/dist/utils/data-client-auth.js.map +1 -1
- package/dist/utils/data-client-auto-init.d.ts.map +1 -1
- package/dist/utils/data-client-auto-init.js +55 -11
- package/dist/utils/data-client-auto-init.js.map +1 -1
- package/dist/utils/data-client-redirect.d.ts +34 -4
- package/dist/utils/data-client-redirect.d.ts.map +1 -1
- package/dist/utils/data-client-redirect.js +142 -254
- package/dist/utils/data-client-redirect.js.map +1 -1
- 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 +25 -3
- package/dist/utils/data-client-request.js.map +1 -1
- package/dist/utils/data-client.d.ts +13 -0
- package/dist/utils/data-client.d.ts.map +1 -1
- package/dist/utils/data-client.js +86 -5
- 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 +1 -1
|
@@ -7,20 +7,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
8
|
};
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.redirectToLogin = void 0;
|
|
10
|
+
exports.logout = exports.redirectToLogin = void 0;
|
|
11
11
|
exports.getToken = getToken;
|
|
12
|
+
exports.handleOAuthCallback = handleOAuthCallback;
|
|
12
13
|
exports.hasClientToken = hasClientToken;
|
|
13
14
|
exports.hasAnyToken = hasAnyToken;
|
|
14
15
|
exports.getClientToken = getClientToken;
|
|
15
16
|
exports.getControllerUrl = getControllerUrl;
|
|
16
|
-
exports.logout = logout;
|
|
17
17
|
exports.getEnvironmentToken = getEnvironmentToken;
|
|
18
18
|
exports.getClientTokenInfo = getClientTokenInfo;
|
|
19
19
|
const data_client_utils_1 = require("./data-client-utils");
|
|
20
20
|
const token_utils_1 = require("./token-utils");
|
|
21
21
|
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
22
22
|
const data_client_audit_1 = require("./data-client-audit");
|
|
23
|
-
const data_client_redirect_1 = require("./data-client-redirect");
|
|
24
23
|
/**
|
|
25
24
|
* Get authentication token from localStorage
|
|
26
25
|
*/
|
|
@@ -35,6 +34,168 @@ function getToken(tokenKeys) {
|
|
|
35
34
|
}
|
|
36
35
|
return null;
|
|
37
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
|
+
}
|
|
38
199
|
/**
|
|
39
200
|
* Check if client token is available (from localStorage cache or config)
|
|
40
201
|
*/
|
|
@@ -85,18 +246,20 @@ function hasAnyToken(tokenKeys, misoClient, misoConfig) {
|
|
|
85
246
|
async function getClientToken(misoConfig, _baseUrl, _getEnvironmentToken) {
|
|
86
247
|
if (!(0, data_client_utils_1.isBrowser)()) {
|
|
87
248
|
// Server-side: return null (client token handled by MisoClient)
|
|
88
|
-
console.log("[getClientToken] Not in browser environment");
|
|
89
249
|
return null;
|
|
90
250
|
}
|
|
251
|
+
const isDebug = misoConfig?.logLevel === "debug";
|
|
91
252
|
// Check localStorage cache first
|
|
92
253
|
const cachedToken = (0, data_client_utils_1.getLocalStorage)("miso:client-token");
|
|
93
254
|
const expiresAtStr = (0, data_client_utils_1.getLocalStorage)("miso:client-token-expires-at");
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
255
|
+
if (isDebug) {
|
|
256
|
+
console.log("[getClientToken] Checking localStorage:", {
|
|
257
|
+
hasToken: !!cachedToken,
|
|
258
|
+
hasExpiresAt: !!expiresAtStr,
|
|
259
|
+
expiresAt: expiresAtStr,
|
|
260
|
+
currentTime: Date.now(),
|
|
261
|
+
});
|
|
262
|
+
}
|
|
100
263
|
if (cachedToken) {
|
|
101
264
|
// If we have expiration timestamp, check it
|
|
102
265
|
if (expiresAtStr) {
|
|
@@ -104,23 +267,27 @@ async function getClientToken(misoConfig, _baseUrl, _getEnvironmentToken) {
|
|
|
104
267
|
const now = Date.now();
|
|
105
268
|
const timeUntilExpiry = expiresAt - now;
|
|
106
269
|
const timeUntilExpirySeconds = Math.floor(timeUntilExpiry / 1000);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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
|
+
}
|
|
118
283
|
if (isNaN(expiresAt)) {
|
|
119
284
|
console.warn("[getClientToken] Invalid expiration timestamp format, assuming token is valid");
|
|
120
285
|
return cachedToken;
|
|
121
286
|
}
|
|
122
287
|
else if (expiresAt > now) {
|
|
123
|
-
|
|
288
|
+
if (isDebug) {
|
|
289
|
+
console.log("[getClientToken] Returning valid cached token (checked expiration)");
|
|
290
|
+
}
|
|
124
291
|
return cachedToken; // Valid cached token
|
|
125
292
|
}
|
|
126
293
|
else {
|
|
@@ -138,17 +305,21 @@ async function getClientToken(misoConfig, _baseUrl, _getEnvironmentToken) {
|
|
|
138
305
|
const now = Date.now();
|
|
139
306
|
const jwtExpiresAt = decoded.exp * 1000; // Convert to milliseconds
|
|
140
307
|
const jwtTimeUntilExpiry = jwtExpiresAt - now;
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
+
}
|
|
150
319
|
if (jwtExpiresAt > now) {
|
|
151
|
-
|
|
320
|
+
if (isDebug) {
|
|
321
|
+
console.log("[getClientToken] Returning valid cached token (checked JWT expiration)");
|
|
322
|
+
}
|
|
152
323
|
return cachedToken;
|
|
153
324
|
}
|
|
154
325
|
else {
|
|
@@ -159,7 +330,9 @@ async function getClientToken(misoConfig, _baseUrl, _getEnvironmentToken) {
|
|
|
159
330
|
}
|
|
160
331
|
else {
|
|
161
332
|
// Can't determine expiration - assume token is valid if it exists
|
|
162
|
-
|
|
333
|
+
if (isDebug) {
|
|
334
|
+
console.log("[getClientToken] No expiration info available, assuming token is valid");
|
|
335
|
+
}
|
|
163
336
|
return cachedToken;
|
|
164
337
|
}
|
|
165
338
|
}
|
|
@@ -172,7 +345,9 @@ async function getClientToken(misoConfig, _baseUrl, _getEnvironmentToken) {
|
|
|
172
345
|
}
|
|
173
346
|
// Check config token
|
|
174
347
|
if (misoConfig?.clientToken) {
|
|
175
|
-
|
|
348
|
+
if (isDebug) {
|
|
349
|
+
console.log("[getClientToken] Returning token from config");
|
|
350
|
+
}
|
|
176
351
|
return misoConfig.clientToken;
|
|
177
352
|
}
|
|
178
353
|
// Don't fetch client token if we don't have a cached token
|
|
@@ -205,105 +380,14 @@ function getControllerUrl(misoConfig) {
|
|
|
205
380
|
* Redirect to login page via controller
|
|
206
381
|
* Re-exported from data-client-redirect for backward compatibility
|
|
207
382
|
*/
|
|
208
|
-
var
|
|
209
|
-
Object.defineProperty(exports, "redirectToLogin", { enumerable: true, get: function () { return
|
|
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; } });
|
|
210
385
|
/**
|
|
211
|
-
* Logout user and redirect
|
|
212
|
-
*
|
|
213
|
-
* @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
|
|
214
388
|
*/
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
return;
|
|
218
|
-
const token = getTokenFn();
|
|
219
|
-
// Build controller URL
|
|
220
|
-
const controllerUrl = getControllerUrl(config.misoConfig);
|
|
221
|
-
// Call logout API if controller URL available and token exists
|
|
222
|
-
if (controllerUrl && token) {
|
|
223
|
-
try {
|
|
224
|
-
// Get client token
|
|
225
|
-
const clientToken = await getClientTokenFn();
|
|
226
|
-
// Build logout endpoint URL
|
|
227
|
-
const logoutEndpoint = `${controllerUrl}/api/v1/auth/logout`;
|
|
228
|
-
// Build headers
|
|
229
|
-
const headers = {
|
|
230
|
-
"Content-Type": "application/json",
|
|
231
|
-
};
|
|
232
|
-
// Add x-client-token header if available
|
|
233
|
-
if (clientToken) {
|
|
234
|
-
headers["x-client-token"] = clientToken;
|
|
235
|
-
}
|
|
236
|
-
// Make fetch request
|
|
237
|
-
const response = await fetch(logoutEndpoint, {
|
|
238
|
-
method: "POST",
|
|
239
|
-
headers,
|
|
240
|
-
body: JSON.stringify({ token }),
|
|
241
|
-
credentials: "include", // Include cookies for CORS
|
|
242
|
-
});
|
|
243
|
-
if (!response.ok) {
|
|
244
|
-
// Log error but continue with cleanup (logout should always clear local state)
|
|
245
|
-
const errorText = await response.text().catch(() => "Unknown error");
|
|
246
|
-
console.error(`Logout API call failed: ${response.status} ${response.statusText}. ${errorText}`);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
catch (error) {
|
|
250
|
-
// Log error but continue with cleanup (logout should always clear local state)
|
|
251
|
-
console.error("Logout API call failed:", error);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
// Clear tokens from localStorage (always, even if API call failed)
|
|
255
|
-
const keys = config.tokenKeys || ["token", "accessToken", "authToken"];
|
|
256
|
-
keys.forEach(key => {
|
|
257
|
-
try {
|
|
258
|
-
const storage = globalThis.localStorage;
|
|
259
|
-
if (storage) {
|
|
260
|
-
storage.removeItem(key);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
catch (e) {
|
|
264
|
-
// Ignore localStorage errors (SSR, private browsing, etc.)
|
|
265
|
-
}
|
|
266
|
-
});
|
|
267
|
-
// Clear HTTP cache
|
|
268
|
-
clearCacheFn();
|
|
269
|
-
// Determine redirect URL: redirectUrl param > logoutUrl config > loginUrl config > '/login'
|
|
270
|
-
const finalRedirectUrl = redirectUrl ||
|
|
271
|
-
config.logoutUrl ||
|
|
272
|
-
config.loginUrl ||
|
|
273
|
-
"/login";
|
|
274
|
-
// Construct full URL (if relative, make absolute)
|
|
275
|
-
let fullUrl;
|
|
276
|
-
if (/^https?:\/\//i.test(finalRedirectUrl)) {
|
|
277
|
-
fullUrl = finalRedirectUrl;
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
280
|
-
const origin = globalThis.window.location.origin;
|
|
281
|
-
fullUrl = `${origin}${finalRedirectUrl.startsWith("/") ? finalRedirectUrl : `/${finalRedirectUrl}`}`;
|
|
282
|
-
}
|
|
283
|
-
// Validate URL before redirecting
|
|
284
|
-
const validatedUrl = (0, data_client_redirect_1.getValidatedRedirectUrl)(fullUrl);
|
|
285
|
-
if (!validatedUrl) {
|
|
286
|
-
console.error("[logout] Invalid redirect URL, cannot redirect:", fullUrl);
|
|
287
|
-
// Fallback to current origin/login if validation fails
|
|
288
|
-
const origin = globalThis.window.location.origin;
|
|
289
|
-
const fallbackUrl = `${origin}/login`;
|
|
290
|
-
console.warn("[logout] Using fallback redirect URL:", fallbackUrl);
|
|
291
|
-
globalThis.window.location.href = fallbackUrl;
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
// Redirect to validated URL
|
|
295
|
-
console.log("[logout] Redirecting to validated URL:", validatedUrl);
|
|
296
|
-
try {
|
|
297
|
-
globalThis.window.location.href = validatedUrl;
|
|
298
|
-
}
|
|
299
|
-
catch (redirectError) {
|
|
300
|
-
console.error("[logout] Failed to redirect:", redirectError);
|
|
301
|
-
// Fallback to current origin/login if redirect fails
|
|
302
|
-
const origin = globalThis.window.location.origin;
|
|
303
|
-
const fallbackUrl = `${origin}/login`;
|
|
304
|
-
globalThis.window.location.href = fallbackUrl;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
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; } });
|
|
307
391
|
/**
|
|
308
392
|
* Get environment token (browser-side)
|
|
309
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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"}
|
|
@@ -1 +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;
|
|
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"}
|
|
@@ -96,24 +96,68 @@ async function fetchConfig(baseUrl, clientTokenUri) {
|
|
|
96
96
|
const fullUrl = /^https?:\/\//i.test(clientTokenUri)
|
|
97
97
|
? clientTokenUri
|
|
98
98
|
: `${baseUrl}${clientTokenUri}`;
|
|
99
|
+
// Add timeout to prevent hanging (30 seconds)
|
|
100
|
+
const timeout = 30000;
|
|
101
|
+
const controller = new AbortController();
|
|
102
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
99
103
|
try {
|
|
100
104
|
// Try POST first (standard), fallback to GET
|
|
101
|
-
let response
|
|
102
|
-
|
|
103
|
-
headers: {
|
|
104
|
-
"Content-Type": "application/json",
|
|
105
|
-
},
|
|
106
|
-
credentials: "include",
|
|
107
|
-
});
|
|
108
|
-
// If POST fails with 405, try GET
|
|
109
|
-
if (response.status === 405) {
|
|
105
|
+
let response;
|
|
106
|
+
try {
|
|
110
107
|
response = await fetch(fullUrl, {
|
|
111
|
-
method: "
|
|
108
|
+
method: "POST",
|
|
109
|
+
headers: {
|
|
110
|
+
"Content-Type": "application/json",
|
|
111
|
+
},
|
|
112
112
|
credentials: "include",
|
|
113
|
+
signal: controller.signal,
|
|
113
114
|
});
|
|
114
115
|
}
|
|
116
|
+
catch (fetchError) {
|
|
117
|
+
clearTimeout(timeoutId);
|
|
118
|
+
// Handle timeout and network errors
|
|
119
|
+
const errorMessage = fetchError instanceof Error ? fetchError.message : String(fetchError);
|
|
120
|
+
const errorName = fetchError instanceof Error ? fetchError.name : "Unknown";
|
|
121
|
+
if (errorName === "AbortError" || errorMessage.includes("aborted")) {
|
|
122
|
+
throw new Error(`Request timeout: The client token endpoint did not respond within ${timeout}ms. ` +
|
|
123
|
+
`Please check if the server is running and accessible at ${fullUrl}`);
|
|
124
|
+
}
|
|
125
|
+
if (errorMessage.includes("ERR_EMPTY_RESPONSE") || errorMessage.includes("empty response")) {
|
|
126
|
+
throw new Error(`Connection error: The server closed the connection without sending a response. ` +
|
|
127
|
+
`Please check if the server is running and accessible at ${fullUrl}`);
|
|
128
|
+
}
|
|
129
|
+
if (errorMessage.includes("Failed to fetch") || errorMessage.includes("network")) {
|
|
130
|
+
throw new Error(`Network error: Cannot connect to ${fullUrl}. ` +
|
|
131
|
+
`Please check your network connection and ensure the server is running.`);
|
|
132
|
+
}
|
|
133
|
+
throw new Error(`Failed to fetch config: ${errorMessage}`);
|
|
134
|
+
}
|
|
135
|
+
clearTimeout(timeoutId);
|
|
136
|
+
// If POST fails with 405, try GET
|
|
137
|
+
if (response.status === 405) {
|
|
138
|
+
const getController = new AbortController();
|
|
139
|
+
const getTimeoutId = setTimeout(() => getController.abort(), timeout);
|
|
140
|
+
try {
|
|
141
|
+
response = await fetch(fullUrl, {
|
|
142
|
+
method: "GET",
|
|
143
|
+
credentials: "include",
|
|
144
|
+
signal: getController.signal,
|
|
145
|
+
});
|
|
146
|
+
clearTimeout(getTimeoutId);
|
|
147
|
+
}
|
|
148
|
+
catch (fetchError) {
|
|
149
|
+
clearTimeout(getTimeoutId);
|
|
150
|
+
const errorMessage = fetchError instanceof Error ? fetchError.message : String(fetchError);
|
|
151
|
+
const errorName = fetchError instanceof Error ? fetchError.name : "Unknown";
|
|
152
|
+
if (errorName === "AbortError" || errorMessage.includes("aborted")) {
|
|
153
|
+
throw new Error(`Request timeout: The client token endpoint did not respond within ${timeout}ms. ` +
|
|
154
|
+
`Please check if the server is running and accessible at ${fullUrl}`);
|
|
155
|
+
}
|
|
156
|
+
throw new Error(`Failed to fetch config: ${errorMessage}`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
115
159
|
if (!response.ok) {
|
|
116
|
-
const errorText = await response.text();
|
|
160
|
+
const errorText = await response.text().catch(() => "Unable to read error response");
|
|
117
161
|
throw new Error(`Failed to fetch config: ${response.status} ${response.statusText}. ${errorText}`);
|
|
118
162
|
}
|
|
119
163
|
const data = (await response.json());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-client-auto-init.js","sourceRoot":"","sources":["../../src/utils/data-client-auto-init.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAoFH,8DAGC;
|
|
1
|
+
{"version":3,"file":"data-client-auto-init.js","sourceRoot":"","sources":["../../src/utils/data-client-auto-init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* DataClient redirect
|
|
3
|
-
* Handles redirect to login
|
|
2
|
+
* DataClient redirect utilities
|
|
3
|
+
* Handles redirect to login/logout flows
|
|
4
4
|
*/
|
|
5
|
+
import { MisoClient } from "../index";
|
|
5
6
|
import { DataClientConfig } from "../types/data-client.types";
|
|
6
7
|
/**
|
|
7
8
|
* Synchronously get and validate redirect URL
|
|
@@ -12,11 +13,40 @@ import { DataClientConfig } from "../types/data-client.types";
|
|
|
12
13
|
*/
|
|
13
14
|
export declare function getValidatedRedirectUrl(url: string | null, fallbackUrl?: string | null): string | null;
|
|
14
15
|
/**
|
|
15
|
-
* Redirect to login page
|
|
16
|
-
*
|
|
16
|
+
* Redirect to controller login page
|
|
17
|
+
* Redirects user browser directly to controller's login URL with client token
|
|
18
|
+
* NO API CALLS - just browser redirect
|
|
19
|
+
*
|
|
20
|
+
* Flow:
|
|
21
|
+
* 1. User visits: http://localhost:4111/dataplane/
|
|
22
|
+
* 2. redirectToLogin() redirects to: {controllerPublicUrl}{loginUrl}?redirect={redirectUrl}&x-client-token={token}
|
|
23
|
+
* 3. Controller handles OAuth flow and redirects back after authentication
|
|
24
|
+
* 4. Controller redirects to: {redirectUrl}#token={userToken}
|
|
25
|
+
* 5. DataClient.handleOAuthCallback() extracts token from hash and stores securely
|
|
26
|
+
*
|
|
27
|
+
* Security:
|
|
28
|
+
* - Token is passed in hash fragment (#token=...) not query parameter
|
|
29
|
+
* - Hash fragments are NOT sent to server (not in logs)
|
|
30
|
+
* - Hash fragments are NOT stored in browser history
|
|
31
|
+
* - Token is immediately removed from URL after extraction
|
|
32
|
+
*
|
|
17
33
|
* @param config - DataClient configuration
|
|
18
34
|
* @param getClientTokenFn - Function to get client token
|
|
19
35
|
* @param redirectUrl - Optional redirect URL to return to after login (defaults to current page URL)
|
|
20
36
|
*/
|
|
21
37
|
export declare function redirectToLogin(config: DataClientConfig, getClientTokenFn: () => Promise<string | null>, redirectUrl?: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Logout user and redirect to controller logout page
|
|
40
|
+
* Clears tokens from localStorage, clears cache, and redirects to controller logout URL
|
|
41
|
+
* NO API CALLS - just browser redirect
|
|
42
|
+
* Controller handles the logout process
|
|
43
|
+
*
|
|
44
|
+
* @param config - DataClient configuration
|
|
45
|
+
* @param getTokenFn - Function to get user token
|
|
46
|
+
* @param getClientTokenFn - Function to get client token
|
|
47
|
+
* @param clearCacheFn - Function to clear HTTP cache
|
|
48
|
+
* @param redirectUrl - Optional redirect URL after logout (defaults to logoutUrl or loginUrl)
|
|
49
|
+
* @param _misoClient - MisoClient instance (not used, kept for API compatibility)
|
|
50
|
+
*/
|
|
51
|
+
export declare function logout(config: DataClientConfig, getTokenFn: () => string | null, getClientTokenFn: () => Promise<string | null>, clearCacheFn: () => void, redirectUrl?: string, _misoClient?: MisoClient | null): Promise<void>;
|
|
22
52
|
//# sourceMappingURL=data-client-redirect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-client-redirect.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-redirect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"data-client-redirect.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-redirect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAkD9D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAiBtG;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAC9C,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,MAAM,CAC1B,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,EAC/B,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAC9C,YAAY,EAAE,MAAM,IAAI,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,GAC9B,OAAO,CAAC,IAAI,CAAC,CAiFf"}
|