@hmcts/rpx-xui-node-lib 2.30.10-additional-logging-rc20 → 2.30.10-trust-proxy

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.
@@ -33,10 +33,10 @@ export declare abstract class Strategy extends events.EventEmitter {
33
33
  setCredentialToken: (req: Request) => Promise<void>;
34
34
  generateToken: () => Promise<any | undefined>;
35
35
  verifyLogin: (req: Request, user: any, next: NextFunction, res: Response) => void;
36
- debugSessionStore: (req: Request, label: string) => void;
37
36
  initializePassport: () => void;
38
37
  initializeSession: () => void;
39
38
  initializeKeepAlive: () => void;
39
+ initializeTrustProxy: () => void;
40
40
  /**
41
41
  * helper method to store csrf token into session
42
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.class.d.ts","sourceRoot":"","sources":["../../../src/auth/models/strategy.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy.class.d.ts","sourceRoot":"","sources":["../../../src/auth/models/strategy.class.ts"],"names":[],"mappings":"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"}
@@ -93,48 +93,21 @@ class Strategy extends events.EventEmitter {
93
93
  /* istanbul ignore next */
94
94
  this.loginHandler = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
95
95
  this.logger.log('Base loginHandler Hit');
96
- this.logger.log(`loginHandler request URL: ${req.url}`);
97
- this.logger.log(`loginHandler request method: ${req.method}`);
98
- this.logger.log(`loginHandler query params: ${JSON.stringify(req.query)}`);
99
- this.logger.log(`loginHandler request headers: ${JSON.stringify(req.headers)}`);
100
96
  const reqSession = req.session;
101
- this.logger.log(`loginHandler session ID: ${req.sessionID}`);
102
- this.logger.log(`loginHandler session exists: ${!!reqSession}`);
103
- this.logger.log(`loginHandler callbackURL from session: ${reqSession === null || reqSession === void 0 ? void 0 : reqSession.callbackURL}`);
104
- if (this.options.sessionKey) {
105
- const sessionKey = this.options.sessionKey;
106
- this.logger.log(`loginHandler sessionKey: ${sessionKey}`);
107
- this.logger.log(`loginHandler existing session data for key ${sessionKey}: ${JSON.stringify(reqSession[sessionKey])}`);
108
- }
109
- else {
110
- this.logger.log('loginHandler: sessionKey not set in options');
111
- }
112
97
  const { promise, state } = this.saveStateInSession(reqSession);
113
- this.logger.log(`loginHandler generated state: ${state}`);
114
98
  /* istanbul ignore next */
115
99
  try {
116
100
  /* istanbul ignore next */
117
- this.logger.log('loginHandler: waiting for state to be saved in session');
118
101
  yield promise;
119
- this.logger.log('loginHandler: state save operation completed');
120
102
  /* istanbul ignore next */
121
103
  this.logger.log('calling passport authenticate with state ' + state);
122
- this.logger.log(`loginHandler passport authenticate options: ${JSON.stringify({
123
- redirect_uri: reqSession === null || reqSession === void 0 ? void 0 : reqSession.callbackURL,
124
- state,
125
- keepSessionInfo: false,
126
- })}`);
127
104
  /* istanbul ignore next */
128
105
  return passport_1.default.authenticate(this.strategyName, {
129
106
  redirect_uri: reqSession === null || reqSession === void 0 ? void 0 : reqSession.callbackURL,
130
107
  state,
131
108
  keepSessionInfo: false,
132
109
  }, (error, user, info) => {
133
- var _a, _b;
134
- this.logger.log('loginHandler passport authenticate callback invoked');
135
- this.logger.log(`loginHandler passport callback - error: ${error ? JSON.stringify(error) : 'none'}`);
136
- this.logger.log(`loginHandler passport callback - user exists: ${!!user}`);
137
- this.logger.log(`loginHandler passport callback - info: ${info ? JSON.stringify(info) : 'none'}`);
110
+ var _a;
138
111
  /* istanbul ignore next */
139
112
  if (error) {
140
113
  this.logger.error('passport authenticate error ', JSON.stringify(error));
@@ -147,19 +120,15 @@ class Strategy extends events.EventEmitter {
147
120
  if (!user) {
148
121
  const message = 'No user details returned by the authentication service, redirecting to login';
149
122
  this.logger.log(message);
150
- this.logger.log('loginHandler: no user returned, this should trigger redirect to authorization server');
151
123
  }
152
124
  else {
153
125
  this.logger.log('User details from passport.authenticate ' + ((_a = user.userInfo) === null || _a === void 0 ? void 0 : _a.email));
154
- this.logger.log(`loginHandler: user authentication successful, email: ${(_b = user.userInfo) === null || _b === void 0 ? void 0 : _b.email}`);
155
- this.logger.log(`loginHandler: user data: ${JSON.stringify(user, null, 2)}`);
156
126
  }
157
127
  })(req, res, next);
158
128
  /* istanbul ignore next */
159
129
  }
160
130
  catch (error) {
161
131
  this.logger.error('Exception in passport.authenticate', error, this.strategyName);
162
- this.logger.error(`loginHandler exception details: ${JSON.stringify(error)}`);
163
132
  next(error);
164
133
  return Promise.reject(error);
165
134
  }
@@ -168,11 +137,8 @@ class Strategy extends events.EventEmitter {
168
137
  this.setCallbackURL = (req, _res, next) => {
169
138
  var _a;
170
139
  const reqSession = req.session;
171
- this.logger.log('setCallbackURL called');
172
- this.logger.log(reqSession);
173
140
  // Always ensure callbackURL is set (not just when missing)
174
141
  if (!reqSession.callbackURL || typeof reqSession.callbackURL !== 'string') {
175
- req.app.set('trust proxy', true);
176
142
  // fallback to default if this.options.callbackURL is missing
177
143
  const pathname = this.options.callbackURL || req.originalUrl;
178
144
  reqSession.callbackURL = URL.format({
@@ -264,77 +230,46 @@ class Strategy extends events.EventEmitter {
264
230
  };
265
231
  /* istanbul ignore next */
266
232
  this.configure = (options) => {
267
- this.logger.log('=== CONFIGURE START ===');
268
- this.logger.log(`configure: strategy ${this.strategyName}`);
269
- this.logger.log(`configure: options received: ${JSON.stringify(options, null, 2)}`);
270
233
  const configuredOptions = Object.assign(Object.assign({}, this.options), options);
271
234
  this.validateOptions(configuredOptions);
272
235
  this.options = configuredOptions;
273
- this.logger.log('configure: setting up serializers');
274
236
  this.serializeUser();
275
237
  this.deserializeUser();
276
- this.logger.log('configure: initializing strategy asynchronously');
277
238
  (() => __awaiter(this, void 0, void 0, function* () {
278
- try {
279
- this.logger.log('configure: calling initialiseStrategy');
280
- yield this.initialiseStrategy(this.options);
281
- this.logger.log('configure: initialiseStrategy completed successfully');
282
- }
283
- catch (error) {
284
- this.logger.error('configure: error in initialiseStrategy', error);
285
- }
239
+ yield this.initialiseStrategy(this.options);
286
240
  }))();
287
- this.logger.log('configure: initializing passport components');
241
+ // ensure trust proxy is always enabled before any other middleware executes
242
+ this.initializeTrustProxy();
288
243
  this.initializePassport();
289
244
  this.initializeSession();
290
245
  this.initializeKeepAlive();
291
246
  this.initialiseCSRF();
292
247
  if (options.useRoutes) {
293
- this.logger.log('configure: setting up routes');
294
248
  this.router.get(auth_constants_1.AUTH.ROUTE.DEFAULT_AUTH_ROUTE, this.authRouteHandler);
295
249
  this.router.get(auth_constants_1.AUTH.ROUTE.KEEPALIVE_ROUTE, this.authRouteHandler);
296
250
  this.router.get(auth_constants_1.AUTH.ROUTE.LOGIN, this.setCallbackURL, this.loginHandler);
297
251
  this.router.get(auth_constants_1.AUTH.ROUTE.OAUTH_CALLBACK, this.callbackHandler);
298
252
  this.router.get(auth_constants_1.AUTH.ROUTE.LOGOUT, this.logout);
299
- this.logger.log('configure: routes setup completed');
300
- }
301
- else {
302
- this.logger.log('configure: skipping routes setup (useRoutes = false)');
303
253
  }
304
254
  this.addHeaders();
305
- this.logger.log(`configure: emitting ${this.strategyName}.bootstrap.success`);
306
255
  this.emit(`${this.strategyName}.bootstrap.success`);
307
- this.logger.log('=== CONFIGURE END ===');
308
256
  return this.router;
309
257
  };
310
258
  /* istanbul ignore next */
311
259
  this.callbackHandler = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
312
260
  var _a;
313
261
  this.logger.log('in callbackHandler for url ' + req.url);
314
- this.logger.log(`callbackHandler request query params: ${JSON.stringify(req.query)}`);
315
- this.logger.log(`callbackHandler request headers: ${JSON.stringify(req.headers)}`);
316
262
  const reqSession = req.session;
317
- this.logger.log(`callbackHandler session exists: ${!!reqSession}`);
318
263
  const qstate = typeof req.query.state == 'string' ? req.query.state : undefined;
319
- this.logger.log(`callbackHandler query state: ${qstate}`);
320
- this.logger.log(`callbackHandler query state type: ${typeof req.query.state}`);
321
264
  const { promise, state } = this.saveStateInSession(reqSession, qstate);
322
- this.logger.log(`callbackHandler generated/retrieved state: ${state}`);
323
265
  if (!qstate) {
324
- this.logger.log('callbackHandler: no query state found, setting generated state in req.query');
325
266
  req.query.state = state;
326
267
  }
327
- else {
328
- this.logger.log('callbackHandler: query state found, using existing state');
329
- }
330
- this.logger.log('callbackHandler: waiting for state to be saved in session');
331
268
  yield promise;
332
- this.logger.log('callbackHandler: state save operation completed');
333
269
  if (this.options.sessionKey) {
334
270
  const sessionKey = this.options.sessionKey;
335
271
  this.logger.log(`sessionKey: ${sessionKey}`);
336
272
  this.logger.log(`state from session = ${(_a = reqSession[sessionKey]) === null || _a === void 0 ? void 0 : _a.state}`);
337
- this.logger.log(`full session data for key ${sessionKey}: ${JSON.stringify(reqSession[sessionKey])}`);
338
273
  }
339
274
  else {
340
275
  this.logger.log('sessionKey not set');
@@ -350,41 +285,24 @@ class Strategy extends events.EventEmitter {
350
285
  this.emit(auth_constants_1.AUTH.EVENT.AUTHENTICATE_FAILURE, req, res, next);
351
286
  };
352
287
  const redirectWithFailure = (errorMessages, INVALID_STATE_ERROR, uri) => {
353
- this.logger.log(`callbackHandler redirectWithFailure called with messages: ${JSON.stringify(errorMessages)}`);
354
- this.logger.log(`callbackHandler redirectWithFailure error: ${INVALID_STATE_ERROR}`);
355
- this.logger.log(`callbackHandler redirectWithFailure redirect URI: ${uri}`);
356
288
  errorMessages.push(INVALID_STATE_ERROR);
357
289
  emitAuthenticationFailure(errorMessages);
358
290
  return res.redirect(uri);
359
291
  };
360
292
  this.logger.log(`calling passport authenticate with ${this.strategyName} strategy`);
361
- this.logger.log(`callbackHandler passport authenticate options: ${JSON.stringify({
362
- redirect_uri: reqSession === null || reqSession === void 0 ? void 0 : reqSession.callbackURL,
363
- keepSessionInfo: false,
364
- failureMessage: true,
365
- })}`);
366
293
  passport_1.default.authenticate(this.strategyName, {
367
294
  redirect_uri: reqSession === null || reqSession === void 0 ? void 0 : reqSession.callbackURL,
368
295
  keepSessionInfo: false,
369
296
  failureMessage: true,
370
297
  }, (error, user, info) => {
371
- var _a, _b, _c, _d, _e;
372
- this.logger.log('callbackHandler passport authenticate callback invoked');
373
- this.logger.log(`callbackHandler passport callback - error: ${error ? JSON.stringify(error) : 'none'}`);
374
- this.logger.log(`callbackHandler passport callback - user exists: ${!!user}`);
375
- this.logger.log(`callbackHandler passport callback - user data: ${user ? JSON.stringify(user, null, 2) : 'none'}`);
376
- this.logger.log(`callbackHandler passport callback - info: ${info ? JSON.stringify(info) : 'none'}`);
298
+ var _a, _b, _c;
377
299
  if (info) {
378
- this.logger.log(`in passport authenticate callback info: ${JSON.stringify(info)}`);
300
+ this.logger.log(`in passport authenticate callback info: ${info}`);
379
301
  }
380
302
  let errorMessages = [];
381
303
  if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.sessionKey) {
382
304
  const sessState = (_b = reqSession[this.options.sessionKey]) === null || _b === void 0 ? void 0 : _b.state;
383
305
  this.logger.log(`in passport authenticate callback, strategy ${this.strategyName}, state ${sessState}`);
384
- this.logger.log(`callbackHandler comparing states - session: ${sessState}, query: ${qstate}`);
385
- }
386
- else {
387
- this.logger.log('callbackHandler: sessionKey not available for state comparison');
388
306
  }
389
307
  if (error) {
390
308
  this.logger.log(`in passport authenticate error: ${error}`);
@@ -401,46 +319,36 @@ class Strategy extends events.EventEmitter {
401
319
  }
402
320
  }
403
321
  if (!user) {
404
- this.logger.log('callbackHandler: no user returned from passport authenticate');
405
322
  const MISMATCH_NONCE = 'nonce mismatch';
406
323
  const MISMATCH_STATE = 'state mismatch';
407
324
  if ((info === null || info === void 0 ? void 0 : info.message) === INVALID_STATE_ERROR) {
408
- this.logger.log(`callbackHandler: invalid state error detected, info message: ${info.message}`);
409
325
  if (!qstate) { // if state is not in query, then we can ignore
410
326
  this.logger.log('Invalid state error, redirecting to default');
411
327
  return res.redirect(auth_constants_1.AUTH.ROUTE.DEFAULT_REDIRECT);
412
328
  }
413
329
  else {
414
- this.logger.log(`callbackHandler: state mismatch with query state: ${qstate}`);
415
330
  errorMessages.push(LOGIN_BOOKMARK_ERROR);
416
331
  return redirectWithFailure(errorMessages, INVALID_STATE_ERROR, auth_constants_1.AUTH.ROUTE.EXPIRED_LOGIN_LINK);
417
332
  }
418
333
  }
419
334
  else if ((info === null || info === void 0 ? void 0 : info.message.includes(MISMATCH_NONCE)) || (info === null || info === void 0 ? void 0 : info.message.includes(MISMATCH_STATE))) {
420
- this.logger.log(`callbackHandler: nonce/state mismatch detected, info message: ${info.message}`);
421
335
  errorMessages.push(LOGIN_BOOKMARK_ERROR);
422
336
  return redirectWithFailure(errorMessages, info.message, auth_constants_1.AUTH.ROUTE.EXPIRED_LOGIN_LINK);
423
337
  }
424
338
  else if (error === null || error === void 0 ? void 0 : error.message.includes('did not find expected authorization request details in session')) {
425
- this.logger.log(`callbackHandler: session details missing, error message: ${error.message}`);
426
339
  errorMessages = [LOGIN_BOOKMARK_ERROR];
427
340
  return redirectWithFailure(errorMessages, error.message, auth_constants_1.AUTH.ROUTE.EXPIRED_LOGIN_LINK);
428
341
  }
429
342
  else {
430
343
  const message = 'No user details returned by the authentication service, redirecting to login';
431
344
  this.logger.log(message);
432
- this.logger.log(`callbackHandler: unknown error case - info: ${JSON.stringify(info)}, error: ${JSON.stringify(error)}`);
433
345
  return redirectWithFailure(errorMessages, message, auth_constants_1.AUTH.ROUTE.LOGIN);
434
346
  }
435
347
  }
436
348
  else {
437
- this.logger.log('User id from passport.authenticate ' + ((_c = user === null || user === void 0 ? void 0 : user.userinfo) === null || _c === void 0 ? void 0 : _c.uid));
438
- this.logger.log(`callbackHandler: successful user authentication, user email: ${(_d = user === null || user === void 0 ? void 0 : user.userinfo) === null || _d === void 0 ? void 0 : _d.email}`);
439
- this.logger.log(`callbackHandler: user roles: ${JSON.stringify((_e = user === null || user === void 0 ? void 0 : user.userinfo) === null || _e === void 0 ? void 0 : _e.roles)}`);
349
+ this.logger.log('User id from passport.authenticate ' + ((_c = user === null || user === void 0 ? void 0 : user.userInfo) === null || _c === void 0 ? void 0 : _c.id));
440
350
  }
441
- this.logger.log(`callbackHandler: about to emit authentication failure with ${errorMessages.length} messages`);
442
351
  emitAuthenticationFailure(errorMessages);
443
- this.logger.log('callbackHandler: calling verifyLogin');
444
352
  this.verifyLogin(req, user, next, res);
445
353
  })(req, res, next);
446
354
  });
@@ -451,66 +359,11 @@ class Strategy extends events.EventEmitter {
451
359
  };
452
360
  /* istanbul ignore next */
453
361
  this.authenticate = (req, _res, next) => {
454
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
455
- const start = Date.now();
456
- this.logger.log('authenticate: start');
457
- this.logger.log(`authenticate: raw cookies header=${req.headers.cookie || 'none'}`);
458
- this.debugSessionStore(req, 'authenticate:start');
459
- this.logger.log(`authenticate: query=${JSON.stringify(req.query)}`);
460
- this.logger.log(`authenticate: protocol=${req.protocol} secureFlag=${req.secure} trustProxy=${req.app.get('trust proxy')}`);
461
- // Attempt to parse session cookie id for mismatch diagnostics
462
- try {
463
- const cookieHeader = req.headers.cookie || '';
464
- const match = cookieHeader.match(/xui-webapp=([^;]+)/);
465
- if (match) {
466
- const rawVal = decodeURIComponent(match[1]);
467
- const parsedId = rawVal.startsWith('s:') ? rawVal.split('.')[0].substring(2) : rawVal;
468
- if (parsedId && parsedId !== req.sessionID) {
469
- this.logger.log(`authenticate: sessionID mismatch parsedCookieId=${parsedId} req.sessionID=${req.sessionID}`);
470
- if (!req.secure && ((_b = (_a = req.session) === null || _a === void 0 ? void 0 : _a.cookie) === null || _b === void 0 ? void 0 : _b.secure)) {
471
- this.logger.log('authenticate: POSSIBLE secure cookie ignored due to missing trust proxy (req.secure=false)');
472
- }
473
- }
474
- else {
475
- this.logger.log(`authenticate: sessionID matches cookie parsedId=${parsedId}`);
476
- }
477
- }
478
- else {
479
- this.logger.log('authenticate: session cookie pattern not found in header');
480
- }
481
- }
482
- catch (e) {
483
- this.logger.log(`authenticate: exception parsing cookie for diagnostics ${e.message}`);
484
- }
485
- this.logger.log('authenticate: checking authentication status');
486
- this.logger.log(`authenticate: req.isUnauthenticated(): ${req.isUnauthenticated()}`);
487
- this.logger.log(`authenticate: session exists: ${!!req.session}`);
488
- this.logger.log(`authenticate: session ID: ${req.sessionID}`);
489
- this.logger.log(`authenticate: passport user exists: ${!!((_d = (_c = req === null || req === void 0 ? void 0 : req.session) === null || _c === void 0 ? void 0 : _c.passport) === null || _d === void 0 ? void 0 : _d.user)}`);
490
- this.logger.log(`authenticate: passport user userinfo exists: ${!!((_g = (_f = (_e = req === null || req === void 0 ? void 0 : req.session) === null || _e === void 0 ? void 0 : _e.passport) === null || _f === void 0 ? void 0 : _f.user) === null || _g === void 0 ? void 0 : _g.userinfo)}`);
491
- const passportUser = (_j = (_h = req === null || req === void 0 ? void 0 : req.session) === null || _h === void 0 ? void 0 : _h.passport) === null || _j === void 0 ? void 0 : _j.user;
492
- const userinfo = passportUser === null || passportUser === void 0 ? void 0 : passportUser.userinfo;
493
- if (userinfo) {
494
- this.logger.log(`authenticate: user email=${userinfo.email}`);
495
- this.logger.log(`authenticate: user roles=${JSON.stringify(userinfo.roles)}`);
496
- }
497
- const accessToken = (_k = passportUser === null || passportUser === void 0 ? void 0 : passportUser.tokenset) === null || _k === void 0 ? void 0 : _k.accessToken;
498
- if (accessToken) {
499
- this.logger.log(`authenticate: accessToken present, expired=${this.isTokenExpired(accessToken)}`);
500
- }
501
- else {
502
- this.logger.log('authenticate: no accessToken found');
503
- }
504
- this.logger.log(`authenticate: passport user data: ${JSON.stringify(passportUser, null, 2)}`);
505
- if (req.isUnauthenticated() || !userinfo) {
506
- this.logger.log('authenticate: user is not authenticated or missing userinfo');
507
- this.logger.log(`authenticate: isUnauthenticated: ${req.isUnauthenticated()}`);
508
- this.logger.log(`authenticate: missing userinfo: ${!userinfo}`);
509
- this.logger.log(`authenticate: end (unauthorized) durationMs=${Date.now() - start}`);
362
+ var _a, _b, _c;
363
+ if (req.isUnauthenticated() || !((_c = (_b = (_a = req === null || req === void 0 ? void 0 : req.session) === null || _a === void 0 ? void 0 : _a.passport) === null || _b === void 0 ? void 0 : _b.user) === null || _c === void 0 ? void 0 : _c.userinfo)) {
364
+ this.logger.log('unauthenticated');
510
365
  return _res.status(401).send({ message: 'Unauthorized' });
511
366
  }
512
- this.logger.log('authenticate: user is authenticated, proceeding');
513
- this.logger.log(`authenticate: end (success) durationMs=${Date.now() - start}`);
514
367
  next();
515
368
  };
516
369
  /* istanbul ignore next */
@@ -569,112 +422,26 @@ class Strategy extends events.EventEmitter {
569
422
  });
570
423
  /* istanbul ignore next */
571
424
  this.verifyLogin = (req, user, next, res) => {
572
- this.logger.log('=-=-=-=-=-=-=-=-=-=-=-=-=');
573
- this.logger.log('verifyLogin: starting login verification process');
574
- this.logger.log(`verifyLogin: user object exists: ${!!user}`);
575
- this.logger.log(`verifyLogin: user data: ${JSON.stringify(user, null, 2)}`);
576
- this.logger.log(`verifyLogin: session ID: ${req.sessionID}`);
577
- this.logger.log(`verifyLogin: session before logIn: ${JSON.stringify(req.session, null, 2)}`);
578
- this.logger.log(`verifyLogin: protocol=${req.protocol} secureFlag=${req.secure} trustProxy=${req.app.get('trust proxy')}`);
579
- this.logger.log(`verifyLogin: raw cookies header=${req.headers.cookie || 'none'}`);
580
- // Normalise userinfo casing (some strategies may return user.userInfo)
581
- if (user && !user.userinfo && user.userInfo) {
582
- this.logger.log('verifyLogin: normalising user.userInfo -> user.userinfo');
583
- user.userinfo = user.userInfo;
584
- }
585
425
  req.logIn(user, (err) => {
586
- var _a, _b, _c, _d;
587
- this.logger.log('verifyLogin: req.logIn callback invoked');
588
- this.logger.log(`verifyLogin: login error: ${err ? JSON.stringify(err) : 'none'}`);
589
- this.logger.log(`verifyLogin: session after logIn (pre-save): ${JSON.stringify(req.session, null, 2)}`);
590
- const roles = ((_a = user === null || user === void 0 ? void 0 : user.userinfo) === null || _a === void 0 ? void 0 : _a.roles) || [];
591
- this.logger.log(`verifyLogin: user roles: ${JSON.stringify(roles)}`);
592
- this.logger.log(`verifyLogin: user email: ${((_b = user === null || user === void 0 ? void 0 : user.userinfo) === null || _b === void 0 ? void 0 : _b.email) || (user === null || user === void 0 ? void 0 : user.email)}`);
593
- this.logger.log(`verifyLogin: user ID: ${((_c = user === null || user === void 0 ? void 0 : user.userinfo) === null || _c === void 0 ? void 0 : _c.uid) || ((_d = user === null || user === void 0 ? void 0 : user.userinfo) === null || _d === void 0 ? void 0 : _d.id) || (user === null || user === void 0 ? void 0 : user.id)}`);
594
- this.logger.log(`verifyLogin: allowRolesRegex: ${this.options.allowRolesRegex}`);
426
+ const roles = user.userinfo.roles;
595
427
  if (err) {
596
428
  this.logger.error('verifyLogin error', err);
597
- this.logger.error(`verifyLogin: detailed error: ${JSON.stringify(err)}`);
598
429
  return next(err);
599
430
  }
600
- const proceedAfterSave = () => {
601
- var _a;
602
- const listenerCount = this.listenerCount(auth_constants_1.AUTH.EVENT.AUTHENTICATE_SUCCESS);
603
- this.logger.log(`verifyLogin: listener count for ${auth_constants_1.AUTH.EVENT.AUTHENTICATE_SUCCESS}: ${listenerCount}`);
604
- if (!listenerCount) {
605
- this.logger.log(`redirecting, no listener count: ${auth_constants_1.AUTH.EVENT.AUTHENTICATE_SUCCESS}, user: ${((_a = user === null || user === void 0 ? void 0 : user.userinfo) === null || _a === void 0 ? void 0 : _a.email) || (user === null || user === void 0 ? void 0 : user.email)}`);
606
- this.logger.log(`verifyLogin: redirecting to default route: ${auth_constants_1.AUTH.ROUTE.DEFAULT_REDIRECT}`);
607
- return res.redirect(auth_constants_1.AUTH.ROUTE.DEFAULT_REDIRECT);
608
- }
609
- this.logger.log('verifyLogin: emitting authenticate success event');
610
- req.isRefresh = false;
611
- this.logger.log('verifyLogin: setting req.isRefresh to false');
612
- this.emit(auth_constants_1.AUTH.EVENT.AUTHENTICATE_SUCCESS, req, res, next);
613
- this.logger.log('verifyLogin: authenticate success event emitted');
614
- };
615
431
  if (this.options.allowRolesRegex && !(0, common_1.arrayPatternMatch)(roles, this.options.allowRolesRegex)) {
616
- this.logger.log('verifyLogin: role validation failed');
617
- this.logger.info(JSON.stringify((user === null || user === void 0 ? void 0 : user.userinfo) || (user === null || user === void 0 ? void 0 : user.userInfo) || {}));
432
+ this.logger.info(JSON.stringify(user.userInfo));
618
433
  this.logger.error(`User has no application access, as they do not have a role that matches ${this.options.allowRolesRegex}.`);
619
- this.logger.log('verifyLogin: calling logout due to role mismatch');
620
434
  return this.logout(req, res, next);
621
435
  }
622
- else {
623
- this.logger.log('verifyLogin: role validation passed or not required');
624
- }
625
- // Explicitly save session to avoid race on first follow-up request
626
- if (req.session) {
627
- this.logger.log('verifyLogin: invoking explicit req.session.save');
628
- req.session.save((saveErr) => {
629
- this.logger.log(`verifyLogin: session.save callback invoked, err: ${saveErr || 'none'}`);
630
- this.logger.log(`verifyLogin: session after explicit save: ${JSON.stringify(req.session, null, 2)}`);
631
- this.debugSessionStore(req, 'verifyLogin:post-session-save');
632
- try {
633
- const cookieHeader = req.headers.cookie || '';
634
- const match = cookieHeader.match(/xui-webapp=([^;]+)/);
635
- if (match) {
636
- const rawVal = decodeURIComponent(match[1]);
637
- const parsedId = rawVal.startsWith('s:') ? rawVal.split('.')[0].substring(2) : rawVal;
638
- this.logger.log(`verifyLogin: parsed cookie session id=${parsedId} (may not yet reflect newly saved passport data until response end)`);
639
- }
640
- }
641
- catch (e) {
642
- this.logger.log(`verifyLogin: exception parsing cookie ${e.message}`);
643
- }
644
- proceedAfterSave();
645
- });
436
+ if (!this.listenerCount(auth_constants_1.AUTH.EVENT.AUTHENTICATE_SUCCESS)) {
437
+ this.logger.log(`redirecting, no listener count: ${auth_constants_1.AUTH.EVENT.AUTHENTICATE_SUCCESS}, user: ${user.email}`);
438
+ res.redirect(auth_constants_1.AUTH.ROUTE.DEFAULT_REDIRECT);
646
439
  }
647
440
  else {
648
- this.logger.log('verifyLogin: no session object found, proceeding without explicit save');
649
- this.debugSessionStore(req, 'verifyLogin:no-session-object');
650
- proceedAfterSave();
441
+ req.isRefresh = false;
442
+ this.emit(auth_constants_1.AUTH.EVENT.AUTHENTICATE_SUCCESS, req, res, next);
651
443
  }
652
444
  });
653
- this.logger.log('=-=-=-=-=-=-=-=-=-=-=-=-=');
654
- };
655
- /* istanbul ignore next */
656
- this.debugSessionStore = (req, label) => {
657
- try {
658
- // sessionStore API varies; typical express-session has get
659
- const store = req.sessionStore;
660
- if (store && typeof store.get === 'function' && req.sessionID) {
661
- store.get(req.sessionID, (err, sess) => {
662
- if (err) {
663
- this.logger.log(`${label}: sessionStore.get error: ${err}`);
664
- }
665
- else {
666
- this.logger.log(`${label}: sessionStore.get success, keys=${Object.keys(sess || {}).join(',')}`);
667
- this.logger.log(`${label}: sessionStore.get passport=${JSON.stringify(sess === null || sess === void 0 ? void 0 : sess.passport)}`);
668
- }
669
- });
670
- }
671
- else {
672
- this.logger.log(`${label}: sessionStore.get unavailable (store=${!!store}, hasGet=${!!(store === null || store === void 0 ? void 0 : store.get)}, sessionID=${req.sessionID})`);
673
- }
674
- }
675
- catch (e) {
676
- this.logger.log(`${label}: debugSessionStore exception ${e.message}`);
677
- }
678
445
  };
679
446
  /* istanbul ignore next */
680
447
  this.initializePassport = () => {
@@ -688,6 +455,17 @@ class Strategy extends events.EventEmitter {
688
455
  this.initializeKeepAlive = () => {
689
456
  this.router.use(this.keepAliveHandler);
690
457
  };
458
+ /* istanbul ignore next */
459
+ this.initializeTrustProxy = () => {
460
+ // Single, idempotent middleware to enforce trust proxy for every request
461
+ this.router.use((req, _res, next) => {
462
+ if (req.app.get('trust proxy') !== true) {
463
+ req.app.set('trust proxy', true);
464
+ this.logger.log('trust proxy enabled');
465
+ }
466
+ next();
467
+ });
468
+ };
691
469
  /**
692
470
  * helper method to store csrf token into session
693
471
  */
@@ -778,11 +556,9 @@ class Strategy extends events.EventEmitter {
778
556
  /* istanbul ignore next */
779
557
  this.emitIfListenersExist = (eventName, eventObject, done) => {
780
558
  if (!this.listenerCount(eventName)) {
781
- this.logger.log(`no listeners for event ${eventName}, proceeding with default done callback`);
782
559
  done(null, eventObject);
783
560
  }
784
561
  else {
785
- this.logger.log(`emitting event ${eventName} to listeners`);
786
562
  this.emit(eventName, eventObject, done);
787
563
  }
788
564
  };
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.class.js","sourceRoot":"","sources":["../../../src/auth/models/strategy.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy.class.js","sourceRoot":"","sources":["../../../src/auth/models/strategy.class.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hmcts/rpx-xui-node-lib",
3
- "version": "2.30.10-additional-logging-rc20",
3
+ "version": "2.30.10-trust-proxy",
4
4
  "description": "Common nodejs library components for XUI",
5
5
  "main": "dist/index",
6
6
  "types": "dist/index.d.ts",