@nauth-toolkit/nestjs 0.1.21 → 0.1.22

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.
Files changed (31) hide show
  1. package/dist/auth.module.d.ts.map +1 -1
  2. package/dist/auth.module.js +10 -3
  3. package/dist/auth.module.js.map +1 -1
  4. package/dist/guards/auth.guard.d.ts +3 -4
  5. package/dist/guards/auth.guard.d.ts.map +1 -1
  6. package/dist/guards/auth.guard.js +49 -60
  7. package/dist/guards/auth.guard.js.map +1 -1
  8. package/dist/guards/nauth-context.guard.d.ts +44 -0
  9. package/dist/guards/nauth-context.guard.d.ts.map +1 -0
  10. package/dist/guards/nauth-context.guard.js +140 -0
  11. package/dist/guards/nauth-context.guard.js.map +1 -0
  12. package/dist/index.d.ts +2 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +5 -3
  15. package/dist/index.js.map +1 -1
  16. package/dist/interceptors/cookie-token.interceptor.d.ts.map +1 -1
  17. package/dist/interceptors/cookie-token.interceptor.js +10 -0
  18. package/dist/interceptors/cookie-token.interceptor.js.map +1 -1
  19. package/dist/interceptors/index.d.ts +1 -1
  20. package/dist/interceptors/index.d.ts.map +1 -1
  21. package/dist/interceptors/index.js +1 -1
  22. package/dist/interceptors/index.js.map +1 -1
  23. package/dist/interceptors/nauth-context.interceptor.d.ts +27 -0
  24. package/dist/interceptors/nauth-context.interceptor.d.ts.map +1 -0
  25. package/dist/interceptors/nauth-context.interceptor.js +64 -0
  26. package/dist/interceptors/nauth-context.interceptor.js.map +1 -0
  27. package/package.json +2 -2
  28. package/dist/interceptors/client-info.interceptor.d.ts +0 -50
  29. package/dist/interceptors/client-info.interceptor.d.ts.map +0 -1
  30. package/dist/interceptors/client-info.interceptor.js +0 -196
  31. package/dist/interceptors/client-info.interceptor.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAK/D,OAAO,EAYL,WAAW,EAqBZ,MAAM,qBAAqB,CAAC;AAkD7B;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAEa,UAAU;IACrB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa;IAkqCxD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAuB9B"}
1
+ {"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAK/D,OAAO,EAYL,WAAW,EAqBZ,MAAM,qBAAqB,CAAC;AAmD7B;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAEa,UAAU;IACrB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa;IAyqCxD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAuB9B"}
@@ -49,9 +49,10 @@ const typeorm_2 = require("typeorm");
49
49
  const core_2 = require("@nauth-toolkit/core");
50
50
  // Internal API imports (for framework adapter use only)
51
51
  const internal_1 = require("@nauth-toolkit/core/internal");
52
- const client_info_interceptor_1 = require("./interceptors/client-info.interceptor");
53
52
  const cookie_token_interceptor_1 = require("./interceptors/cookie-token.interceptor");
53
+ const nauth_context_interceptor_1 = require("./interceptors/nauth-context.interceptor");
54
54
  const auth_guard_1 = require("./guards/auth.guard");
55
+ const nauth_context_guard_1 = require("./guards/nauth-context.guard");
55
56
  const csrf_guard_1 = require("./guards/csrf.guard");
56
57
  const csrf_service_1 = require("./services/csrf.service");
57
58
  const token_delivery_http_service_1 = require("./services/token-delivery-http.service");
@@ -92,10 +93,16 @@ let AuthModule = AuthModule_1 = class AuthModule {
92
93
  providers: [
93
94
  // Auto-run nauth-toolkit migrations on startup (no consumer burden)
94
95
  migrations_bootstrap_service_1.nauthMigrationsBootstrapProvider,
95
- // Global interceptor for automatic client info extraction
96
+ // Global guard for AsyncLocalStorage context initialization (runs FIRST)
97
+ // Must run before other guards to ensure context is available
98
+ {
99
+ provide: core_1.APP_GUARD,
100
+ useClass: nauth_context_guard_1.NAuthContextGuard,
101
+ },
102
+ // Global interceptor for context restoration (restores context for controllers)
96
103
  {
97
104
  provide: core_1.APP_INTERCEPTOR,
98
- useClass: client_info_interceptor_1.ClientInfoInterceptor,
105
+ useClass: nauth_context_interceptor_1.NAuthContextInterceptor,
99
106
  },
100
107
  // Shared token delivery helper (used by interceptor + controllers)
101
108
  token_delivery_http_service_1.TokenDeliveryHttpService,
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { CanActivate, ExecutionContext } from '@nestjs/common';
2
2
  import { Reflector } from '@nestjs/core';
3
- import { Repository } from 'typeorm';
4
- import { NAuthConfig, BaseUser } from '@nauth-toolkit/core';
3
+ import { NAuthConfig, AuthService } from '@nauth-toolkit/core';
5
4
  import { JwtService, SessionService } from '@nauth-toolkit/core/internal';
6
5
  /**
7
6
  * Native Auth Guard (NO Passport dependency)
@@ -23,9 +22,9 @@ export declare class AuthGuard implements CanActivate {
23
22
  private readonly reflector;
24
23
  private readonly jwtService;
25
24
  private readonly sessionService;
26
- private readonly userRepository;
25
+ private readonly authService;
27
26
  private readonly config;
28
- constructor(reflector: Reflector, jwtService: JwtService, sessionService: SessionService, userRepository: Repository<BaseUser>, config: NAuthConfig);
27
+ constructor(reflector: Reflector, jwtService: JwtService, sessionService: SessionService, authService: AuthService, config: NAuthConfig);
29
28
  canActivate(context: ExecutionContext): Promise<boolean>;
30
29
  /**
31
30
  * Extract JWT token from request with strict source validation based on configuration
@@ -1 +1 @@
1
- {"version":3,"file":"auth.guard.d.ts","sourceRoot":"","sources":["../../src/guards/auth.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,gBAAgB,EAAU,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,WAAW,EAIX,QAAQ,EAET,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI1E;;;;;;;;;;;;;;;GAeG;AACH,qBACa,SAAU,YAAW,WAAW;IAEzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBANN,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAE9B,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,EAEpC,MAAM,EAAE,WAAW;IAGhC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoH9D;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;CAwCrB"}
1
+ {"version":3,"file":"auth.guard.d.ts","sourceRoot":"","sources":["../../src/guards/auth.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,gBAAgB,EAAU,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,WAAW,EAKX,WAAW,EAEZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK1E;;;;;;;;;;;;;;;GAeG;AACH,qBACa,SAAU,YAAW,WAAW;IAEzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBALN,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EAExB,MAAM,EAAE,WAAW;IAGhC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA2G9D;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;CAwCrB"}
@@ -15,11 +15,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AuthGuard = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
17
  const core_1 = require("@nestjs/core");
18
- const typeorm_1 = require("typeorm");
19
18
  const core_2 = require("@nauth-toolkit/core");
20
19
  const internal_1 = require("@nauth-toolkit/core/internal");
21
20
  const public_decorator_1 = require("../decorators/public.decorator");
22
21
  const token_delivery_decorator_1 = require("../decorators/token-delivery.decorator");
22
+ const nauth_context_guard_1 = require("./nauth-context.guard");
23
23
  /**
24
24
  * Native Auth Guard (NO Passport dependency)
25
25
  *
@@ -40,13 +40,13 @@ let AuthGuard = class AuthGuard {
40
40
  reflector;
41
41
  jwtService;
42
42
  sessionService;
43
- userRepository;
43
+ authService;
44
44
  config;
45
- constructor(reflector, jwtService, sessionService, userRepository, config) {
45
+ constructor(reflector, jwtService, sessionService, authService, config) {
46
46
  this.reflector = reflector;
47
47
  this.jwtService = jwtService;
48
48
  this.sessionService = sessionService;
49
- this.userRepository = userRepository;
49
+ this.authService = authService;
50
50
  this.config = config;
51
51
  }
52
52
  async canActivate(context) {
@@ -87,61 +87,51 @@ let AuthGuard = class AuthGuard {
87
87
  if (session.expiresAt < new Date()) {
88
88
  throw new core_2.NAuthException(core_2.AuthErrorCode.SESSION_EXPIRED, 'Session has expired');
89
89
  }
90
- // Load user by sub (external identifier from JWT payload)
91
- // Include all non-sensitive fields needed by endpoints (profile, MFA status, etc.)
92
- // Excludes: passwordHash, passwordHistory, totpSecret, backupCodes (sensitive)
93
- // TODO: SHIT Work. NEEDS TO BE FIXED.
94
- const user = await this.userRepository.findOne({
95
- select: [
96
- 'id',
97
- 'sub',
98
- 'username',
99
- 'firstName',
100
- 'lastName',
101
- 'email',
102
- 'phone',
103
- 'isEmailVerified',
104
- 'isPhoneVerified',
105
- 'isActive',
106
- 'mustChangePassword',
107
- 'isLocked',
108
- 'lockReason',
109
- 'lockedAt',
110
- 'lockedUntil',
111
- 'failedLoginAttempts',
112
- 'lastFailedLoginAt',
113
- 'lastLoginAt',
114
- 'lastLoginIp',
115
- 'hasSocialAuth',
116
- 'socialProviders',
117
- 'mfaEnabled',
118
- 'mfaMethods',
119
- 'preferredMfaMethod',
120
- 'mfaExempt',
121
- 'mfaExemptReason',
122
- 'mfaExemptGrantedAt',
123
- 'metadata',
124
- 'createdAt',
125
- 'updatedAt',
126
- ],
127
- where: { sub: validation.payload.sub },
128
- });
129
- if (!user) {
130
- throw new core_2.NAuthException(core_2.AuthErrorCode.NOT_FOUND, 'User not found');
131
- }
132
- if (!user.isActive) {
133
- throw new core_2.NAuthException(core_2.AuthErrorCode.ACCOUNT_INACTIVE, 'Account is not active');
134
- }
135
- // SECURITY CRITICAL: Re-check session hasn't been modified (optimistic locking)
136
- // Prevents TOCTOU (Time-of-Check-Time-of-Use) vulnerabilities
137
- const revalidated = await this.sessionService.findByIdLight(sessionId);
138
- if (!revalidated || revalidated.version !== initialVersion || revalidated.isRevoked) {
139
- throw new core_2.NAuthException(core_2.AuthErrorCode.TOKEN_INVALID, 'Session was modified during request - possible security breach');
90
+ // ============================================================================
91
+ // Load user via AuthService (service-first architecture)
92
+ // ============================================================================
93
+ // AuthService.getUserForAuthContext handles:
94
+ // - User lookup by sub
95
+ // - Active status check
96
+ // - Computing hasPasswordHash from passwordHash
97
+ // - Removing sensitive fields (passwordHash, totpSecret, backupCodes, passwordHistory)
98
+ //
99
+ // Wrap in context restoration to ensure ContextStorage.set() works
100
+ const store = (0, nauth_context_guard_1.getNAuthContextStore)(request);
101
+ if (!store) {
102
+ // No context available - should not happen with proper setup
103
+ throw new core_2.NAuthException(core_2.AuthErrorCode.INTERNAL_ERROR, 'Context not initialized');
140
104
  }
141
- // Attach user to request
142
- request.user = user;
143
- request.token = validation.payload;
144
- return true;
105
+ return core_2.ContextStorage.enterStore(store, async () => {
106
+ const user = await this.authService.getUserForAuthContext(validation.payload.sub);
107
+ // SECURITY CRITICAL: Re-check session hasn't been modified (optimistic locking)
108
+ // Prevents TOCTOU (Time-of-Check-Time-of-Use) vulnerabilities
109
+ const revalidated = await this.sessionService.findByIdLight(sessionId);
110
+ if (!revalidated || revalidated.version !== initialVersion || revalidated.isRevoked) {
111
+ throw new core_2.NAuthException(core_2.AuthErrorCode.TOKEN_INVALID, 'Session was modified during request - possible security breach');
112
+ }
113
+ // Attach user to request
114
+ request.user = user;
115
+ request.token = validation.payload;
116
+ // Store in ContextStorage for service access
117
+ core_2.ContextStorage.set('CURRENT_USER', user);
118
+ core_2.ContextStorage.set('JWT_PAYLOAD', validation.payload);
119
+ core_2.ContextStorage.set('CURRENT_SESSION', sessionId);
120
+ // Update CLIENT_INFO with sessionId and userId
121
+ const clientInfo = core_2.ContextStorage.get('CLIENT_INFO');
122
+ if (clientInfo) {
123
+ const sessionIdNumber = typeof sessionId === 'number' ? sessionId : parseInt(String(sessionId), 10);
124
+ const userIdNumber = typeof user.id === 'number' ? user.id : parseInt(String(user.id), 10);
125
+ if (!isNaN(sessionIdNumber) && sessionIdNumber > 0) {
126
+ clientInfo.sessionId = sessionIdNumber;
127
+ }
128
+ if (!isNaN(userIdNumber) && userIdNumber > 0) {
129
+ clientInfo.userId = userIdNumber;
130
+ }
131
+ core_2.ContextStorage.set('CLIENT_INFO', clientInfo);
132
+ }
133
+ return true;
134
+ });
145
135
  }
146
136
  /**
147
137
  * Extract JWT token from request with strict source validation based on configuration
@@ -192,11 +182,10 @@ let AuthGuard = class AuthGuard {
192
182
  exports.AuthGuard = AuthGuard;
193
183
  exports.AuthGuard = AuthGuard = __decorate([
194
184
  (0, common_1.Injectable)(),
195
- __param(3, (0, common_1.Inject)('UserRepository')),
196
185
  __param(4, (0, common_1.Inject)('NAUTH_CONFIG')),
197
186
  __metadata("design:paramtypes", [core_1.Reflector,
198
187
  internal_1.JwtService,
199
188
  internal_1.SessionService,
200
- typeorm_1.Repository, Object])
189
+ core_2.AuthService, Object])
201
190
  ], AuthGuard);
202
191
  //# sourceMappingURL=auth.guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../src/guards/auth.guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../src/guards/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmF;AACnF,uCAAyC;AACzC,8CAQ6B;AAC7B,2DAA0E;AAC1E,qEAA+D;AAC/D,qFAA2F;AAC3F,+DAA6D;AAE7D;;;;;;;;;;;;;;;GAeG;AAEI,IAAM,SAAS,GAAf,MAAM,SAAS;IAED;IACA;IACA;IACA;IAEA;IANnB,YACmB,SAAoB,EACpB,UAAsB,EACtB,cAA8B,EAC9B,WAAwB,EAExB,MAAmB;QALnB,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAY;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QAExB,WAAM,GAAN,MAAM,CAAa;IACnC,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAU,gCAAa,EAAE;YACxE,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAEpD,sDAAsD;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,qBAAc,CAAC,oBAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAC7E,CAAC;QAED,iBAAiB;QACjB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,qBAAc,CAAC,oBAAa,CAAC,aAAa,EAAE,UAAU,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;QAC7F,CAAC;QAED,+EAA+E;QAC/E,qEAAqE;QACrE,+EAA+E;QAE/E,8BAA8B;QAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,OAAQ,CAAC,SAAS,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,qBAAc,CAAC,oBAAa,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QACjF,CAAC;QAED,qDAAqD;QACrD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;QAEvC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,qBAAc,CAAC,oBAAa,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAC;QAC3F,CAAC;QAED,8BAA8B;QAC9B,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,qBAAc,CAAC,oBAAa,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;QACjF,CAAC;QAED,+EAA+E;QAC/E,yDAAyD;QACzD,+EAA+E;QAC/E,6CAA6C;QAC7C,uBAAuB;QACvB,wBAAwB;QACxB,gDAAgD;QAChD,uFAAuF;QACvF,EAAE;QACF,mEAAmE;QACnE,MAAM,KAAK,GAAG,IAAA,0CAAoB,EAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,6DAA6D;YAC7D,MAAM,IAAI,qBAAc,CAAC,oBAAa,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,qBAAc,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,UAAU,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC;YAEnF,gFAAgF;YAChF,8DAA8D;YAC9D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACvE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,KAAK,cAAc,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;gBACpF,MAAM,IAAI,qBAAc,CACtB,oBAAa,CAAC,aAAa,EAC3B,gEAAgE,CACjE,CAAC;YACJ,CAAC;YAED,yBAAyB;YACzB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC;YAEnC,6CAA6C;YAC7C,qBAAc,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACzC,qBAAc,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACtD,qBAAc,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAEjD,+CAA+C;YAC/C,MAAM,UAAU,GAAG,qBAAc,CAAC,GAAG,CAA0C,aAAa,CAAC,CAAC;YAC9F,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,eAAe,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpG,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3F,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;oBACnD,UAAU,CAAC,SAAS,GAAG,eAAe,CAAC;gBACzC,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBAC7C,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC;gBACnC,CAAC;gBACD,qBAAc,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACK,YAAY,CAAC,OAAyB;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACtC,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,MAAM,CAAC;QAErC,MAAM,UAAU,GAAuB,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC;QACtE,MAAM,WAAW,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,MAAM,qBAAqB,GAAG,IAAA,+BAAwB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,WAAW,GAAuB,OAAO,CAAC,OAAO,EAAE,CAAC,qBAAqB,CAAC,CAAC;QAEjF,iFAAiF;QACjF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAgB,6CAAkB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAE9F,IAAI,SAAS,GAAuB,MAAM,CAAC;QAC3C,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,SAAS,GAAG,IAAA,gCAAyB,EAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,IAAI,qBAAc,CACtB,oBAAa,CAAC,kBAAkB,EAChC,oDAAoD,CACrD,CAAC;YACJ,CAAC;YACD,OAAO,WAAW,IAAI,IAAI,CAAC;QAC7B,CAAC;QAED,uBAAuB;QACvB,IAAI,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,IAAI,qBAAc,CAAC,oBAAa,CAAC,mBAAmB,EAAE,kDAAkD,CAAC,CAAC;QAClH,CAAC;QACD,OAAO,WAAW,IAAI,IAAI,CAAC;IAC7B,CAAC;CACF,CAAA;AAvKY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;IAOR,WAAA,IAAA,eAAM,EAAC,cAAc,CAAC,CAAA;qCAJK,gBAAS;QACR,qBAAU;QACN,yBAAc;QACjB,kBAAW;GALhC,SAAS,CAuKrB"}
@@ -0,0 +1,44 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { NAuthConfig } from '@nauth-toolkit/core';
3
+ import { GeoLocationService } from '@nauth-toolkit/core/internal';
4
+ /**
5
+ * NAuth Context Guard
6
+ *
7
+ * Runs FIRST for HTTP requests (registered as APP_GUARD).
8
+ * Initializes AsyncLocalStorage context and extracts client information.
9
+ *
10
+ * **Responsibilities:**
11
+ * - Creates a new AsyncLocalStorage store using `ContextStorage.run()`
12
+ * - Stores the created store on the raw request object for subsequent hooks/interceptors
13
+ * - Extracts and stores client info (IP, user agent, device token, geolocation)
14
+ * - Stores HTTP_RESPONSE in context for services that need response access
15
+ *
16
+ * **Why a Guard (not Middleware):**
17
+ * - Guards run before interceptors, ensuring context is available for both guards and controllers
18
+ * - Works with Fastify adapter (Nest middleware is not consistently supported)
19
+ * - Mirrors the core FastifyAdapter pattern for context management
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Registered globally in AuthModule as APP_GUARD
24
+ * // No manual usage required - runs automatically for all HTTP requests
25
+ * ```
26
+ */
27
+ export declare class NAuthContextGuard implements CanActivate {
28
+ private readonly config;
29
+ private readonly geoLocationService?;
30
+ private readonly clientInfoService;
31
+ constructor(config: NAuthConfig, geoLocationService?: GeoLocationService | undefined);
32
+ canActivate(context: ExecutionContext): Promise<boolean>;
33
+ /**
34
+ * Extract client information and store in context
35
+ *
36
+ * Equivalent to core ClientInfoHandler behavior.
37
+ */
38
+ private extractAndStoreClientInfo;
39
+ }
40
+ /**
41
+ * Get the context store from request (for use in interceptor)
42
+ */
43
+ export declare function getNAuthContextStore(request: unknown): Map<string, unknown> | undefined;
44
+ //# sourceMappingURL=nauth-context.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nauth-context.guard.d.ts","sourceRoot":"","sources":["../../src/guards/nauth-context.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,gBAAgB,EAAoB,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAKL,WAAW,EAEZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAOlE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBACa,iBAAkB,YAAW,WAAW;IAKjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IANtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;gBAI1C,MAAM,EAAE,WAAW,EAEnB,kBAAkB,CAAC,EAAE,kBAAkB,YAAA;IAGpD,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB9D;;;;OAIG;YACW,yBAAyB;CAiExC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAEvF"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.NAuthContextGuard = void 0;
16
+ exports.getNAuthContextStore = getNAuthContextStore;
17
+ const common_1 = require("@nestjs/common");
18
+ const core_1 = require("@nauth-toolkit/core");
19
+ const internal_1 = require("@nauth-toolkit/core/internal");
20
+ /**
21
+ * Symbol for storing context store on request (avoids property name collisions)
22
+ */
23
+ const NAUTH_CONTEXT_STORE = Symbol.for('nauth.contextStore');
24
+ /**
25
+ * NAuth Context Guard
26
+ *
27
+ * Runs FIRST for HTTP requests (registered as APP_GUARD).
28
+ * Initializes AsyncLocalStorage context and extracts client information.
29
+ *
30
+ * **Responsibilities:**
31
+ * - Creates a new AsyncLocalStorage store using `ContextStorage.run()`
32
+ * - Stores the created store on the raw request object for subsequent hooks/interceptors
33
+ * - Extracts and stores client info (IP, user agent, device token, geolocation)
34
+ * - Stores HTTP_RESPONSE in context for services that need response access
35
+ *
36
+ * **Why a Guard (not Middleware):**
37
+ * - Guards run before interceptors, ensuring context is available for both guards and controllers
38
+ * - Works with Fastify adapter (Nest middleware is not consistently supported)
39
+ * - Mirrors the core FastifyAdapter pattern for context management
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * // Registered globally in AuthModule as APP_GUARD
44
+ * // No manual usage required - runs automatically for all HTTP requests
45
+ * ```
46
+ */
47
+ let NAuthContextGuard = class NAuthContextGuard {
48
+ config;
49
+ geoLocationService;
50
+ clientInfoService = new core_1.ClientInfoService();
51
+ constructor(config, geoLocationService) {
52
+ this.config = config;
53
+ this.geoLocationService = geoLocationService;
54
+ }
55
+ async canActivate(context) {
56
+ // Only operate in HTTP context
57
+ if (context.getType() !== 'http') {
58
+ return true;
59
+ }
60
+ const request = context.switchToHttp().getRequest();
61
+ const response = context.switchToHttp().getResponse();
62
+ // Initialize AsyncLocalStorage context
63
+ // Store the context store on the request for subsequent hooks/interceptors
64
+ return core_1.ContextStorage.run(() => {
65
+ // Store context store on request for restoration in interceptor
66
+ request[NAUTH_CONTEXT_STORE] = core_1.ContextStorage.getStore();
67
+ // Extract and store client information
68
+ this.extractAndStoreClientInfo(request, response);
69
+ return true;
70
+ });
71
+ }
72
+ /**
73
+ * Extract client information and store in context
74
+ *
75
+ * Equivalent to core ClientInfoHandler behavior.
76
+ */
77
+ async extractAndStoreClientInfo(request, response) {
78
+ const req = request;
79
+ const headers = req.headers || {};
80
+ const userAgent = headers['user-agent'];
81
+ const userAgentString = typeof userAgent === 'string' ? userAgent : 'unknown';
82
+ // Parse user agent to extract platform and browser
83
+ const parsedUA = this.clientInfoService.parseUserAgent(userAgentString);
84
+ // Extract device token from cookie or header
85
+ const deviceTokenCookieName = (0, core_1.getDeviceTokenCookieName)(this.config);
86
+ const deviceTokenCookie = req.cookies?.[deviceTokenCookieName];
87
+ const deviceTokenHeader = headers['x-device-token'] || headers['X-Device-Token'];
88
+ const deviceToken = (typeof deviceTokenCookie === 'string' ? deviceTokenCookie : undefined) ||
89
+ (typeof deviceTokenHeader === 'string' ? deviceTokenHeader : undefined) ||
90
+ (deviceTokenHeader ? String(deviceTokenHeader) : undefined);
91
+ // Extract IP address
92
+ const ipAddress = (0, core_1.extractClientIp)(req);
93
+ const clientInfo = {
94
+ ipAddress,
95
+ userAgent: userAgentString,
96
+ deviceToken,
97
+ deviceName: req.body?.deviceName || parsedUA.deviceName || undefined,
98
+ deviceType: (req.body?.deviceType || parsedUA.deviceType || undefined),
99
+ platform: parsedUA.platform || undefined,
100
+ browser: parsedUA.browser || undefined,
101
+ sessionId: undefined, // Set later by AuthGuard after token validation
102
+ userId: undefined, // Set later by AuthGuard after token validation
103
+ ipCountry: undefined,
104
+ ipCity: undefined,
105
+ ipLatitude: undefined,
106
+ ipLongitude: undefined,
107
+ };
108
+ // Populate geolocation if service available
109
+ if (this.geoLocationService && clientInfo.ipAddress && clientInfo.ipAddress !== '0.0.0.0') {
110
+ try {
111
+ const geo = await this.geoLocationService.getIpGeolocation(clientInfo.ipAddress);
112
+ clientInfo.ipCountry = geo.country;
113
+ clientInfo.ipCity = geo.city;
114
+ clientInfo.ipLatitude = geo.latitude;
115
+ clientInfo.ipLongitude = geo.longitude;
116
+ }
117
+ catch {
118
+ // Non-blocking: Silently fail - geolocation remains undefined
119
+ // Errors are already logged by GeoLocationService
120
+ }
121
+ }
122
+ // Store in AsyncLocalStorage context
123
+ core_1.ContextStorage.set('CLIENT_INFO', clientInfo);
124
+ core_1.ContextStorage.set('HTTP_RESPONSE', response);
125
+ }
126
+ };
127
+ exports.NAuthContextGuard = NAuthContextGuard;
128
+ exports.NAuthContextGuard = NAuthContextGuard = __decorate([
129
+ (0, common_1.Injectable)(),
130
+ __param(0, (0, common_1.Inject)('NAUTH_CONFIG')),
131
+ __param(1, (0, common_1.Optional)()),
132
+ __metadata("design:paramtypes", [Object, internal_1.GeoLocationService])
133
+ ], NAuthContextGuard);
134
+ /**
135
+ * Get the context store from request (for use in interceptor)
136
+ */
137
+ function getNAuthContextStore(request) {
138
+ return request[NAUTH_CONTEXT_STORE];
139
+ }
140
+ //# sourceMappingURL=nauth-context.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nauth-context.guard.js","sourceRoot":"","sources":["../../src/guards/nauth-context.guard.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,11 +14,12 @@ export { AuthModule, NAuthModuleConfig } from './auth.module';
14
14
  * NestJS Guards - Route protection and authentication
15
15
  */
16
16
  export { AuthGuard } from './guards/auth.guard';
17
+ export { NAuthContextGuard } from './guards/nauth-context.guard';
17
18
  export { CsrfGuard } from './guards/csrf.guard';
18
19
  /**
19
20
  * NestJS Interceptors - Request/response processing
20
21
  */
21
- export { ClientInfoInterceptor } from './interceptors/client-info.interceptor';
22
+ export { NAuthContextInterceptor } from './interceptors/nauth-context.interceptor';
22
23
  export { CookieTokenInterceptor } from './interceptors/cookie-token.interceptor';
23
24
  /**
24
25
  * NestJS Decorators - Parameter decorators and metadata
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,cAAc,qBAAqB,CAAC;AAMpC;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9D;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEzG;;GAEG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;GAEG;AACH,cAAc,OAAO,CAAC;AAEtB;;GAEG;AACH,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,cAAc,qBAAqB,CAAC;AAMpC;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9D;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEzG;;GAEG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;GAEG;AACH,cAAc,OAAO,CAAC;AAEtB;;GAEG;AACH,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC"}
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
21
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.createRedisClusterAdapter = exports.createRedisStorageAdapter = exports.createDatabaseStorageAdapter = exports.CsrfService = exports.NestJsLoggerAdapter = exports.NAuthHttpExceptionFilter = exports.TOKEN_DELIVERY_KEY = exports.TokenDelivery = exports.ClientInfo = exports.IS_PUBLIC_KEY = exports.Public = exports.CurrentUser = exports.CookieTokenInterceptor = exports.ClientInfoInterceptor = exports.CsrfGuard = exports.AuthGuard = exports.AuthModule = void 0;
24
+ exports.createRedisClusterAdapter = exports.createRedisStorageAdapter = exports.createDatabaseStorageAdapter = exports.CsrfService = exports.NestJsLoggerAdapter = exports.NAuthHttpExceptionFilter = exports.TOKEN_DELIVERY_KEY = exports.TokenDelivery = exports.ClientInfo = exports.IS_PUBLIC_KEY = exports.Public = exports.CurrentUser = exports.CookieTokenInterceptor = exports.NAuthContextInterceptor = exports.CsrfGuard = exports.NAuthContextGuard = exports.AuthGuard = exports.AuthModule = void 0;
25
25
  // ============================================================================
26
26
  // Re-export Public API from Core
27
27
  // ============================================================================
@@ -45,13 +45,15 @@ Object.defineProperty(exports, "AuthModule", { enumerable: true, get: function (
45
45
  */
46
46
  var auth_guard_1 = require("./guards/auth.guard");
47
47
  Object.defineProperty(exports, "AuthGuard", { enumerable: true, get: function () { return auth_guard_1.AuthGuard; } });
48
+ var nauth_context_guard_1 = require("./guards/nauth-context.guard");
49
+ Object.defineProperty(exports, "NAuthContextGuard", { enumerable: true, get: function () { return nauth_context_guard_1.NAuthContextGuard; } });
48
50
  var csrf_guard_1 = require("./guards/csrf.guard");
49
51
  Object.defineProperty(exports, "CsrfGuard", { enumerable: true, get: function () { return csrf_guard_1.CsrfGuard; } });
50
52
  /**
51
53
  * NestJS Interceptors - Request/response processing
52
54
  */
53
- var client_info_interceptor_1 = require("./interceptors/client-info.interceptor");
54
- Object.defineProperty(exports, "ClientInfoInterceptor", { enumerable: true, get: function () { return client_info_interceptor_1.ClientInfoInterceptor; } });
55
+ var nauth_context_interceptor_1 = require("./interceptors/nauth-context.interceptor");
56
+ Object.defineProperty(exports, "NAuthContextInterceptor", { enumerable: true, get: function () { return nauth_context_interceptor_1.NAuthContextInterceptor; } });
55
57
  var cookie_token_interceptor_1 = require("./interceptors/cookie-token.interceptor");
56
58
  Object.defineProperty(exports, "CookieTokenInterceptor", { enumerable: true, get: function () { return cookie_token_interceptor_1.CookieTokenInterceptor; } });
57
59
  /**
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAC/E,+EAA+E;AAC/E,kFAAkF;AAClF,qCAAqC;AACrC,EAAE;AACF,wDAAwD;AACxD,qDAAqD;AACrD,sDAAoC;AAEpC,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;GAEG;AACH,6CAA8D;AAArD,yGAAA,UAAU,OAAA;AAEnB;;GAEG;AACH,kDAAgD;AAAvC,uGAAA,SAAS,OAAA;AAClB,kDAAgD;AAAvC,uGAAA,SAAS,OAAA;AAElB;;GAEG;AACH,kFAA+E;AAAtE,gIAAA,qBAAqB,OAAA;AAC9B,oFAAiF;AAAxE,kIAAA,sBAAsB,OAAA;AAE/B;;GAEG;AACH,8EAAkE;AAAzD,qHAAA,WAAW,OAAA;AACpB,kEAAsE;AAA7D,0GAAA,MAAM,OAAA;AAAE,iHAAA,aAAa,OAAA;AAC9B,4EAAgE;AAAvD,mHAAA,UAAU,OAAA;AACnB,kFAAyG;AAAhG,yHAAA,aAAa,OAAA;AAAE,8HAAA,kBAAkB,OAAA;AAE1C;;GAEG;AACH,qFAAiF;AAAxE,uIAAA,wBAAwB,OAAA;AAEjC;;GAEG;AACH,2EAAwE;AAA/D,4HAAA,mBAAmB,OAAA;AAE5B;;GAEG;AACH,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AAEpB;;GAEG;AACH,wCAAsB;AAEtB;;GAEG;AACH,+EAI6C;AAH3C,uIAAA,4BAA4B,OAAA;AAC5B,oIAAA,yBAAyB,OAAA;AACzB,oIAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAC/E,+EAA+E;AAC/E,kFAAkF;AAClF,qCAAqC;AACrC,EAAE;AACF,wDAAwD;AACxD,qDAAqD;AACrD,sDAAoC;AAEpC,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;GAEG;AACH,6CAA8D;AAArD,yGAAA,UAAU,OAAA;AAEnB;;GAEG;AACH,kDAAgD;AAAvC,uGAAA,SAAS,OAAA;AAClB,oEAAiE;AAAxD,wHAAA,iBAAiB,OAAA;AAC1B,kDAAgD;AAAvC,uGAAA,SAAS,OAAA;AAElB;;GAEG;AACH,sFAAmF;AAA1E,oIAAA,uBAAuB,OAAA;AAChC,oFAAiF;AAAxE,kIAAA,sBAAsB,OAAA;AAE/B;;GAEG;AACH,8EAAkE;AAAzD,qHAAA,WAAW,OAAA;AACpB,kEAAsE;AAA7D,0GAAA,MAAM,OAAA;AAAE,iHAAA,aAAa,OAAA;AAC9B,4EAAgE;AAAvD,mHAAA,UAAU,OAAA;AACnB,kFAAyG;AAAhG,yHAAA,aAAa,OAAA;AAAE,8HAAA,kBAAkB,OAAA;AAE1C;;GAEG;AACH,qFAAiF;AAAxE,uIAAA,wBAAwB,OAAA;AAEjC;;GAEG;AACH,2EAAwE;AAA/D,4HAAA,mBAAmB,OAAA;AAE5B;;GAEG;AACH,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AAEpB;;GAEG;AACH,wCAAsB;AAEtB;;GAEG;AACH,+EAI6C;AAH3C,uIAAA,4BAA4B,OAAA;AAC5B,oIAAA,yBAAyB,OAAA;AACzB,oIAAA,yBAAyB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cookie-token.interceptor.d.ts","sourceRoot":"","sources":["../../src/interceptors/cookie-token.interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQlC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAEnF;;;;;;;;;;;;;;;GAeG;AACH,qBACa,sBAAuB,YAAW,eAAe;IAE1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,iBAAiB,EAAE,wBAAwB,EAC3C,SAAS,EAAE,SAAS;IAGvC,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;CAuE7E"}
1
+ {"version":3,"file":"cookie-token.interceptor.d.ts","sourceRoot":"","sources":["../../src/interceptors/cookie-token.interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAEnF;;;;;;;;;;;;;;;GAeG;AACH,qBACa,sBAAuB,YAAW,eAAe;IAE1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,iBAAiB,EAAE,wBAAwB,EAC3C,SAAS,EAAE,SAAS;IAGvC,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;CAkF7E"}
@@ -49,6 +49,16 @@ let CookieTokenInterceptor = class CookieTokenInterceptor {
49
49
  // Determine effective delivery for this request
50
50
  const routeMode = this.reflector.get(token_delivery_decorator_1.TOKEN_DELIVERY_KEY, context.getHandler());
51
51
  const effective = this.tokenDeliveryHttp.resolveEffectiveDelivery(req, routeMode);
52
+ // ============================================================================
53
+ // Expose route-level delivery decision to downstream handlers
54
+ // ============================================================================
55
+ // Social redirect endpoints (and other framework-neutral handlers) may need to
56
+ // know the route-level delivery override in hybrid deployments. Provider callbacks
57
+ // often omit `Origin`, so the only deterministic signal is the route itself.
58
+ //
59
+ // We store it on the request object using a non-enumerable-ish private-ish key.
60
+ // Frameworks tolerate extra properties on the request object (Express/Fastify).
61
+ req.__nauthRouteDelivery = routeMode;
52
62
  return next.handle().pipe((0, operators_1.map)((data) => {
53
63
  // ============================================================================
54
64
  // Safety: Only process object responses
@@ -1 +1 @@
1
- {"version":3,"file":"cookie-token.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/cookie-token.interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookie-token.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/cookie-token.interceptor.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export * from './client-info.interceptor';
1
+ export * from './nauth-context.interceptor';
2
2
  export * from './cookie-token.interceptor';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interceptors/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interceptors/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./client-info.interceptor"), exports);
17
+ __exportStar(require("./nauth-context.interceptor"), exports);
18
18
  __exportStar(require("./cookie-token.interceptor"), exports);
19
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interceptors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interceptors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,6DAA2C"}
@@ -0,0 +1,27 @@
1
+ import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ /**
4
+ * NAuth Context Interceptor
5
+ *
6
+ * Re-enters the AsyncLocalStorage context that was initialized by NAuthContextGuard.
7
+ * This ensures controllers and services run inside the same request-scoped context.
8
+ *
9
+ * **Why This is Needed:**
10
+ * - Guards and interceptors run in separate execution contexts
11
+ * - AsyncLocalStorage context from the guard is not automatically available to controllers
12
+ * - This interceptor restores the context using `ContextStorage.enterStore()`
13
+ *
14
+ * **Pattern:**
15
+ * - Mirrors the core FastifyAdapter pattern for context restoration
16
+ * - Works with both Express and Fastify adapters
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Registered globally in AuthModule as APP_INTERCEPTOR
21
+ * // No manual usage required - runs automatically for all HTTP requests
22
+ * ```
23
+ */
24
+ export declare class NAuthContextInterceptor implements NestInterceptor {
25
+ intercept(context: ExecutionContext, next: CallHandler): Observable<unknown>;
26
+ }
27
+ //# sourceMappingURL=nauth-context.interceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nauth-context.interceptor.d.ts","sourceRoot":"","sources":["../../src/interceptors/nauth-context.interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,uBAAwB,YAAW,eAAe;IAC7D,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;CA2B7E"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.NAuthContextInterceptor = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const rxjs_1 = require("rxjs");
12
+ const core_1 = require("@nauth-toolkit/core");
13
+ const nauth_context_guard_1 = require("../guards/nauth-context.guard");
14
+ /**
15
+ * NAuth Context Interceptor
16
+ *
17
+ * Re-enters the AsyncLocalStorage context that was initialized by NAuthContextGuard.
18
+ * This ensures controllers and services run inside the same request-scoped context.
19
+ *
20
+ * **Why This is Needed:**
21
+ * - Guards and interceptors run in separate execution contexts
22
+ * - AsyncLocalStorage context from the guard is not automatically available to controllers
23
+ * - This interceptor restores the context using `ContextStorage.enterStore()`
24
+ *
25
+ * **Pattern:**
26
+ * - Mirrors the core FastifyAdapter pattern for context restoration
27
+ * - Works with both Express and Fastify adapters
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * // Registered globally in AuthModule as APP_INTERCEPTOR
32
+ * // No manual usage required - runs automatically for all HTTP requests
33
+ * ```
34
+ */
35
+ let NAuthContextInterceptor = class NAuthContextInterceptor {
36
+ intercept(context, next) {
37
+ // Only operate in HTTP context
38
+ if (context.getType() !== 'http') {
39
+ return next.handle();
40
+ }
41
+ const request = context.switchToHttp().getRequest();
42
+ // Get the context store that was created by NAuthContextGuard
43
+ const store = (0, nauth_context_guard_1.getNAuthContextStore)(request);
44
+ if (!store) {
45
+ // No context available - continue without context (shouldn't happen with proper setup)
46
+ return next.handle();
47
+ }
48
+ // Re-enter the context store so controllers/services have access to it
49
+ return new rxjs_1.Observable((subscriber) => {
50
+ core_1.ContextStorage.enterStore(store, () => {
51
+ next.handle().subscribe({
52
+ next: (value) => subscriber.next(value),
53
+ error: (err) => subscriber.error(err),
54
+ complete: () => subscriber.complete(),
55
+ });
56
+ });
57
+ });
58
+ }
59
+ };
60
+ exports.NAuthContextInterceptor = NAuthContextInterceptor;
61
+ exports.NAuthContextInterceptor = NAuthContextInterceptor = __decorate([
62
+ (0, common_1.Injectable)()
63
+ ], NAuthContextInterceptor);
64
+ //# sourceMappingURL=nauth-context.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nauth-context.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/nauth-context.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4F;AAC5F,+BAAkC;AAClC,8CAAqD;AACrD,uEAAqE;AAErE;;;;;;;;;;;;;;;;;;;;GAoBG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,+BAA+B;QAC/B,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAEpD,8DAA8D;QAC9D,MAAM,KAAK,GAAG,IAAA,0CAAoB,EAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,uFAAuF;YACvF,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,uEAAuE;QACvE,OAAO,IAAI,iBAAU,CAAC,CAAC,UAAU,EAAE,EAAE;YACnC,qBAAc,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC;oBACtB,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;oBACvC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;oBACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE;iBACtC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA5BY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;GACA,uBAAuB,CA4BnC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nauth-toolkit/nestjs",
3
- "version": "0.1.21",
3
+ "version": "0.1.22",
4
4
  "description": "NestJS adapter for nauth-toolkit - Platform-specific integrations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -39,7 +39,7 @@
39
39
  "typeorm": "^0.3.0"
40
40
  },
41
41
  "dependencies": {
42
- "@nauth-toolkit/core": "0.1.21"
42
+ "@nauth-toolkit/core": "0.1.22"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@nestjs/common": "^11.1.8",
@@ -1,50 +0,0 @@
1
- import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
2
- import { Observable } from 'rxjs';
3
- import { NAuthConfig } from '@nauth-toolkit/core';
4
- import { GeoLocationService } from '@nauth-toolkit/core/internal';
5
- /**
6
- * Client Info Interceptor
7
- *
8
- * Automatically extracts client information (IP address, user agent, device info)
9
- * from incoming HTTP requests and stores it in async local storage (CLS).
10
- *
11
- * This interceptor runs globally when configured in AuthModule, ensuring that
12
- * all authentication services have transparent access to client metadata without
13
- * needing to pass it as parameters.
14
- *
15
- * Benefits:
16
- * - Transparent IP/user agent handling (like AWS Cognito)
17
- * - Handles proxies and load balancers automatically
18
- * - No parameters needed - services read from context automatically
19
- * - Works across async boundaries
20
- * - Type-safe and consistent
21
- *
22
- * @example
23
- * // In your controller (no IP/UA parameters needed!)
24
- * @Post('login')
25
- * async login(@Body() dto: LoginDTO) {
26
- * return this.authService.login(dto); // IP extracted internally!
27
- * }
28
- *
29
- * // In AuthService (reads from context automatically)
30
- * async login(dto: LoginDTO) {
31
- * const clientInfo = this.clientInfoService.get(); // From context!
32
- * // Use clientInfo.ipAddress, clientInfo.userAgent, etc.
33
- * }
34
- */
35
- export declare class ClientInfoInterceptor implements NestInterceptor {
36
- private readonly config?;
37
- private readonly geoLocationService?;
38
- private readonly clientInfoService;
39
- constructor(config?: NAuthConfig | undefined, geoLocationService?: GeoLocationService | undefined);
40
- intercept(context: ExecutionContext, next: CallHandler): Observable<unknown>;
41
- /**
42
- * Extract and store client information in context
43
- *
44
- * @param context - Execution context
45
- * @param next - Call handler
46
- * @returns Observable
47
- */
48
- private extractAndStoreClientInfo;
49
- }
50
- //# sourceMappingURL=client-info.interceptor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-info.interceptor.d.ts","sourceRoot":"","sources":["../../src/interceptors/client-info.interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAY,MAAM,MAAM,CAAC;AAE5C,OAAO,EAKL,WAAW,EAEZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBACa,qBAAsB,YAAW,eAAe;IAMzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAExB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAPtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;gBAK1C,MAAM,CAAC,EAAE,WAAW,YAAA,EAEpB,kBAAkB,CAAC,EAAE,kBAAkB,YAAA;IAG1D,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;IAa5E;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;CAkIlC"}
@@ -1,196 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ClientInfoInterceptor = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const rxjs_1 = require("rxjs");
18
- const operators_1 = require("rxjs/operators");
19
- const core_1 = require("@nauth-toolkit/core");
20
- const internal_1 = require("@nauth-toolkit/core/internal");
21
- /**
22
- * Client Info Interceptor
23
- *
24
- * Automatically extracts client information (IP address, user agent, device info)
25
- * from incoming HTTP requests and stores it in async local storage (CLS).
26
- *
27
- * This interceptor runs globally when configured in AuthModule, ensuring that
28
- * all authentication services have transparent access to client metadata without
29
- * needing to pass it as parameters.
30
- *
31
- * Benefits:
32
- * - Transparent IP/user agent handling (like AWS Cognito)
33
- * - Handles proxies and load balancers automatically
34
- * - No parameters needed - services read from context automatically
35
- * - Works across async boundaries
36
- * - Type-safe and consistent
37
- *
38
- * @example
39
- * // In your controller (no IP/UA parameters needed!)
40
- * @Post('login')
41
- * async login(@Body() dto: LoginDTO) {
42
- * return this.authService.login(dto); // IP extracted internally!
43
- * }
44
- *
45
- * // In AuthService (reads from context automatically)
46
- * async login(dto: LoginDTO) {
47
- * const clientInfo = this.clientInfoService.get(); // From context!
48
- * // Use clientInfo.ipAddress, clientInfo.userAgent, etc.
49
- * }
50
- */
51
- let ClientInfoInterceptor = class ClientInfoInterceptor {
52
- config;
53
- geoLocationService;
54
- clientInfoService = new core_1.ClientInfoService();
55
- constructor(config, geoLocationService) {
56
- this.config = config;
57
- this.geoLocationService = geoLocationService;
58
- }
59
- intercept(context, next) {
60
- // Initialize context storage for this request (platform-agnostic)
61
- return new rxjs_1.Observable((subscriber) => {
62
- core_1.ContextStorage.run(() => {
63
- this.extractAndStoreClientInfo(context, next).subscribe({
64
- next: (value) => subscriber.next(value),
65
- error: (err) => subscriber.error(err),
66
- complete: () => subscriber.complete(),
67
- });
68
- });
69
- });
70
- }
71
- /**
72
- * Extract and store client information in context
73
- *
74
- * @param context - Execution context
75
- * @param next - Call handler
76
- * @returns Observable
77
- */
78
- extractAndStoreClientInfo(context, next) {
79
- const request = context.switchToHttp().getRequest();
80
- const response = context.switchToHttp().getResponse();
81
- // Extract client information
82
- const headers = request.headers || {};
83
- const userAgent = headers['user-agent'];
84
- const userAgentString = typeof userAgent === 'string' ? userAgent : 'unknown';
85
- // Parse user agent to extract platform and browser using ClientInfoService
86
- const parsedUA = this.clientInfoService.parseUserAgent(userAgentString);
87
- // Extract device token from cookie (web) or header (mobile)
88
- // Security: Never accept device token from request body (prevent client manipulation)
89
- const deviceTokenCookieName = this.config ? (0, core_1.getDeviceTokenCookieName)(this.config) : 'nauth_device_token';
90
- const deviceTokenCookie = request.cookies?.[deviceTokenCookieName];
91
- const deviceTokenHeader = headers['x-device-token'] || headers['X-Device-Token'];
92
- const deviceToken = (typeof deviceTokenCookie === 'string' ? deviceTokenCookie : undefined) ||
93
- (typeof deviceTokenHeader === 'string' ? deviceTokenHeader : undefined) ||
94
- (deviceTokenHeader ? String(deviceTokenHeader) : undefined);
95
- // Extract sessionId and userId from token (set by AuthGuard after validation)
96
- // sessionId and sub (userId) are strings in JWT payload, convert to number for database
97
- const sessionIdFromToken = request?.token?.sessionId;
98
- const sessionIdNumber = sessionIdFromToken ? parseInt(sessionIdFromToken, 10) : undefined;
99
- const userIdFromToken = request?.token?.sub;
100
- const userIdNumber = userIdFromToken ? parseInt(userIdFromToken, 10) : undefined;
101
- const clientInfo = {
102
- //ipAddress: extractClientIp(request),
103
- /**
104
- * In development mode, assign a random known public IP address
105
- * for better testability (to trigger geolocation flows, etc.).
106
- * In production, default to 'unknown' if IP extraction fails.
107
- */
108
- ipAddress: (0, core_1.extractClientIp)(request),
109
- // process.env.NODE_ENV === 'development'
110
- // ? [
111
- // '203.97.24.118', // Invercargill, New Zealand
112
- // '194.103.82.33', // Umeå, Sweden
113
- // '80.12.134.67', // La Rochelle, France
114
- // '124.148.98.45', // Port Hedland, Australia
115
- // '200.68.114.22', // Mar del Plata, Argentina
116
- // '213.216.200.77', // Oulu, Finland
117
- // '206.248.142.91', // Timmins, Canada
118
- // '95.43.18.140', // Plovdiv, Bulgaria
119
- // '110.164.231.162', // Surat Thani, Thailand
120
- // '190.186.7.20', // Cochabamba, Bolivia
121
- // ][Math.floor(Math.random() * 10)]
122
- // : extractClientIp(request),
123
- userAgent: userAgentString,
124
- deviceToken, // Extracted from cookie or header only
125
- // Use deviceName from request body if provided, otherwise parse from user agent
126
- deviceName: request.body?.deviceName || parsedUA.deviceName || undefined,
127
- deviceType: request.body?.deviceType || parsedUA.deviceType || undefined,
128
- platform: parsedUA.platform || undefined,
129
- browser: parsedUA.browser || undefined,
130
- // Session ID from authenticated request (set by AuthGuard after token validation)
131
- sessionId: sessionIdNumber && !isNaN(sessionIdNumber) ? sessionIdNumber : undefined,
132
- // User ID from authenticated request (set by AuthGuard after token validation)
133
- userId: userIdNumber && !isNaN(userIdNumber) ? userIdNumber : undefined,
134
- // Geolocation populated below if GeoLocationService is available
135
- ipCountry: undefined,
136
- ipCity: undefined,
137
- ipLatitude: undefined,
138
- ipLongitude: undefined,
139
- };
140
- // ============================================================================
141
- // Populate Geolocation (Optional)
142
- // ============================================================================
143
- if (this.geoLocationService && clientInfo.ipAddress) {
144
- // Use RxJS operators to await geolocation lookup
145
- // CRITICAL: Use catchError BEFORE switchMap to only catch geolocation errors,
146
- // not errors from the controller (which would cause duplicate execution)
147
- return (0, rxjs_1.from)(this.geoLocationService.getIpGeolocation(clientInfo.ipAddress)).pipe((0, operators_1.catchError)(() => {
148
- // Non-blocking: Silently fail - geolocation remains undefined
149
- // Errors are already logged by GeoLocationService
150
- // Return empty geo data to continue the request
151
- return (0, rxjs_1.of)({ country: undefined, city: undefined, latitude: undefined, longitude: undefined });
152
- }), (0, operators_1.switchMap)((geo) => {
153
- // Update clientInfo with geolocation (or undefined if lookup failed)
154
- clientInfo.ipCountry = geo.country;
155
- clientInfo.ipCity = geo.city;
156
- clientInfo.ipLatitude = geo.latitude;
157
- clientInfo.ipLongitude = geo.longitude;
158
- // Store in async local storage for transparent access
159
- core_1.ContextStorage.set('CLIENT_INFO', clientInfo);
160
- // Store response object for services to access (e.g., for clearing cookies)
161
- core_1.ContextStorage.set('HTTP_RESPONSE', response);
162
- // Also attach to request object for @ClientInfo() decorator (backward compatibility)
163
- request.clientInfo = clientInfo;
164
- // Expose current session id for observability/debugging (set by AuthGuard after validation)
165
- // This is safe metadata; tokens are never exposed. If unavailable, header is omitted.
166
- const sessionId = request?.token?.sessionId;
167
- if (sessionId && typeof response.setHeader === 'function') {
168
- response.setHeader('X-Session-Id', sessionId);
169
- }
170
- return next.handle();
171
- }));
172
- }
173
- // Store in async local storage for transparent access
174
- core_1.ContextStorage.set('CLIENT_INFO', clientInfo);
175
- // Store response object for services to access (e.g., for clearing cookies)
176
- core_1.ContextStorage.set('HTTP_RESPONSE', response);
177
- // Also attach to request object for @ClientInfo() decorator (backward compatibility)
178
- request.clientInfo = clientInfo;
179
- // Expose current session id for observability/debugging (set by AuthGuard after validation)
180
- // This is safe metadata; tokens are never exposed. If unavailable, header is omitted.
181
- const sessionId = request?.token?.sessionId;
182
- if (sessionId && typeof response.setHeader === 'function') {
183
- response.setHeader('X-Session-Id', sessionId);
184
- }
185
- return next.handle();
186
- }
187
- };
188
- exports.ClientInfoInterceptor = ClientInfoInterceptor;
189
- exports.ClientInfoInterceptor = ClientInfoInterceptor = __decorate([
190
- (0, common_1.Injectable)(),
191
- __param(0, (0, common_1.Optional)()),
192
- __param(0, (0, common_1.Inject)('NAUTH_CONFIG')),
193
- __param(1, (0, common_1.Optional)()),
194
- __metadata("design:paramtypes", [Object, internal_1.GeoLocationService])
195
- ], ClientInfoInterceptor);
196
- //# sourceMappingURL=client-info.interceptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-info.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/client-info.interceptor.ts"],"names":[],"mappings":"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"}