@aifabrix/miso-client 4.4.2 → 4.4.3
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/CHANGELOG.md +18 -0
- package/README.md +20 -38
- package/dist/api/auth-token.api.d.ts.map +1 -1
- package/dist/api/auth-token.api.js +45 -48
- package/dist/api/auth-token.api.js.map +1 -1
- package/dist/api/logs-create.api.d.ts.map +1 -1
- package/dist/api/logs-create.api.js +37 -50
- package/dist/api/logs-create.api.js.map +1 -1
- package/dist/express/client-token-endpoint.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.js +88 -82
- package/dist/express/client-token-endpoint.js.map +1 -1
- package/dist/express/error-handler.d.ts.map +1 -1
- package/dist/express/error-handler.js +15 -7
- package/dist/express/error-handler.js.map +1 -1
- package/dist/express/error-types.d.ts +8 -1
- package/dist/express/error-types.d.ts.map +1 -1
- package/dist/express/error-types.js +11 -5
- package/dist/express/error-types.js.map +1 -1
- package/dist/express/index.d.ts +1 -1
- package/dist/express/index.d.ts.map +1 -1
- package/dist/express/response-helper.d.ts.map +1 -1
- package/dist/express/response-helper.js +4 -1
- package/dist/express/response-helper.js.map +1 -1
- package/dist/express/validation-helper.d.ts +1 -1
- package/dist/express/validation-helper.d.ts.map +1 -1
- package/dist/express/validation-helper.js +8 -10
- package/dist/express/validation-helper.js.map +1 -1
- package/dist/index.d.ts +3 -354
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -542
- package/dist/index.js.map +1 -1
- package/dist/miso-client.d.ts +82 -0
- package/dist/miso-client.d.ts.map +1 -0
- package/dist/miso-client.js +187 -0
- package/dist/miso-client.js.map +1 -0
- package/dist/sdk-exports.d.ts +56 -0
- package/dist/sdk-exports.d.ts.map +1 -0
- package/dist/sdk-exports.js +105 -0
- package/dist/sdk-exports.js.map +1 -0
- package/dist/services/application-context.service.d.ts +9 -1
- package/dist/services/application-context.service.d.ts.map +1 -1
- package/dist/services/application-context.service.js +46 -60
- package/dist/services/application-context.service.js.map +1 -1
- package/dist/services/auth-cache-helpers.d.ts.map +1 -1
- package/dist/services/auth-cache-helpers.js +4 -6
- package/dist/services/auth-cache-helpers.js.map +1 -1
- package/dist/services/auth-error-handler.d.ts.map +1 -1
- package/dist/services/auth-error-handler.js +12 -1
- package/dist/services/auth-error-handler.js.map +1 -1
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +9 -13
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/browser-permission.service.d.ts +4 -4
- package/dist/services/browser-permission.service.d.ts.map +1 -1
- package/dist/services/browser-permission.service.js +35 -80
- package/dist/services/browser-permission.service.js.map +1 -1
- package/dist/services/browser-role.service.d.ts +4 -4
- package/dist/services/browser-role.service.d.ts.map +1 -1
- package/dist/services/browser-role.service.js +40 -96
- package/dist/services/browser-role.service.js.map +1 -1
- package/dist/services/cache.service.d.ts +1 -0
- package/dist/services/cache.service.d.ts.map +1 -1
- package/dist/services/cache.service.js +19 -32
- package/dist/services/cache.service.js.map +1 -1
- package/dist/services/logger/logger-context.d.ts +17 -17
- package/dist/services/logger/logger-context.d.ts.map +1 -1
- package/dist/services/logger/logger-context.js +7 -17
- package/dist/services/logger/logger-context.js.map +1 -1
- package/dist/services/logger/logger-http-utils.d.ts +9 -0
- package/dist/services/logger/logger-http-utils.d.ts.map +1 -0
- package/dist/services/logger/logger-http-utils.js +45 -0
- package/dist/services/logger/logger-http-utils.js.map +1 -0
- package/dist/services/logger/logger.service.d.ts +1 -4
- package/dist/services/logger/logger.service.d.ts.map +1 -1
- package/dist/services/logger/logger.service.js +61 -77
- package/dist/services/logger/logger.service.js.map +1 -1
- package/dist/services/permission.service.d.ts.map +1 -1
- package/dist/services/permission.service.js +17 -30
- package/dist/services/permission.service.js.map +1 -1
- package/dist/services/role.service.d.ts.map +1 -1
- package/dist/services/role.service.js +12 -20
- package/dist/services/role.service.js.map +1 -1
- package/dist/services/token-validation.service.js +1 -3
- package/dist/services/token-validation.service.js.map +1 -1
- package/dist/types/config.types.d.ts +1 -0
- package/dist/types/config.types.d.ts.map +1 -1
- package/dist/types/config.types.js.map +1 -1
- package/dist/utils/audit-log-queue.d.ts +3 -0
- package/dist/utils/audit-log-queue.d.ts.map +1 -1
- package/dist/utils/audit-log-queue.js +47 -66
- package/dist/utils/audit-log-queue.js.map +1 -1
- package/dist/utils/client-token-manager.d.ts +0 -7
- package/dist/utils/client-token-manager.d.ts.map +1 -1
- package/dist/utils/client-token-manager.js +40 -46
- package/dist/utils/client-token-manager.js.map +1 -1
- package/dist/utils/config-loader.d.ts +0 -5
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +14 -11
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/console-logger.d.ts +4 -0
- package/dist/utils/console-logger.d.ts.map +1 -1
- package/dist/utils/console-logger.js +21 -5
- package/dist/utils/console-logger.js.map +1 -1
- package/dist/utils/data-client-audit.d.ts +19 -1
- package/dist/utils/data-client-audit.d.ts.map +1 -1
- package/dist/utils/data-client-audit.js +87 -117
- package/dist/utils/data-client-audit.js.map +1 -1
- package/dist/utils/data-client-auth.d.ts.map +1 -1
- package/dist/utils/data-client-auth.js +139 -95
- 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 +57 -72
- package/dist/utils/data-client-auto-init.js.map +1 -1
- package/dist/utils/data-client-init.d.ts.map +1 -1
- package/dist/utils/data-client-init.js +3 -3
- package/dist/utils/data-client-init.js.map +1 -1
- package/dist/utils/data-client-oauth.d.ts.map +1 -1
- package/dist/utils/data-client-oauth.js +84 -60
- package/dist/utils/data-client-oauth.js.map +1 -1
- package/dist/utils/data-client-redirect.d.ts.map +1 -1
- package/dist/utils/data-client-redirect.js +75 -98
- package/dist/utils/data-client-redirect.js.map +1 -1
- package/dist/utils/data-client-request.d.ts +24 -5
- package/dist/utils/data-client-request.d.ts.map +1 -1
- package/dist/utils/data-client-request.js +80 -42
- package/dist/utils/data-client-request.js.map +1 -1
- package/dist/utils/data-client-response.d.ts +63 -15
- package/dist/utils/data-client-response.d.ts.map +1 -1
- package/dist/utils/data-client-response.js +89 -33
- package/dist/utils/data-client-response.js.map +1 -1
- package/dist/utils/data-client.d.ts +4 -0
- package/dist/utils/data-client.d.ts.map +1 -1
- package/dist/utils/data-client.js +57 -30
- package/dist/utils/data-client.js.map +1 -1
- package/dist/utils/environment-token.d.ts.map +1 -1
- package/dist/utils/environment-token.js +49 -59
- package/dist/utils/environment-token.js.map +1 -1
- package/dist/utils/error-extractor.d.ts.map +1 -1
- package/dist/utils/error-extractor.js +56 -79
- package/dist/utils/error-extractor.js.map +1 -1
- package/dist/utils/filter-colon.utils.d.ts.map +1 -1
- package/dist/utils/filter-colon.utils.js +34 -45
- package/dist/utils/filter-colon.utils.js.map +1 -1
- package/dist/utils/filter-schema-loader.d.ts +12 -0
- package/dist/utils/filter-schema-loader.d.ts.map +1 -0
- package/dist/utils/filter-schema-loader.js +69 -0
- package/dist/utils/filter-schema-loader.js.map +1 -0
- package/dist/utils/filter-schema.utils.d.ts +1 -14
- package/dist/utils/filter-schema.utils.d.ts.map +1 -1
- package/dist/utils/filter-schema.utils.js +78 -136
- package/dist/utils/filter-schema.utils.js.map +1 -1
- package/dist/utils/filter.utils.d.ts.map +1 -1
- package/dist/utils/filter.utils.js +38 -36
- package/dist/utils/filter.utils.js.map +1 -1
- package/dist/utils/http-client-audit.d.ts.map +1 -1
- package/dist/utils/http-client-audit.js +3 -12
- package/dist/utils/http-client-audit.js.map +1 -1
- package/dist/utils/http-client-masking.d.ts +13 -2
- package/dist/utils/http-client-masking.d.ts.map +1 -1
- package/dist/utils/http-client-masking.js +27 -27
- package/dist/utils/http-client-masking.js.map +1 -1
- package/dist/utils/http-response-validator.d.ts.map +1 -1
- package/dist/utils/http-response-validator.js +8 -3
- package/dist/utils/http-response-validator.js.map +1 -1
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +5 -3
- package/dist/utils/internal-http-client.js.map +1 -1
- package/dist/utils/response-validator.d.ts.map +1 -1
- package/dist/utils/response-validator.js +29 -44
- package/dist/utils/response-validator.js.map +1 -1
- package/dist/utils/sensitive-fields.loader.d.ts +0 -7
- package/dist/utils/sensitive-fields.loader.d.ts.map +1 -1
- package/dist/utils/sensitive-fields.loader.js +68 -114
- package/dist/utils/sensitive-fields.loader.js.map +1 -1
- package/dist/utils/token-utils.d.ts.map +1 -1
- package/dist/utils/token-utils.js +28 -37
- package/dist/utils/token-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -142,36 +142,37 @@ async function fetchConfigResponse(fullUrl, timeout) {
|
|
|
142
142
|
}
|
|
143
143
|
return fetchWithTimeout(fullUrl, "GET", timeout);
|
|
144
144
|
}
|
|
145
|
+
function parseErrorDetails(details) {
|
|
146
|
+
if (typeof details === "string")
|
|
147
|
+
return details;
|
|
148
|
+
if (details && typeof details === "object") {
|
|
149
|
+
const d = details;
|
|
150
|
+
if (typeof d.suggestion === "string")
|
|
151
|
+
return d.suggestion;
|
|
152
|
+
if (typeof d.controllerUrl === "string")
|
|
153
|
+
return `Controller URL: ${d.controllerUrl}`;
|
|
154
|
+
}
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
async function extractJsonError(response) {
|
|
158
|
+
const errorData = (await response.json().catch(() => null));
|
|
159
|
+
if (!errorData)
|
|
160
|
+
return { message: `Failed to fetch config: ${response.status} ${response.statusText}` };
|
|
161
|
+
const message = (typeof errorData.message === "string" ? errorData.message : null) ||
|
|
162
|
+
(typeof errorData.error === "string" ? errorData.error : null) ||
|
|
163
|
+
`Failed to fetch config: ${response.status} ${response.statusText}`;
|
|
164
|
+
const details = errorData.details ? parseErrorDetails(errorData.details) : undefined;
|
|
165
|
+
return { message, details };
|
|
166
|
+
}
|
|
145
167
|
async function buildHttpErrorMessage(response) {
|
|
146
168
|
let errorMessage = `Failed to fetch config: ${response.status} ${response.statusText}`;
|
|
147
169
|
let errorDetails;
|
|
148
170
|
try {
|
|
149
171
|
const contentType = response.headers.get("content-type");
|
|
150
|
-
if (contentType
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
errorMessage = errorData.message;
|
|
155
|
-
}
|
|
156
|
-
else if (typeof errorData.error === "string") {
|
|
157
|
-
errorMessage = errorData.error;
|
|
158
|
-
}
|
|
159
|
-
if (errorData.details) {
|
|
160
|
-
if (typeof errorData.details === "string") {
|
|
161
|
-
errorDetails = errorData.details;
|
|
162
|
-
}
|
|
163
|
-
else if (typeof errorData.details === "object" &&
|
|
164
|
-
errorData.details !== null) {
|
|
165
|
-
const details = errorData.details;
|
|
166
|
-
if (typeof details.suggestion === "string") {
|
|
167
|
-
errorDetails = details.suggestion;
|
|
168
|
-
}
|
|
169
|
-
else if (typeof details.controllerUrl === "string") {
|
|
170
|
-
errorDetails = `Controller URL: ${details.controllerUrl}`;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
172
|
+
if (contentType?.includes("application/json")) {
|
|
173
|
+
const parsed = await extractJsonError(response);
|
|
174
|
+
errorMessage = parsed.message;
|
|
175
|
+
errorDetails = parsed.details;
|
|
175
176
|
}
|
|
176
177
|
else {
|
|
177
178
|
const errorText = await response.text().catch(() => "Unable to read error response");
|
|
@@ -181,15 +182,9 @@ async function buildHttpErrorMessage(response) {
|
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
184
|
catch {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
errorMessage = `${errorMessage}. ${errorText}`;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
catch {
|
|
191
|
-
// Ignore errors reading response
|
|
192
|
-
}
|
|
185
|
+
const errorText = await response.text().catch(() => "");
|
|
186
|
+
if (errorText)
|
|
187
|
+
errorMessage = `${errorMessage}. ${errorText}`;
|
|
193
188
|
}
|
|
194
189
|
return errorDetails ? `${errorMessage}. ${errorDetails}` : errorMessage;
|
|
195
190
|
}
|
|
@@ -222,6 +217,27 @@ async function fetchConfig(baseUrl, clientTokenUri) {
|
|
|
222
217
|
throw new Error(`Network error: ${String(error)}`);
|
|
223
218
|
}
|
|
224
219
|
}
|
|
220
|
+
function resolveBaseUrl(opts) {
|
|
221
|
+
const baseUrl = opts.baseUrl ||
|
|
222
|
+
((0, data_client_utils_1.isBrowser)()
|
|
223
|
+
? globalThis.window.location.origin
|
|
224
|
+
: "");
|
|
225
|
+
if (!baseUrl) {
|
|
226
|
+
throw new Error("Unable to detect baseUrl. Please provide baseUrl option.");
|
|
227
|
+
}
|
|
228
|
+
return baseUrl;
|
|
229
|
+
}
|
|
230
|
+
function buildDataClientConfig(config) {
|
|
231
|
+
return {
|
|
232
|
+
baseUrl: config.baseUrl,
|
|
233
|
+
misoConfig: {
|
|
234
|
+
clientId: config.clientId,
|
|
235
|
+
controllerUrl: config.controllerUrl,
|
|
236
|
+
controllerPublicUrl: config.controllerPublicUrl,
|
|
237
|
+
clientTokenUri: config.clientTokenUri,
|
|
238
|
+
},
|
|
239
|
+
};
|
|
240
|
+
}
|
|
225
241
|
/**
|
|
226
242
|
* Auto-initialize DataClient with server-provided configuration
|
|
227
243
|
*
|
|
@@ -245,7 +261,6 @@ async function fetchConfig(baseUrl, clientTokenUri) {
|
|
|
245
261
|
* ```
|
|
246
262
|
*/
|
|
247
263
|
async function autoInitializeDataClient(options) {
|
|
248
|
-
// Check if running in browser
|
|
249
264
|
if (!(0, data_client_utils_1.isBrowser)()) {
|
|
250
265
|
throw new Error("autoInitializeDataClient() is only available in browser environment");
|
|
251
266
|
}
|
|
@@ -256,50 +271,20 @@ async function autoInitializeDataClient(options) {
|
|
|
256
271
|
onError: options?.onError,
|
|
257
272
|
};
|
|
258
273
|
try {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
: "");
|
|
264
|
-
if (!baseUrl) {
|
|
265
|
-
throw new Error("Unable to detect baseUrl. Please provide baseUrl option.");
|
|
266
|
-
}
|
|
267
|
-
let config = null;
|
|
268
|
-
// Check cache first if enabled
|
|
269
|
-
if (opts.cacheConfig) {
|
|
270
|
-
const cached = getCachedConfig();
|
|
271
|
-
if (cached) {
|
|
272
|
-
config = cached.config;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
// Fetch from server if not cached
|
|
274
|
+
const baseUrl = resolveBaseUrl(opts);
|
|
275
|
+
let config = opts.cacheConfig
|
|
276
|
+
? getCachedConfig()?.config ?? null
|
|
277
|
+
: null;
|
|
276
278
|
if (!config) {
|
|
277
279
|
config = await fetchConfig(baseUrl, opts.clientTokenUri);
|
|
278
|
-
|
|
279
|
-
// Default to 30 minutes (1800 seconds) if not available
|
|
280
|
-
if (opts.cacheConfig) {
|
|
280
|
+
if (opts.cacheConfig)
|
|
281
281
|
cacheConfig(config, 1800);
|
|
282
|
-
}
|
|
283
282
|
}
|
|
284
|
-
|
|
285
|
-
const dataClientConfig = {
|
|
286
|
-
baseUrl: config.baseUrl,
|
|
287
|
-
misoConfig: {
|
|
288
|
-
clientId: config.clientId,
|
|
289
|
-
controllerUrl: config.controllerUrl,
|
|
290
|
-
controllerPublicUrl: config.controllerPublicUrl,
|
|
291
|
-
clientTokenUri: config.clientTokenUri,
|
|
292
|
-
},
|
|
293
|
-
};
|
|
294
|
-
// Initialize and return DataClient
|
|
295
|
-
return new data_client_1.DataClient(dataClientConfig);
|
|
283
|
+
return new data_client_1.DataClient(buildDataClientConfig(config));
|
|
296
284
|
}
|
|
297
285
|
catch (error) {
|
|
298
286
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
299
|
-
|
|
300
|
-
if (opts.onError) {
|
|
301
|
-
opts.onError(err);
|
|
302
|
-
}
|
|
287
|
+
opts.onError?.(err);
|
|
303
288
|
throw err;
|
|
304
289
|
}
|
|
305
290
|
}
|
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-client-init.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"data-client-init.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAUtE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACnD,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,gBAAgB,EACxB,qBAAqB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAC3C,gBAAgB,GAAG,SAAS,CA2B9B;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC;IAAE,iBAAiB,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAAE,CAyChG;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAS1E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CA0B9E"}
|
|
@@ -17,6 +17,7 @@ const api_1 = require("../api");
|
|
|
17
17
|
const logger_1 = require("../services/logger");
|
|
18
18
|
const redis_service_1 = require("../services/redis.service");
|
|
19
19
|
const data_client_utils_1 = require("./data-client-utils");
|
|
20
|
+
const console_logger_1 = require("./console-logger");
|
|
20
21
|
/**
|
|
21
22
|
* Create MisoClient config with auto-bridged token refresh
|
|
22
23
|
* @param config - DataClient configuration
|
|
@@ -68,8 +69,7 @@ function initializeBrowserServices(misoClient, misoConfig) {
|
|
|
68
69
|
// Create HttpClient that wraps InternalHttpClient with logger
|
|
69
70
|
const httpClient = new http_client_1.HttpClient(misoConfig, logger);
|
|
70
71
|
// Update LoggerService to use the new HttpClient
|
|
71
|
-
|
|
72
|
-
logger.httpClient = httpClient;
|
|
72
|
+
logger.setHttpClient(httpClient);
|
|
73
73
|
// Create ApiClient that wraps HttpClient
|
|
74
74
|
const apiClient = new api_1.ApiClient(httpClient);
|
|
75
75
|
// Set ApiClient in LoggerService (resolves circular dependency)
|
|
@@ -87,7 +87,7 @@ function initializeBrowserServices(misoClient, misoConfig) {
|
|
|
87
87
|
*/
|
|
88
88
|
function warnIfClientSecretInBrowser(config) {
|
|
89
89
|
if ((0, data_client_utils_1.isBrowser)() && config.misoConfig?.clientSecret) {
|
|
90
|
-
|
|
90
|
+
(0, console_logger_1.writeWarn)("⚠️ SECURITY WARNING: clientSecret detected in browser environment. " +
|
|
91
91
|
"Client secrets should NEVER be exposed in client-side code. " +
|
|
92
92
|
"Use the client token pattern instead (clientToken + onClientTokenRefresh). " +
|
|
93
93
|
"See documentation for browser-safe configuration.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-client-init.js","sourceRoot":"","sources":["../../src/utils/data-client-init.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"data-client-init.js","sourceRoot":"","sources":["../../src/utils/data-client-init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-client-oauth.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-oauth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"data-client-oauth.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-oauth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAyI9D;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CA+B3E"}
|
|
@@ -15,14 +15,14 @@ function cleanupHash() {
|
|
|
15
15
|
try {
|
|
16
16
|
const window = globalThis;
|
|
17
17
|
if (!window.window?.location || !window.window.history) {
|
|
18
|
-
|
|
18
|
+
(0, console_logger_1.writeWarn)("[handleOAuthCallback] window not available for hash cleanup");
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
const cleanUrl = window.window.location.pathname + window.window.location.search;
|
|
22
22
|
window.window.history.replaceState(null, "", cleanUrl);
|
|
23
23
|
}
|
|
24
24
|
catch (e) {
|
|
25
|
-
|
|
25
|
+
(0, console_logger_1.writeWarn)(`[handleOAuthCallback] Failed to clean up hash: ${String(e)}`);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
@@ -45,6 +45,79 @@ function isLocalhost(hostname) {
|
|
|
45
45
|
hostname.startsWith("10.") ||
|
|
46
46
|
/^172\.(1[6-9]|2[0-9]|3[0-1])\./.test(hostname));
|
|
47
47
|
}
|
|
48
|
+
function parseHashParams(hash) {
|
|
49
|
+
try {
|
|
50
|
+
return new URLSearchParams(hash.substring(1));
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
(0, console_logger_1.writeWarn)(`[handleOAuthCallback] Failed to parse hash: ${String(e)}`);
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function getTokenFromParams(params) {
|
|
58
|
+
return params.get("token") || params.get("access_token") || params.get("accessToken");
|
|
59
|
+
}
|
|
60
|
+
function rejectInvalidToken(token) {
|
|
61
|
+
(0, console_logger_1.writeErr)(`[handleOAuthCallback] Invalid token format - token rejected: ${JSON.stringify({
|
|
62
|
+
tokenLength: token.length,
|
|
63
|
+
isEmpty: !token || token.trim().length === 0,
|
|
64
|
+
tooShort: token.length > 0 && token.length < 5,
|
|
65
|
+
expectedFormat: "Non-empty string with at least 5 characters",
|
|
66
|
+
})}`);
|
|
67
|
+
cleanupHash();
|
|
68
|
+
}
|
|
69
|
+
function checkHttpsInProduction(protocol, hostname) {
|
|
70
|
+
if (process.env.NODE_ENV !== "production")
|
|
71
|
+
return true;
|
|
72
|
+
if (protocol === "https:")
|
|
73
|
+
return true;
|
|
74
|
+
return isLocalhost(hostname);
|
|
75
|
+
}
|
|
76
|
+
function storeTokenSecurely(tokenKeys, token) {
|
|
77
|
+
tokenKeys.forEach((key) => {
|
|
78
|
+
try {
|
|
79
|
+
(0, data_client_utils_1.setLocalStorage)(key, token);
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
(0, console_logger_1.writeWarn)(`[handleOAuthCallback] Failed to store token in key ${key}: ${String(e)}`);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
function resolveWindowLocation() {
|
|
87
|
+
const win = globalThis;
|
|
88
|
+
if (!win.window?.location)
|
|
89
|
+
return null;
|
|
90
|
+
return {
|
|
91
|
+
hash: win.window.location.hash,
|
|
92
|
+
protocol: win.window.location.protocol,
|
|
93
|
+
hostname: win.window.location.hostname || "",
|
|
94
|
+
pathname: win.window.location.pathname || "/",
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function resolveCallbackToken(hash) {
|
|
98
|
+
if (!hash || hash.length <= 1)
|
|
99
|
+
return null;
|
|
100
|
+
const hashParams = parseHashParams(hash);
|
|
101
|
+
if (!hashParams)
|
|
102
|
+
return null;
|
|
103
|
+
const token = getTokenFromParams(hashParams);
|
|
104
|
+
if (!token)
|
|
105
|
+
return null;
|
|
106
|
+
if (!isValidTokenFormat(token)) {
|
|
107
|
+
rejectInvalidToken(token);
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
return token;
|
|
111
|
+
}
|
|
112
|
+
function logStoredOAuthToken(isDebug, token, tokenKeys) {
|
|
113
|
+
if (!isDebug)
|
|
114
|
+
return;
|
|
115
|
+
(0, console_logger_1.writeWarn)(`[handleOAuthCallback] OAuth token extracted and stored securely: ${JSON.stringify({
|
|
116
|
+
tokenLength: token.length,
|
|
117
|
+
tokenKeys,
|
|
118
|
+
storedInKeys: tokenKeys.length,
|
|
119
|
+
})}`);
|
|
120
|
+
}
|
|
48
121
|
/**
|
|
49
122
|
* Handle OAuth callback with ISO 27001 compliant security
|
|
50
123
|
* Extracts token from URL hash fragment and stores securely
|
|
@@ -61,77 +134,28 @@ function isLocalhost(hostname) {
|
|
|
61
134
|
function handleOAuthCallback(config) {
|
|
62
135
|
if (!(0, data_client_utils_1.isBrowser)())
|
|
63
136
|
return null;
|
|
64
|
-
const
|
|
65
|
-
if (!
|
|
66
|
-
return null;
|
|
67
|
-
const hash = window.window.location.hash;
|
|
68
|
-
if (!hash || hash.length <= 1)
|
|
69
|
-
return null;
|
|
70
|
-
// Parse hash synchronously
|
|
71
|
-
const hashString = hash.substring(1);
|
|
72
|
-
let hashParams;
|
|
73
|
-
try {
|
|
74
|
-
hashParams = new URLSearchParams(hashString);
|
|
75
|
-
}
|
|
76
|
-
catch (e) {
|
|
77
|
-
console.warn("[handleOAuthCallback] Failed to parse hash:", e);
|
|
137
|
+
const location = resolveWindowLocation();
|
|
138
|
+
if (!location)
|
|
78
139
|
return null;
|
|
79
|
-
|
|
80
|
-
// Extract token from various possible parameter names
|
|
81
|
-
const token = hashParams.get("token") || hashParams.get("access_token") || hashParams.get("accessToken");
|
|
140
|
+
const token = resolveCallbackToken(location.hash);
|
|
82
141
|
if (!token)
|
|
83
142
|
return null;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const tokenLength = token ? token.length : 0;
|
|
87
|
-
console.error("[handleOAuthCallback] Invalid token format - token rejected", {
|
|
88
|
-
tokenLength,
|
|
89
|
-
isEmpty: !token || token.trim().length === 0,
|
|
90
|
-
tooShort: tokenLength > 0 && tokenLength < 5,
|
|
91
|
-
expectedFormat: "Non-empty string with at least 5 characters",
|
|
92
|
-
});
|
|
143
|
+
if (!checkHttpsInProduction(location.protocol, location.hostname)) {
|
|
144
|
+
(0, console_logger_1.writeErr)("[handleOAuthCallback] SECURITY WARNING: Token received over HTTP in production");
|
|
93
145
|
cleanupHash();
|
|
94
146
|
return null;
|
|
95
147
|
}
|
|
96
|
-
// HTTPS enforcement in production (except localhost)
|
|
97
|
-
if (config.misoConfig?.logLevel === "debug" || process.env.NODE_ENV === "production") {
|
|
98
|
-
const isHttps = window.window.location.protocol === "https:";
|
|
99
|
-
const hostname = window.window.location.hostname || "";
|
|
100
|
-
if (!isHttps && process.env.NODE_ENV === "production" && !isLocalhost(hostname)) {
|
|
101
|
-
console.error("[handleOAuthCallback] SECURITY WARNING: Token received over HTTP in production");
|
|
102
|
-
cleanupHash();
|
|
103
|
-
return null;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
// Clean up hash immediately
|
|
107
148
|
cleanupHash();
|
|
108
|
-
// Store token in localStorage
|
|
109
149
|
const tokenKeys = config.tokenKeys || ["token", "accessToken", "authToken"];
|
|
110
150
|
try {
|
|
111
|
-
tokenKeys
|
|
112
|
-
|
|
113
|
-
(0, data_client_utils_1.setLocalStorage)(key, token);
|
|
114
|
-
}
|
|
115
|
-
catch (e) {
|
|
116
|
-
console.warn(`[handleOAuthCallback] Failed to store token in key ${key}:`, e);
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
// Debug logging
|
|
120
|
-
if (config.misoConfig?.logLevel === "debug") {
|
|
121
|
-
console.log("[handleOAuthCallback] OAuth token extracted and stored securely", {
|
|
122
|
-
tokenLength: token.length,
|
|
123
|
-
tokenKeys: tokenKeys,
|
|
124
|
-
storedInKeys: tokenKeys.length,
|
|
125
|
-
});
|
|
126
|
-
}
|
|
151
|
+
storeTokenSecurely(tokenKeys, token);
|
|
152
|
+
logStoredOAuthToken(config.misoConfig?.logLevel === "debug", token, tokenKeys);
|
|
127
153
|
return token;
|
|
128
154
|
}
|
|
129
155
|
catch (e) {
|
|
130
156
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
(0, console_logger_1.logErrorWithContext)(errorInfo, "[DataClient] [AUTH] [OAuthCallback]");
|
|
134
|
-
console.error("[handleOAuthCallback] Failed to store token:", e);
|
|
157
|
+
(0, console_logger_1.logErrorWithContext)((0, error_extractor_1.extractErrorInfo)(error, { endpoint: location.pathname, method: "GET" }), "[DataClient] [AUTH] [OAuthCallback]");
|
|
158
|
+
(0, console_logger_1.writeErr)(`[handleOAuthCallback] Failed to store token: ${String(e)}`);
|
|
135
159
|
return null;
|
|
136
160
|
}
|
|
137
161
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-client-oauth.js","sourceRoot":"","sources":["../../src/utils/data-client-oauth.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"data-client-oauth.js","sourceRoot":"","sources":["../../src/utils/data-client-oauth.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,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;AA0D9D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAiBtG;AAcD;;;;;;;;;;;;;;;;;;;;;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,CA2Bf;AA+BD;;;;;;;;;;;;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,CA2Bf"}
|