@ambushsoftworks/nestjs-auth-graphql 0.7.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +120 -1
  2. package/dist/auth.module.d.ts +7 -0
  3. package/dist/auth.module.d.ts.map +1 -1
  4. package/dist/auth.module.js +25 -0
  5. package/dist/auth.module.js.map +1 -1
  6. package/dist/exceptions/invalid-auth-config.exception.d.ts +4 -0
  7. package/dist/exceptions/invalid-auth-config.exception.d.ts.map +1 -0
  8. package/dist/exceptions/invalid-auth-config.exception.js +12 -0
  9. package/dist/exceptions/invalid-auth-config.exception.js.map +1 -0
  10. package/dist/guards/tenant.guard.d.ts.map +1 -1
  11. package/dist/guards/tenant.guard.js +9 -1
  12. package/dist/guards/tenant.guard.js.map +1 -1
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/interfaces/auth-logger.interface.d.ts +2 -0
  18. package/dist/interfaces/auth-logger.interface.d.ts.map +1 -1
  19. package/dist/interfaces/auth-logger.interface.js +2 -0
  20. package/dist/interfaces/auth-logger.interface.js.map +1 -1
  21. package/dist/interfaces/brute-force-repository.interface.d.ts +1 -0
  22. package/dist/interfaces/brute-force-repository.interface.d.ts.map +1 -1
  23. package/dist/interfaces/realm-extractor.interface.d.ts +1 -1
  24. package/dist/interfaces/realm-extractor.interface.d.ts.map +1 -1
  25. package/dist/interfaces/tenant-extractor.interface.d.ts +1 -1
  26. package/dist/interfaces/tenant-extractor.interface.d.ts.map +1 -1
  27. package/dist/middleware/realm.middleware.d.ts +2 -1
  28. package/dist/middleware/realm.middleware.d.ts.map +1 -1
  29. package/dist/middleware/realm.middleware.js +15 -5
  30. package/dist/middleware/realm.middleware.js.map +1 -1
  31. package/dist/repositories/noop-brute-force.repository.d.ts +1 -0
  32. package/dist/repositories/noop-brute-force.repository.d.ts.map +1 -1
  33. package/dist/repositories/noop-brute-force.repository.js +4 -0
  34. package/dist/repositories/noop-brute-force.repository.js.map +1 -1
  35. package/dist/resolvers/base-auth.resolver.d.ts.map +1 -1
  36. package/dist/resolvers/base-auth.resolver.js.map +1 -1
  37. package/dist/services/auth.service.d.ts +6 -0
  38. package/dist/services/auth.service.d.ts.map +1 -1
  39. package/dist/services/auth.service.js +17 -1
  40. package/dist/services/auth.service.js.map +1 -1
  41. package/dist/services/brute-force-protection.service.d.ts +10 -3
  42. package/dist/services/brute-force-protection.service.d.ts.map +1 -1
  43. package/dist/services/brute-force-protection.service.js +60 -6
  44. package/dist/services/brute-force-protection.service.js.map +1 -1
  45. package/dist/test-utils/mock-repositories.d.ts.map +1 -1
  46. package/dist/test-utils/mock-repositories.js +1 -0
  47. package/dist/test-utils/mock-repositories.js.map +1 -1
  48. package/dist/utils/ip-hash.d.ts +2 -0
  49. package/dist/utils/ip-hash.d.ts.map +1 -0
  50. package/dist/utils/ip-hash.js +11 -0
  51. package/dist/utils/ip-hash.js.map +1 -0
  52. package/examples/full-resolver-template.ts +305 -0
  53. package/package.json +2 -1
package/README.md CHANGED
@@ -207,6 +207,8 @@ TypeScript decorator metadata is not preserved when importing from compiled npm
207
207
 
208
208
  When cookie auth is enabled, pass the GraphQL `context` so tokens are set as HttpOnly cookies. The response body will contain empty strings for `accessToken`/`refreshToken`.
209
209
 
210
+ **Reference template:** `examples/full-resolver-template.ts` ships in the published package and covers every `perform*` method with copy-paste-ready `@Mutation`/`@Query` decorators, `@Throttle` on auth-sensitive endpoints, and `@UseGuards(JwtAuthGuard)` on authenticated routes. It also demonstrates the `changePassword` + `issueAuthSession` keep-alive pattern. Each `perform*` method on `BaseAuthResolver` also has a method-specific JSDoc snippet you can lift directly.
211
+
210
212
  ### Available `perform*()` methods
211
213
 
212
214
  **Authentication:**
@@ -364,6 +366,8 @@ const extractor = new HeaderTenantExtractor();
364
366
  const extractor = new HeaderTenantExtractor('x-org-id');
365
367
  ```
366
368
 
369
+ `extractTenantId` may also return `Promise<string | null>`. `TenantGuard` awaits the result with no microtask overhead for sync returns. Async throws and rejected Promises are treated identically to a sync `null` return — the request is rejected with `400 Bad Request` and the internal cause is logged via Nest's `Logger` (never leaked to the client).
370
+
367
371
  **Access tenant context** in resolvers:
368
372
 
369
373
  ```typescript
@@ -422,6 +426,22 @@ export class HostnameRealmExtractor implements IRealmExtractor {
422
426
  }
423
427
  ```
424
428
 
429
+ **Async extractor (DB-backed lookup):** `extractRealm` may also return `Promise<string | null>`. `RealmMiddleware` awaits the result with no microtask overhead for sync returns (`instanceof Promise` gate). Async throws and rejected Promises are treated identically to a sync `null` return — the request is rejected with `400 Bad Request` and the internal cause is logged via Nest's `Logger` (never leaked to the client). The same widening applies to `ITenantExtractor.extractTenantId`.
430
+
431
+ ```typescript
432
+ @Injectable()
433
+ export class DbRealmExtractor implements IRealmExtractor {
434
+ constructor(private readonly prisma: PrismaService) {}
435
+
436
+ async extractRealm(request: Record<string, any>): Promise<string | null> {
437
+ const host = request.headers?.host;
438
+ if (!host) return null;
439
+ const site = await this.prisma.site.findUnique({ where: { hostname: host } });
440
+ return site ? `site:${site.slug}` : null;
441
+ }
442
+ }
443
+ ```
444
+
425
445
  **Register the module with realm support:**
426
446
 
427
447
  ```typescript
@@ -599,6 +619,104 @@ The `OAuthController` is automatically registered and handles OAuth callback rou
599
619
 
600
620
  When `features.bruteForceProtection` is enabled and a `bruteForceRepositoryInstance` is provided, the module tracks failed login attempts and temporarily locks accounts. The lockout policy (attempt thresholds, lockout duration) is determined by your `IBruteForceRepository` implementation.
601
621
 
622
+ #### IP Rate Limiting
623
+
624
+ `BruteForceProtectionService.checkIpRateLimit(ipAddress, realm?)` enforces a sliding-window rate limit per IP. Opt in by setting `bruteForce.ipRateLimit`:
625
+
626
+ ```typescript
627
+ import { RedisRateLimiter } from './redis-rate-limiter'; // your implementation
628
+
629
+ AuthModule.forRootAsync({
630
+ inject: [RedisRateLimiter],
631
+ useFactory: (redisRateLimiter) => ({
632
+ // ...required options
633
+ rateLimiterInstance: redisRateLimiter, // REQUIRED with ipRateLimit
634
+ bruteForce: {
635
+ ipRateLimit: { maxAttempts: 10, windowMs: 60_000 }, // 10 per minute per IP
636
+ },
637
+ }),
638
+ })
639
+ ```
640
+
641
+ When `bruteForce.ipRateLimit` is configured, `AuthModule.forRootAsync` requires an explicit `rateLimiterInstance` and throws `InvalidAuthConfigException` at boot otherwise:
642
+
643
+ ```
644
+ [AuthModule] bruteForce.ipRateLimit is configured but rateLimiterInstance is undefined.
645
+ The default InMemoryRateLimiterService is unsafe for multi-replica deployments
646
+ (per-replica counters do not coordinate) and is not auto-applied for IP rate limiting.
647
+ Provide rateLimiterInstance explicitly: a Redis-backed implementation for production,
648
+ or `new InMemoryRateLimiterService()` for single-replica deployments / dev.
649
+ To disable IP rate limiting, remove the bruteForce.ipRateLimit slot.
650
+ ```
651
+
652
+ `checkIpRateLimit` reuses the same `IRateLimiter` infrastructure as password-reset throttling — implement once, reuse everywhere. For multi-replica production, back it with Redis (the same pattern documented for the `RefreshTokenService` cache applies). For single-replica or dev, `new InMemoryRateLimiterService()` is acceptable.
653
+
654
+ Threshold is inclusive: with `maxAttempts: 5`, the user is blocked starting on the 5th attempt within the window (record-then-check ordering means `attempts >= maxAttempts` returns `true`). Tune your config accordingly — `maxAttempts: 5` is the first blocked attempt, not the first allowed-over.
655
+
656
+ When realms are enabled, rate-limit keys are namespaced as `auth:ipRate:<realm>:<ipHash>` so a single shared store serves many realms without collisions. IPs are hashed via `hashIp(ip, salt)` (HMAC-SHA256, 16-char hex prefix) before becoming keys; raw IPs are never written to the store or to logs. The salt is resolved once at service construction with the following priority:
657
+
658
+ 1. `AUTH_IP_HASH_SALT` env var (recommended — dedicated, rotatable secret)
659
+ 2. `options.jwtSecret` (fallback; one-time INFO log when `bruteForce.ipRateLimit` is configured)
660
+ 3. Throws `InvalidAuthConfigException` if `bruteForce.ipRateLimit` is configured but neither salt source is available
661
+
662
+ Note: the salt is read from `AuthModuleOptions` (not from `process.env.JWT_SECRET` directly), so consumers wiring their JWT secret via `@nestjs/config` / a secrets manager work correctly without populating `process.env.JWT_SECRET`.
663
+
664
+ When the limit is exceeded, `SecurityEvent.IP_RATE_LIMIT_EXCEEDED` is logged. The method returns `boolean` and never throws — callers branch and produce their own error envelope (typically HTTP 429).
665
+
666
+ #### Brute-Force Cleanup
667
+
668
+ `BruteForceProtectionService.cleanupOldAttempts(olderThan: Date): Promise<number>` deletes failed-attempt records older than the cutoff and returns the deletion count. The package does NOT ship a scheduler — wire one in your application:
669
+
670
+ ```typescript
671
+ import { Injectable, Logger } from '@nestjs/common';
672
+ import { Cron } from '@nestjs/schedule';
673
+ import { BruteForceProtectionService } from '@ambushsoftworks/nestjs-auth-graphql';
674
+
675
+ @Injectable()
676
+ export class BruteForceCleanupJob {
677
+ private readonly logger = new Logger(BruteForceCleanupJob.name);
678
+
679
+ constructor(private readonly bruteForce: BruteForceProtectionService) {}
680
+
681
+ @Cron('0 3 * * *') // daily at 03:00
682
+ async cleanup() {
683
+ const ninetyDaysAgo = new Date(Date.now() - 90 * 24 * 60 * 60 * 1000);
684
+ const deleted = await this.bruteForce.cleanupOldAttempts(ninetyDaysAgo);
685
+ this.logger.log(`Cleaned ${deleted} old brute-force-attempt rows`);
686
+ }
687
+ }
688
+ ```
689
+
690
+ This requires `IBruteForceRepository.deleteOlderThan(beforeDate: Date): Promise<number>` on your repository implementation. Reference Prisma implementation: `return (await this.prisma.bruteForceAttempt.deleteMany({ where: { createdAt: { lt: beforeDate } } })).count;`. Multi-replica deployments should coordinate at the cron layer (advisory lock, leader election) or accept the duplicate-delete cost — `DELETE WHERE createdAt < ?` is idempotent.
691
+
692
+ #### Stay Logged In After Password Change
693
+
694
+ `changePassword` revokes every refresh token for the user (logging out all devices). To keep the current device logged in while logging out the others, compose `changePassword` with `issueAuthSession`:
695
+
696
+ ```typescript
697
+ @Mutation(() => ChangePasswordResponse)
698
+ @UseGuards(JwtAuthGuard)
699
+ async changePassword(
700
+ @CurrentUser() user: User,
701
+ @Args('input') input: ChangePasswordInput,
702
+ @Context() ctx: any,
703
+ ): Promise<ChangePasswordResponse> {
704
+ const result = await this.performChangePassword(
705
+ user.id,
706
+ input.currentPassword,
707
+ input.newPassword,
708
+ );
709
+ // Mint a fresh session for THIS device. Other devices are already revoked.
710
+ // Use the inherited `getResponseFromContext` helper so cookies work under
711
+ // both Apollo (`ctx.res`) and Express/Fastify (`ctx.req.res`).
712
+ const res = this.getResponseFromContext(ctx);
713
+ const tokens = await this.authService.issueAuthSession(user.id, res);
714
+ return { ...result, accessToken: tokens.accessToken, refreshToken: tokens.refreshToken };
715
+ }
716
+ ```
717
+
718
+ `issueAuthSession(userId, res?, realm?)` mints a new access + refresh pair, persists the refresh token, and (when `features.cookieAuth` is enabled and `res` is supplied) sets the auth cookies on the response. The caller is responsible for verifying the user's identity — `issueAuthSession` takes a `userId` and trusts it. Pair it only with flows that have already authenticated the user (`changePassword`, MFA enrollment completion, admin-impersonation reissue, etc.). Emits `SecurityEvent.SESSION_ISSUED`.
719
+
602
720
  ### Password Policy
603
721
 
604
722
  ```typescript
@@ -688,6 +806,7 @@ jwtPayloadFactoryInstance: {
688
806
  | `nodeEnv` | `string` | `'production'` | Environment identifier |
689
807
  | `passwordPolicy` | `PasswordPolicyConfig` | See [Password Policy](#password-policy) | Password strength rules |
690
808
  | `encryptionKey` | `string` | -- | 32-byte hex string for AES-256-GCM (OAuth token encryption) |
809
+ | `bruteForce.ipRateLimit` | `{ maxAttempts, windowMs }` | -- | IP rate-limit policy for `checkIpRateLimit`. When set, `rateLimiterInstance` MUST also be provided explicitly (boot fails with `InvalidAuthConfigException` otherwise). See [IP Rate Limiting](#ip-rate-limiting). |
691
810
 
692
811
  ### Feature Flags (`features`)
693
812
 
@@ -773,7 +892,7 @@ When `email` is provided, it takes precedence over `emailServiceInstance`.
773
892
  | `resourcePermissionRepositoryInstance` | `IResourcePermissionRepository` | `null` |
774
893
  | `jwtPayloadFactoryInstance` | `IJwtPayloadFactory` | `DefaultJwtPayloadFactory` |
775
894
  | `apiKeyRepositoryInstance` | `IApiKeyRepository` | `null` |
776
- | `rateLimiterInstance` | `IRateLimiter` | `InMemoryRateLimiterService` |
895
+ | `rateLimiterInstance` | `IRateLimiter` | `InMemoryRateLimiterService` (Note: this fallback does NOT apply when `bruteForce.ipRateLimit` is configured — boot fails with `InvalidAuthConfigException` and an explicit `rateLimiterInstance` is required. See [IP Rate Limiting](#ip-rate-limiting) above.) |
777
896
  | `realmExtractorInstance` | `IRealmExtractor` | `null` (realms disabled) |
778
897
 
779
898
  ---
@@ -100,6 +100,12 @@ export interface AuthModuleOptions {
100
100
  encryptionKey?: string;
101
101
  passwordPolicy?: PasswordPolicyConfig;
102
102
  rateLimiterInstance?: IRateLimiter;
103
+ bruteForce?: {
104
+ ipRateLimit?: {
105
+ maxAttempts: number;
106
+ windowMs: number;
107
+ };
108
+ };
103
109
  email?: {
104
110
  sender: IEmailSender;
105
111
  from: {
@@ -119,6 +125,7 @@ export interface AuthModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'>
119
125
  useFactory: (...args: any[]) => Promise<AuthModuleOptions> | AuthModuleOptions;
120
126
  inject?: any[];
121
127
  }
128
+ export declare function validateAuthModuleOptions(opts: AuthModuleOptions): void;
122
129
  export { AUTH_MODULE_OPTIONS, USER_REPOSITORY, REFRESH_TOKEN_REPOSITORY, EMAIL_SERVICE, SMS_SERVICE, AUTH_LIFECYCLE_HOOKS, VERIFICATION_REPOSITORY, BRUTE_FORCE_REPOSITORY, BIOMETRIC_REPOSITORY, AUTH_LOGGER, RATE_LIMITER, TENANT_REPOSITORY, TENANT_EXTRACTOR, RESOURCE_PERMISSION_REPOSITORY, JWT_PAYLOAD_FACTORY, API_KEY_REPOSITORY, } from './constants';
123
130
  export declare class AuthModule implements NestModule {
124
131
  configure(consumer: MiddlewareConsumer): void;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var AuthModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.AuthModule = exports.API_KEY_REPOSITORY = exports.JWT_PAYLOAD_FACTORY = exports.RESOURCE_PERMISSION_REPOSITORY = exports.TENANT_EXTRACTOR = exports.TENANT_REPOSITORY = exports.RATE_LIMITER = exports.AUTH_LOGGER = exports.BIOMETRIC_REPOSITORY = exports.BRUTE_FORCE_REPOSITORY = exports.VERIFICATION_REPOSITORY = exports.AUTH_LIFECYCLE_HOOKS = exports.SMS_SERVICE = exports.EMAIL_SERVICE = exports.REFRESH_TOKEN_REPOSITORY = exports.USER_REPOSITORY = exports.AUTH_MODULE_OPTIONS = void 0;
11
+ exports.validateAuthModuleOptions = validateAuthModuleOptions;
11
12
  const common_1 = require("@nestjs/common");
12
13
  const realm_middleware_1 = require("./middleware/realm.middleware");
13
14
  const jwt_1 = require("@nestjs/jwt");
@@ -39,8 +40,31 @@ const api_key_strategy_1 = require("./strategies/api-key.strategy");
39
40
  const default_jwt_payload_factory_1 = require("./services/default-jwt-payload-factory");
40
41
  const constants_1 = require("./constants");
41
42
  const in_memory_rate_limiter_service_1 = require("./services/in-memory-rate-limiter.service");
43
+ const invalid_auth_config_exception_1 = require("./exceptions/invalid-auth-config.exception");
42
44
  const configurable_email_service_1 = require("./services/configurable-email.service");
43
45
  const default_email_template_renderer_1 = require("./services/default-email-template-renderer");
46
+ function validateAuthModuleOptions(opts) {
47
+ const ipRateLimit = opts.bruteForce?.ipRateLimit;
48
+ if (ipRateLimit && !opts.rateLimiterInstance) {
49
+ throw new invalid_auth_config_exception_1.InvalidAuthConfigException('[AuthModule] bruteForce.ipRateLimit is configured but rateLimiterInstance ' +
50
+ 'is undefined. The default InMemoryRateLimiterService is unsafe for ' +
51
+ 'multi-replica deployments (per-replica counters do not coordinate) ' +
52
+ 'and is not auto-applied for IP rate limiting. Provide rateLimiterInstance ' +
53
+ 'explicitly: a Redis-backed implementation for production, or ' +
54
+ '`new InMemoryRateLimiterService()` for single-replica deployments / dev. ' +
55
+ 'To disable IP rate limiting, remove the bruteForce.ipRateLimit slot.');
56
+ }
57
+ if (ipRateLimit) {
58
+ const { maxAttempts, windowMs } = ipRateLimit;
59
+ if (!Number.isInteger(maxAttempts) || maxAttempts <= 0) {
60
+ throw new invalid_auth_config_exception_1.InvalidAuthConfigException(`[AuthModule] bruteForce.ipRateLimit.maxAttempts must be a positive integer; received ${String(maxAttempts)}. Zero would block every request; negative / fractional values are ` +
61
+ 'invalid. Use a positive integer such as 10 (10 attempts per window).');
62
+ }
63
+ if (!Number.isInteger(windowMs) || windowMs <= 0) {
64
+ throw new invalid_auth_config_exception_1.InvalidAuthConfigException(`[AuthModule] bruteForce.ipRateLimit.windowMs must be a positive integer; received ${String(windowMs)}. Use a positive integer in milliseconds such as 60000 (1-minute window).`);
65
+ }
66
+ }
67
+ }
44
68
  var constants_2 = require("./constants");
45
69
  Object.defineProperty(exports, "AUTH_MODULE_OPTIONS", { enumerable: true, get: function () { return constants_2.AUTH_MODULE_OPTIONS; } });
46
70
  Object.defineProperty(exports, "USER_REPOSITORY", { enumerable: true, get: function () { return constants_2.USER_REPOSITORY; } });
@@ -67,6 +91,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
67
91
  provide: constants_1.AUTH_MODULE_OPTIONS,
68
92
  useFactory: async (...args) => {
69
93
  const opts = await options.useFactory(...args);
94
+ validateAuthModuleOptions(opts);
70
95
  if (opts.cookie?.useHostPrefix) {
71
96
  if (opts.cookie.secure === false) {
72
97
  throw new Error('[AuthModule] cookie.useHostPrefix requires cookie.secure to be true (or unset). ' +
@@ -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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"}
@@ -0,0 +1,4 @@
1
+ export declare class InvalidAuthConfigException extends Error {
2
+ constructor(message: string);
3
+ }
4
+ //# sourceMappingURL=invalid-auth-config.exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalid-auth-config.exception.d.ts","sourceRoot":"","sources":["../../src/exceptions/invalid-auth-config.exception.ts"],"names":[],"mappings":"AAkBA,qBAAa,0BAA2B,SAAQ,KAAK;gBAKvC,OAAO,EAAE,MAAM;CAO5B"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidAuthConfigException = void 0;
4
+ class InvalidAuthConfigException extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = 'InvalidAuthConfigException';
8
+ Object.setPrototypeOf(this, InvalidAuthConfigException.prototype);
9
+ }
10
+ }
11
+ exports.InvalidAuthConfigException = InvalidAuthConfigException;
12
+ //# sourceMappingURL=invalid-auth-config.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalid-auth-config.exception.js","sourceRoot":"","sources":["../../src/exceptions/invalid-auth-config.exception.ts"],"names":[],"mappings":";;;AAkBA,MAAa,0BAA2B,SAAQ,KAAK;IAKnD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QAGzC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;CACF;AAZD,gEAYC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.guard.d.ts","sourceRoot":"","sources":["../../src/guards/tenant.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,gBAAgB,EAQjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAc9E,qBACa,WAAY,YAAW,WAAW;IAI3C,OAAO,CAAC,QAAQ,CAAC,SAAS;IACY,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAL3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAGpC,SAAS,EAAE,SAAS,EACkB,eAAe,CAAC,EAAE,gBAAgB,YAAA,EACjC,gBAAgB,CAAC,EAAE,iBAAiB,YAAA;IAGxF,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAiE/D"}
1
+ {"version":3,"file":"tenant.guard.d.ts","sourceRoot":"","sources":["../../src/guards/tenant.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,gBAAgB,EAQjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAc9E,qBACa,WAAY,YAAW,WAAW;IAI3C,OAAO,CAAC,QAAQ,CAAC,SAAS;IACY,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAL3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAGpC,SAAS,EAAE,SAAS,EACkB,eAAe,CAAC,EAAE,gBAAgB,YAAA,EACjC,gBAAgB,CAAC,EAAE,iBAAiB,YAAA;IAGxF,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAmF/D"}
@@ -45,7 +45,15 @@ let TenantGuard = TenantGuard_1 = class TenantGuard {
45
45
  if (!this.tenantExtractor) {
46
46
  throw new common_1.BadRequestException('Tenant ID required');
47
47
  }
48
- const tenantId = this.tenantExtractor.extractTenantId(request);
48
+ let tenantId;
49
+ try {
50
+ const result = this.tenantExtractor.extractTenantId(request);
51
+ tenantId = result instanceof Promise ? await result : result;
52
+ }
53
+ catch (err) {
54
+ this.logger.error(`Tenant extractor failed: ${err instanceof Error ? err.message : String(err)}`, err instanceof Error ? err.stack : undefined);
55
+ throw new common_1.BadRequestException('Tenant ID required');
56
+ }
49
57
  if (!tenantId) {
50
58
  throw new common_1.BadRequestException('Tenant ID required');
51
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.guard.js","sourceRoot":"","sources":["../../src/guards/tenant.guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant.guard.js","sourceRoot":"","sources":["../../src/guards/tenant.guard.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -112,6 +112,7 @@ export * from './exceptions/account-locked.exception';
112
112
  export * from './exceptions/verification.exceptions';
113
113
  export * from './exceptions/oauth.exceptions';
114
114
  export * from './exceptions/password-reset.exceptions';
115
+ export * from './exceptions/invalid-auth-config.exception';
115
116
  export * from './enums/verification-type.enum';
116
117
  export * from './types/oauth.types';
117
118
  export * from './utils/provider-helpers';
@@ -119,4 +120,5 @@ export * from './utils/cookie-options';
119
120
  export * from './utils/escape-html';
120
121
  export * from './utils/execution-context';
121
122
  export * from './utils/request-helpers';
123
+ export * from './utils/ip-hash';
122
124
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -129,6 +129,7 @@ __exportStar(require("./exceptions/account-locked.exception"), exports);
129
129
  __exportStar(require("./exceptions/verification.exceptions"), exports);
130
130
  __exportStar(require("./exceptions/oauth.exceptions"), exports);
131
131
  __exportStar(require("./exceptions/password-reset.exceptions"), exports);
132
+ __exportStar(require("./exceptions/invalid-auth-config.exception"), exports);
132
133
  __exportStar(require("./enums/verification-type.enum"), exports);
133
134
  __exportStar(require("./types/oauth.types"), exports);
134
135
  __exportStar(require("./utils/provider-helpers"), exports);
@@ -136,4 +137,5 @@ __exportStar(require("./utils/cookie-options"), exports);
136
137
  __exportStar(require("./utils/escape-html"), exports);
137
138
  __exportStar(require("./utils/execution-context"), exports);
138
139
  __exportStar(require("./utils/request-helpers"), exports);
140
+ __exportStar(require("./utils/ip-hash"), exports);
139
141
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAYA,gDAA8B;AAC9B,8CAA4B;AAK5B,mEAAiD;AACjD,yEAAuD;AACvD,uEAAqD;AACrD,qEAAmD;AACnD,8EAA4D;AAC5D,yEAAuD;AACvD,kFAAgE;AAChE,qEAAmD;AACnD,iFAA+D;AAC/D,gFAA8D;AAC9D,8EAA4D;AAC5D,gFAA8D;AAC9D,sEAAoD;AACpD,iFAA+D;AAC/D,+EAA6D;AAC7D,2EAAyD;AACzD,0EAAwD;AACxD,yEAAuD;AACvD,wFAAsE;AACtE,6EAA2D;AAC3D,4EAA0D;AAC1D,iFAA+D;AAC/D,sEAAoD;AACpD,+EAA6D;AAK7D,0DAAwC;AACxC,mEAAiD;AACjD,kEAAgD;AAChD,gEAA8C;AAC9C,iEAA+C;AAC/C,4EAA0D;AAE1D,oEAAkD;AAElD,4EAA0D;AAC1D,yEAAuD;AACvD,yEAAuD;AACvD,4EAA0D;AAC1D,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AAKtD,oEAAkD;AAClD,gEAA8C;AAC9C,gEAA8C;AAC9C,8DAA4C;AAC5C,oEAAkD;AAClD,mEAAiD;AACjD,iEAA+C;AAC/C,+DAA6C;AAK7C,8EAA4D;AAC5D,6EAA2D;AAC3D,2EAAyD;AACzD,mEAAiD;AACjD,4EAA0D;AAC1D,wEAAsD;AACtD,uEAAqD;AAKrD,4DAA0C;AAC1C,+DAA6C;AAC7C,iEAA+C;AAC/C,oEAAkD;AAClD,sEAAoD;AACpD,gEAA8C;AAC9C,0EAAwD;AACxD,mEAAiD;AAKjD,iEAA+C;AAG/C,+DAA6C;AAM7C,oDAAkC;AAClC,qDAAmC;AACnC,4DAA0C;AAC1C,qDAAmC;AACnC,4DAA0C;AAC1C,2DAAyC;AACzC,kEAAgD;AAChD,sEAAoD;AACpD,2DAAyC;AACzC,wEAAsD;AACtD,sEAAoD;AACpD,kEAAgD;AAChD,uEAAqD;AACrD,oEAAkD;AAClD,2EAAyD;AACzD,gEAA8C;AAC9C,8DAA4C;AAC5C,6DAA2C;AAC3C,+DAA6C;AAC7C,+DAA6C;AAC7C,yEAAuD;AACvD,iEAA+C;AAC/C,gEAA8C;AAC9C,6EAA2D;AAC3D,8DAA4C;AAC5C,qEAAmD;AACnD,6DAA2C;AAC3C,oEAAkD;AAKlD,sEAAoD;AACpD,gEAA8C;AAC9C,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AACtD,uEAAqD;AACrD,wEAAsD;AAKtD,0DAAwC;AACxC,wDAAsC;AACtC,4DAA0C;AAC1C,6DAA2C;AAC3C,sDAAoC;AAKpC,gEAA8C;AAK9C,gEAAuD;AAA9C,4GAAA,QAAQ,OAAA;AAKjB,wEAAsD;AACtD,uEAAqD;AACrD,gEAA8C;AAC9C,yEAAuD;AAKvD,iEAA+C;AAK/C,sDAAoC;AAKpC,2DAAyC;AACzC,yDAAuC;AACvC,sDAAoC;AACpC,4DAA0C;AAC1C,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAYA,gDAA8B;AAC9B,8CAA4B;AAK5B,mEAAiD;AACjD,yEAAuD;AACvD,uEAAqD;AACrD,qEAAmD;AACnD,8EAA4D;AAC5D,yEAAuD;AACvD,kFAAgE;AAChE,qEAAmD;AACnD,iFAA+D;AAC/D,gFAA8D;AAC9D,8EAA4D;AAC5D,gFAA8D;AAC9D,sEAAoD;AACpD,iFAA+D;AAC/D,+EAA6D;AAC7D,2EAAyD;AACzD,0EAAwD;AACxD,yEAAuD;AACvD,wFAAsE;AACtE,6EAA2D;AAC3D,4EAA0D;AAC1D,iFAA+D;AAC/D,sEAAoD;AACpD,+EAA6D;AAK7D,0DAAwC;AACxC,mEAAiD;AACjD,kEAAgD;AAChD,gEAA8C;AAC9C,iEAA+C;AAC/C,4EAA0D;AAE1D,oEAAkD;AAElD,4EAA0D;AAC1D,yEAAuD;AACvD,yEAAuD;AACvD,4EAA0D;AAC1D,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AAKtD,oEAAkD;AAClD,gEAA8C;AAC9C,gEAA8C;AAC9C,8DAA4C;AAC5C,oEAAkD;AAClD,mEAAiD;AACjD,iEAA+C;AAC/C,+DAA6C;AAK7C,8EAA4D;AAC5D,6EAA2D;AAC3D,2EAAyD;AACzD,mEAAiD;AACjD,4EAA0D;AAC1D,wEAAsD;AACtD,uEAAqD;AAKrD,4DAA0C;AAC1C,+DAA6C;AAC7C,iEAA+C;AAC/C,oEAAkD;AAClD,sEAAoD;AACpD,gEAA8C;AAC9C,0EAAwD;AACxD,mEAAiD;AAKjD,iEAA+C;AAG/C,+DAA6C;AAM7C,oDAAkC;AAClC,qDAAmC;AACnC,4DAA0C;AAC1C,qDAAmC;AACnC,4DAA0C;AAC1C,2DAAyC;AACzC,kEAAgD;AAChD,sEAAoD;AACpD,2DAAyC;AACzC,wEAAsD;AACtD,sEAAoD;AACpD,kEAAgD;AAChD,uEAAqD;AACrD,oEAAkD;AAClD,2EAAyD;AACzD,gEAA8C;AAC9C,8DAA4C;AAC5C,6DAA2C;AAC3C,+DAA6C;AAC7C,+DAA6C;AAC7C,yEAAuD;AACvD,iEAA+C;AAC/C,gEAA8C;AAC9C,6EAA2D;AAC3D,8DAA4C;AAC5C,qEAAmD;AACnD,6DAA2C;AAC3C,oEAAkD;AAKlD,sEAAoD;AACpD,gEAA8C;AAC9C,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AACtD,uEAAqD;AACrD,wEAAsD;AAKtD,0DAAwC;AACxC,wDAAsC;AACtC,4DAA0C;AAC1C,6DAA2C;AAC3C,sDAAoC;AAKpC,gEAA8C;AAK9C,gEAAuD;AAA9C,4GAAA,QAAQ,OAAA;AAKjB,wEAAsD;AACtD,uEAAqD;AACrD,gEAA8C;AAC9C,yEAAuD;AACvD,6EAA2D;AAK3D,iEAA+C;AAK/C,sDAAoC;AAKpC,2DAAyC;AACzC,yDAAuC;AACvC,sDAAoC;AACpC,4DAA0C;AAC1C,0DAAwC;AACxC,kDAAgC"}
@@ -14,6 +14,7 @@ export declare enum SecurityEvent {
14
14
  LOGOUT = "LOGOUT",
15
15
  LOGOUT_SUCCESS = "LOGOUT_SUCCESS",
16
16
  LOGOUT_ALL = "LOGOUT_ALL",
17
+ SESSION_ISSUED = "SESSION_ISSUED",
17
18
  TOKEN_REFRESH = "TOKEN_REFRESH",
18
19
  TOKEN_REFRESH_SUCCESS = "TOKEN_REFRESH_SUCCESS",
19
20
  TOKEN_REFRESH_FAILURE = "TOKEN_REFRESH_FAILURE",
@@ -22,6 +23,7 @@ export declare enum SecurityEvent {
22
23
  PASSWORD_RESET_COMPLETED = "PASSWORD_RESET_COMPLETED",
23
24
  ACCOUNT_LOCKED = "ACCOUNT_LOCKED",
24
25
  ACCOUNT_UNLOCKED = "ACCOUNT_UNLOCKED",
26
+ IP_RATE_LIMIT_EXCEEDED = "IP_RATE_LIMIT_EXCEEDED",
25
27
  VERIFICATION_CODE_SENT = "VERIFICATION_CODE_SENT",
26
28
  VERIFICATION_CODE_VALIDATED = "VERIFICATION_CODE_VALIDATED",
27
29
  VERIFICATION_CODE_FAILED = "VERIFICATION_CODE_FAILED",
@@ -1 +1 @@
1
- {"version":3,"file":"auth-logger.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAK1B,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAKpG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAKD,oBAAY,aAAa;IAEvB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IAGzB,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IAGrD,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IAGrC,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAG/B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IAGnD,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;CACtD"}
1
+ {"version":3,"file":"auth-logger.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAK1B,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAKpG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAKD,oBAAY,aAAa;IAEvB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IAQzB,cAAc,mBAAmB;IAGjC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IAGrD,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IAcrC,sBAAsB,2BAA2B;IAGjD,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAG/B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IAGnD,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;CACtD"}
@@ -11,6 +11,7 @@ var SecurityEvent;
11
11
  SecurityEvent["LOGOUT"] = "LOGOUT";
12
12
  SecurityEvent["LOGOUT_SUCCESS"] = "LOGOUT_SUCCESS";
13
13
  SecurityEvent["LOGOUT_ALL"] = "LOGOUT_ALL";
14
+ SecurityEvent["SESSION_ISSUED"] = "SESSION_ISSUED";
14
15
  SecurityEvent["TOKEN_REFRESH"] = "TOKEN_REFRESH";
15
16
  SecurityEvent["TOKEN_REFRESH_SUCCESS"] = "TOKEN_REFRESH_SUCCESS";
16
17
  SecurityEvent["TOKEN_REFRESH_FAILURE"] = "TOKEN_REFRESH_FAILURE";
@@ -19,6 +20,7 @@ var SecurityEvent;
19
20
  SecurityEvent["PASSWORD_RESET_COMPLETED"] = "PASSWORD_RESET_COMPLETED";
20
21
  SecurityEvent["ACCOUNT_LOCKED"] = "ACCOUNT_LOCKED";
21
22
  SecurityEvent["ACCOUNT_UNLOCKED"] = "ACCOUNT_UNLOCKED";
23
+ SecurityEvent["IP_RATE_LIMIT_EXCEEDED"] = "IP_RATE_LIMIT_EXCEEDED";
22
24
  SecurityEvent["VERIFICATION_CODE_SENT"] = "VERIFICATION_CODE_SENT";
23
25
  SecurityEvent["VERIFICATION_CODE_VALIDATED"] = "VERIFICATION_CODE_VALIDATED";
24
26
  SecurityEvent["VERIFICATION_CODE_FAILED"] = "VERIFICATION_CODE_FAILED";
@@ -1 +1 @@
1
- {"version":3,"file":"auth-logger.interface.js","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":";;;AAoCA,IAAY,aAmDX;AAnDD,WAAY,aAAa;IAEvB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,0CAAyB,CAAA;IAGzB,gDAA+B,CAAA;IAC/B,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAC/C,8DAA6C,CAAA;IAG7C,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IAGrD,kDAAiC,CAAA;IACjC,sDAAqC,CAAA;IAGrC,kEAAiD,CAAA;IACjD,4EAA2D,CAAA;IAC3D,sEAAqD,CAAA;IACrD,wEAAuD,CAAA;IACvD,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,gDAA+B,CAAA;IAG/B,oDAAmC,CAAA;IACnC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,8DAA6C,CAAA;IAC7C,8DAA6C,CAAA;IAC7C,gEAA+C,CAAA;IAC/C,oEAAmD,CAAA;IAGnD,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IACnD,oEAAmD,CAAA;IACnD,0DAAyC,CAAA;IACzC,sEAAqD,CAAA;AACvD,CAAC,EAnDW,aAAa,6BAAb,aAAa,QAmDxB"}
1
+ {"version":3,"file":"auth-logger.interface.js","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":";;;AAoCA,IAAY,aAyEX;AAzED,WAAY,aAAa;IAEvB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,0CAAyB,CAAA;IAQzB,kDAAiC,CAAA;IAGjC,gDAA+B,CAAA;IAC/B,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAC/C,8DAA6C,CAAA;IAG7C,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IAGrD,kDAAiC,CAAA;IACjC,sDAAqC,CAAA;IAcrC,kEAAiD,CAAA;IAGjD,kEAAiD,CAAA;IACjD,4EAA2D,CAAA;IAC3D,sEAAqD,CAAA;IACrD,wEAAuD,CAAA;IACvD,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,gDAA+B,CAAA;IAG/B,oDAAmC,CAAA;IACnC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,8DAA6C,CAAA;IAC7C,8DAA6C,CAAA;IAC7C,gEAA+C,CAAA;IAC/C,oEAAmD,CAAA;IAGnD,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IACnD,oEAAmD,CAAA;IACnD,0DAAyC,CAAA;IACzC,sEAAqD,CAAA;AACvD,CAAC,EAzEW,aAAa,6BAAb,aAAa,QAyExB"}
@@ -7,5 +7,6 @@ export interface IBruteForceRepository {
7
7
  remainingLockoutTime?: number;
8
8
  }>;
9
9
  clearFailedAttempts(userId: string): Promise<void>;
10
+ deleteOlderThan(beforeDate: Date): Promise<number>;
10
11
  }
11
12
  //# sourceMappingURL=brute-force-repository.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brute-force-repository.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/brute-force-repository.interface.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IAMpC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAOvE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAOvD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAO5D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACxC,QAAQ,EAAE,OAAO,CAAC;QAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,CAAC;IAMH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD"}
1
+ {"version":3,"file":"brute-force-repository.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/brute-force-repository.interface.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IAMpC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAOvE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAOvD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAO5D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACxC,QAAQ,EAAE,OAAO,CAAC;QAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,CAAC;IAMH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAoBnD,eAAe,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD"}
@@ -1,4 +1,4 @@
1
1
  export interface IRealmExtractor {
2
- extractRealm(request: Record<string, any>): string | null;
2
+ extractRealm(request: Record<string, any>): string | null | Promise<string | null>;
3
3
  }
4
4
  //# sourceMappingURL=realm-extractor.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"realm-extractor.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/realm-extractor.interface.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,eAAe;IAQ9B,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CAC3D"}
1
+ {"version":3,"file":"realm-extractor.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/realm-extractor.interface.ts"],"names":[],"mappings":"AA6CA,MAAM,WAAW,eAAe;IAwB9B,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACpF"}
@@ -1,4 +1,4 @@
1
1
  export interface ITenantExtractor {
2
- extractTenantId(request: Record<string, any>): string | null;
2
+ extractTenantId(request: Record<string, any>): string | null | Promise<string | null>;
3
3
  }
4
4
  //# sourceMappingURL=tenant-extractor.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-extractor.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/tenant-extractor.interface.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,gBAAgB;IAO/B,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CAC9D"}
1
+ {"version":3,"file":"tenant-extractor.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/tenant-extractor.interface.ts"],"names":[],"mappings":"AA+CA,MAAM,WAAW,gBAAgB;IAyB/B,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACvF"}
@@ -2,7 +2,8 @@ import { NestMiddleware } from '@nestjs/common';
2
2
  import { IRealmExtractor } from '../interfaces/realm-extractor.interface';
3
3
  export declare class RealmMiddleware implements NestMiddleware {
4
4
  private readonly realmExtractor?;
5
+ private readonly logger;
5
6
  constructor(realmExtractor?: IRealmExtractor | undefined);
6
- use(req: Record<string, any>, _res: any, next: () => void): void;
7
+ use(req: Record<string, any>, _res: any, next: () => void): Promise<void>;
7
8
  }
8
9
  //# sourceMappingURL=realm.middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"realm.middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/realm.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAIf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAY1E,qBACa,eAAgB,YAAW,cAAc;IAIlD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAAf,cAAc,CAAC,EAAE,eAAe,YAAA;IAGnD,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI;CAajE"}
1
+ {"version":3,"file":"realm.middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/realm.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAKf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAoB1E,qBACa,eAAgB,YAAW,cAAc;IAMlD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IALlC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAKxC,cAAc,CAAC,EAAE,eAAe,YAAA;IAG7C,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BhF"}
@@ -11,20 +11,30 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
+ var RealmMiddleware_1;
14
15
  Object.defineProperty(exports, "__esModule", { value: true });
15
16
  exports.RealmMiddleware = void 0;
16
17
  const common_1 = require("@nestjs/common");
17
18
  const constants_1 = require("../constants");
18
- let RealmMiddleware = class RealmMiddleware {
19
+ let RealmMiddleware = RealmMiddleware_1 = class RealmMiddleware {
19
20
  constructor(realmExtractor) {
20
21
  this.realmExtractor = realmExtractor;
22
+ this.logger = new common_1.Logger(RealmMiddleware_1.name);
21
23
  }
22
- use(req, _res, next) {
24
+ async use(req, _res, next) {
23
25
  if (!this.realmExtractor) {
24
26
  return next();
25
27
  }
26
- const realm = this.realmExtractor.extractRealm(req);
27
- if (realm === null) {
28
+ let realm;
29
+ try {
30
+ const result = this.realmExtractor.extractRealm(req);
31
+ realm = result instanceof Promise ? await result : result;
32
+ }
33
+ catch (err) {
34
+ this.logger.error(`Realm extractor failed: ${err instanceof Error ? err.message : String(err)}`, err instanceof Error ? err.stack : undefined);
35
+ throw new common_1.BadRequestException('Realm required');
36
+ }
37
+ if (realm === null || realm === undefined) {
28
38
  throw new common_1.BadRequestException('Realm required');
29
39
  }
30
40
  req._realm = realm;
@@ -32,7 +42,7 @@ let RealmMiddleware = class RealmMiddleware {
32
42
  }
33
43
  };
34
44
  exports.RealmMiddleware = RealmMiddleware;
35
- exports.RealmMiddleware = RealmMiddleware = __decorate([
45
+ exports.RealmMiddleware = RealmMiddleware = RealmMiddleware_1 = __decorate([
36
46
  (0, common_1.Injectable)(),
37
47
  __param(0, (0, common_1.Optional)()),
38
48
  __param(0, (0, common_1.Inject)(constants_1.REALM_EXTRACTOR)),
@@ -1 +1 @@
1
- {"version":3,"file":"realm.middleware.js","sourceRoot":"","sources":["../../src/middleware/realm.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAMwB;AAExB,4CAA+C;AAYxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAGmB,cAAgC;QAAhC,mBAAc,GAAd,cAAc,CAAkB;IAChD,CAAC;IAEJ,GAAG,CAAC,GAAwB,EAAE,IAAS,EAAE,IAAgB;QACvD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AApBY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,2BAAe,CAAC,CAAA;;GAHf,eAAe,CAoB3B"}
1
+ {"version":3,"file":"realm.middleware.js","sourceRoot":"","sources":["../../src/middleware/realm.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAOwB;AAExB,4CAA+C;AAoBxC,IAAM,eAAe,uBAArB,MAAM,eAAe;IAG1B,YAGE,cAAiD;QAAhC,mBAAc,GAAd,cAAc,CAAkB;QALlC,WAAM,GAAG,IAAI,eAAM,CAAC,iBAAe,CAAC,IAAI,CAAC,CAAC;IAMxD,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAwB,EAAE,IAAS,EAAE,IAAgB;QAC7D,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,KAAoB,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACrD,KAAK,GAAG,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YAKtB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC7E,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC7C,CAAC;YACF,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AArCY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,2BAAe,CAAC,CAAA;;GALf,eAAe,CAqC3B"}
@@ -11,5 +11,6 @@ export declare class NoOpBruteForceRepository implements IBruteForceRepository {
11
11
  remainingLockoutTime?: number;
12
12
  }>;
13
13
  clearFailedAttempts(userId: string): Promise<void>;
14
+ deleteOlderThan(beforeDate: Date): Promise<number>;
14
15
  }
15
16
  //# sourceMappingURL=noop-brute-force.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"noop-brute-force.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/noop-brute-force.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAYvF,qBACa,wBAAyB,YAAW,qBAAqB;IACpE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IAEpE,OAAO,CAAC,gBAAgB;IAWlB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,gBAAgB,CACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAK1D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzD"}
1
+ {"version":3,"file":"noop-brute-force.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/noop-brute-force.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAYvF,qBACa,wBAAyB,YAAW,qBAAqB;IACpE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IAEpE,OAAO,CAAC,gBAAgB;IAWlB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,gBAAgB,CACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAK1D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,eAAe,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CAIzD"}