@gen3/workspaces 0.12.73 → 0.12.74

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.
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceAssetsHandler.d.ts","sourceRoot":"","sources":["../../../src/server/workspaceAssetsHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAY5D,MAAM,WAAW,6BAA6B;IAC5C,6HAA6H;IAC7H,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC;IACxC,6GAA6G;IAC7G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,MAAM,GAAG,IAAI,CAAC;IAClD;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uHAAuH;IACvH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;;;;;;;;OAaG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAsXD,wBAAgB,4BAA4B,CAC1C,OAAO,CAAC,EAAE,6BAA6B,SA+DhC,cAAc,OACd,eAAe,KACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAiKxB;AAYD,QAAA,MAAM,cAAc,QACb,cAAc,OACd,eAAe,KACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAKlB,CAAC;eAEa,cAAc"}
1
+ {"version":3,"file":"workspaceAssetsHandler.d.ts","sourceRoot":"","sources":["../../../src/server/workspaceAssetsHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAY5D,MAAM,WAAW,6BAA6B;IAC5C,6HAA6H;IAC7H,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC;IACxC,6GAA6G;IAC7G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,MAAM,GAAG,IAAI,CAAC;IAClD;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uHAAuH;IACvH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;;;;;;;;OAaG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AA2aD,wBAAgB,4BAA4B,CAC1C,OAAO,CAAC,EAAE,6BAA6B,SA+DhC,cAAc,OACd,eAAe,KACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAiKxB;AAYD,QAAA,MAAM,cAAc,QACb,cAAc,OACd,eAAe,KACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAKlB,CAAC;eAEa,cAAc"}
@@ -241,7 +241,21 @@ async function proxyServerExtension(req, res, targetUrl, getToken) {
241
241
  // Only point serverExtensionProxyBaseUrl at a network path a user's own request cannot
242
242
  // otherwise forge, or add real signature verification (e.g. against Fence's JWKS)
243
243
  // here before trusting these claims.
244
+ // --- auth header injection with diagnostic logging ---
245
+ const tokenSource = getToken ? 'getToken(injected)' : 'extractTokenFallback';
244
246
  const jwt = getToken ? getToken(req) : extractTokenFallback(req);
247
+ // Log incoming auth signals so we can diagnose missing REMOTE_USER / 502s.
248
+ const hasBearerHeader = typeof req.headers['authorization'] === 'string' &&
249
+ req.headers['authorization'].startsWith('Bearer ');
250
+ const cookieHeader = req.headers['cookie'] ?? '';
251
+ const hasAccessTokenCookie = /(?:^|;\s*)access_token=/.test(cookieHeader);
252
+ const cookieNames = cookieHeader
253
+ .split(';')
254
+ .map((p) => p.trim().split('=')[0])
255
+ .filter(Boolean);
256
+ console.warn(`[workspace-assets] proxy auth-diag: tokenSource=${tokenSource} jwtFound=${!!jwt}` +
257
+ ` hasBearerHeader=${hasBearerHeader} hasAccessTokenCookie=${hasAccessTokenCookie}` +
258
+ ` cookieNames=[${cookieNames.join(',')}]`);
245
259
  if (jwt) {
246
260
  const claims = decodeJwtClaims(jwt);
247
261
  const rawUsername = claims?.sub ?? claims?.preferred_username ?? claims?.username;
@@ -251,8 +265,21 @@ async function proxyServerExtension(req, res, targetUrl, getToken) {
251
265
  forwardHeaders['Authorization'] = `Bearer ${safeJwt}`;
252
266
  forwardHeaders['REMOTE_USER'] = safeUsername;
253
267
  forwardHeaders['X-Gen3-User-ID'] = safeUsername;
268
+ console.warn(`[workspace-assets] proxy auth-diag: injected REMOTE_USER/X-Gen3-User-ID for sub="${safeUsername}"` +
269
+ ` claimsKeys=[${Object.keys(claims ?? {}).join(',')}]`);
270
+ }
271
+ else {
272
+ console.warn(`[workspace-assets] proxy auth-diag: JWT decoded but no sub/preferred_username/username claim found` +
273
+ ` claimsKeys=[${Object.keys(claims ?? {}).join(',')}]` +
274
+ ` (REMOTE_USER NOT injected — workspace-proxy will likely reject)`);
254
275
  }
255
276
  }
277
+ else {
278
+ console.warn(`[workspace-assets] proxy auth-diag: no JWT found via ${tokenSource}` +
279
+ ` — REMOTE_USER/X-Gen3-User-ID NOT injected — workspace-proxy will likely 502`);
280
+ }
281
+ // Log the set of header keys being forwarded (no values — headers can contain tokens).
282
+ console.warn(`[workspace-assets] proxy forwarding headers: [${Object.keys(forwardHeaders).join(',')}]`);
256
283
  const method = (req.method || 'GET').toUpperCase();
257
284
  let body;
258
285
  if (!['GET', 'HEAD'].includes(method)) {
@@ -280,6 +307,9 @@ async function proxyServerExtension(req, res, targetUrl, getToken) {
280
307
  port: parsed.port || (parsed.protocol === 'https:' ? 443 : 80),
281
308
  path: parsed.pathname + parsed.search,
282
309
  headers: forwardHeaders,
310
+ // 30-second socket timeout — without this, a stalled upstream holds the
311
+ // connection open indefinitely and the client sees no response.
312
+ timeout: 30_000,
283
313
  };
284
314
  const proxyReq = transport.request(reqOptions, (proxyRes) => {
285
315
  const statusCode = proxyRes.statusCode ?? 502;
@@ -292,6 +322,14 @@ async function proxyServerExtension(req, res, targetUrl, getToken) {
292
322
  }
293
323
  const log = statusCode >= 400 ? console.error : console.warn;
294
324
  log(`[workspace-assets] ${method} ${targetUrl} -> ${statusCode} (${Date.now() - startedAt}ms)`);
325
+ if (statusCode >= 400) {
326
+ // Log upstream response headers for non-2xx to surface auth/routing rejections.
327
+ const upstreamHeaders = Object.entries(proxyRes.headers)
328
+ .filter(([k]) => !k.toLowerCase().includes('cookie'))
329
+ .map(([k, v]) => `${k}:${Array.isArray(v) ? v.join(',') : v}`)
330
+ .join(' | ');
331
+ console.error(`[workspace-assets] upstream response headers: ${upstreamHeaders}`);
332
+ }
295
333
  proxyRes.pipe(res, { end: true });
296
334
  proxyRes.on('end', resolve);
297
335
  });
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceAssetsHandler.js","sourceRoot":"","sources":["../../../src/server/workspaceAssetsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaceAssetsHandler.js","sourceRoot":"","sources":["../../../src/server/workspaceAssetsHandler.ts"],"names":[],"mappings":"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"}
@@ -344,7 +344,15 @@ async function proxyServerExtension(req, res, targetUrl, getToken) {
344
344
  // Only point serverExtensionProxyBaseUrl at a network path a user's own request cannot
345
345
  // otherwise forge, or add real signature verification (e.g. against Fence's JWKS)
346
346
  // here before trusting these claims.
347
+ // --- auth header injection with diagnostic logging ---
348
+ const tokenSource = getToken ? 'getToken(injected)' : 'extractTokenFallback';
347
349
  const jwt = getToken ? getToken(req) : extractTokenFallback(req);
350
+ // Log incoming auth signals so we can diagnose missing REMOTE_USER / 502s.
351
+ const hasBearerHeader = typeof req.headers['authorization'] === 'string' && req.headers['authorization'].startsWith('Bearer ');
352
+ const cookieHeader = req.headers['cookie'] ?? '';
353
+ const hasAccessTokenCookie = /(?:^|;\s*)access_token=/.test(cookieHeader);
354
+ const cookieNames = cookieHeader.split(';').map((p)=>p.trim().split('=')[0]).filter(Boolean);
355
+ console.warn(`[workspace-assets] proxy auth-diag: tokenSource=${tokenSource} jwtFound=${!!jwt}` + ` hasBearerHeader=${hasBearerHeader} hasAccessTokenCookie=${hasAccessTokenCookie}` + ` cookieNames=[${cookieNames.join(',')}]`);
348
356
  if (jwt) {
349
357
  const claims = decodeJwtClaims(jwt);
350
358
  const rawUsername = claims?.sub ?? claims?.preferred_username ?? claims?.username;
@@ -354,8 +362,15 @@ async function proxyServerExtension(req, res, targetUrl, getToken) {
354
362
  forwardHeaders['Authorization'] = `Bearer ${safeJwt}`;
355
363
  forwardHeaders['REMOTE_USER'] = safeUsername;
356
364
  forwardHeaders['X-Gen3-User-ID'] = safeUsername;
365
+ console.warn(`[workspace-assets] proxy auth-diag: injected REMOTE_USER/X-Gen3-User-ID for sub="${safeUsername}"` + ` claimsKeys=[${Object.keys(claims ?? {}).join(',')}]`);
366
+ } else {
367
+ console.warn(`[workspace-assets] proxy auth-diag: JWT decoded but no sub/preferred_username/username claim found` + ` claimsKeys=[${Object.keys(claims ?? {}).join(',')}]` + ` (REMOTE_USER NOT injected — workspace-proxy will likely reject)`);
357
368
  }
369
+ } else {
370
+ console.warn(`[workspace-assets] proxy auth-diag: no JWT found via ${tokenSource}` + ` — REMOTE_USER/X-Gen3-User-ID NOT injected — workspace-proxy will likely 502`);
358
371
  }
372
+ // Log the set of header keys being forwarded (no values — headers can contain tokens).
373
+ console.warn(`[workspace-assets] proxy forwarding headers: [${Object.keys(forwardHeaders).join(',')}]`);
359
374
  const method = (req.method || 'GET').toUpperCase();
360
375
  let body;
361
376
  if (![
@@ -384,7 +399,10 @@ async function proxyServerExtension(req, res, targetUrl, getToken) {
384
399
  hostname: parsed.hostname,
385
400
  port: parsed.port || (parsed.protocol === 'https:' ? 443 : 80),
386
401
  path: parsed.pathname + parsed.search,
387
- headers: forwardHeaders
402
+ headers: forwardHeaders,
403
+ // 30-second socket timeout — without this, a stalled upstream holds the
404
+ // connection open indefinitely and the client sees no response.
405
+ timeout: 30_000
388
406
  };
389
407
  const proxyReq = transport.request(reqOptions, (proxyRes)=>{
390
408
  const statusCode = proxyRes.statusCode ?? 502;
@@ -400,6 +418,11 @@ async function proxyServerExtension(req, res, targetUrl, getToken) {
400
418
  }
401
419
  const log = statusCode >= 400 ? console.error : console.warn;
402
420
  log(`[workspace-assets] ${method} ${targetUrl} -> ${statusCode} (${Date.now() - startedAt}ms)`);
421
+ if (statusCode >= 400) {
422
+ // Log upstream response headers for non-2xx to surface auth/routing rejections.
423
+ const upstreamHeaders = Object.entries(proxyRes.headers).filter(([k])=>!k.toLowerCase().includes('cookie')).map(([k, v])=>`${k}:${Array.isArray(v) ? v.join(',') : v}`).join(' | ');
424
+ console.error(`[workspace-assets] upstream response headers: ${upstreamHeaders}`);
425
+ }
403
426
  proxyRes.pipe(res, {
404
427
  end: true
405
428
  });