@ambushsoftworks/nestjs-auth-graphql 0.6.7 → 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 (86) hide show
  1. package/README.md +205 -2
  2. package/dist/auth.module.d.ts +12 -2
  3. package/dist/auth.module.d.ts.map +1 -1
  4. package/dist/auth.module.js +38 -0
  5. package/dist/auth.module.js.map +1 -1
  6. package/dist/constants.d.ts +1 -0
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +2 -1
  9. package/dist/constants.js.map +1 -1
  10. package/dist/decorators/current-realm.decorator.d.ts +2 -0
  11. package/dist/decorators/current-realm.decorator.d.ts.map +1 -0
  12. package/dist/decorators/current-realm.decorator.js +10 -0
  13. package/dist/decorators/current-realm.decorator.js.map +1 -0
  14. package/dist/dto/jwt-payload.interface.d.ts +1 -0
  15. package/dist/dto/jwt-payload.interface.d.ts.map +1 -1
  16. package/dist/exceptions/invalid-auth-config.exception.d.ts +4 -0
  17. package/dist/exceptions/invalid-auth-config.exception.d.ts.map +1 -0
  18. package/dist/exceptions/invalid-auth-config.exception.js +12 -0
  19. package/dist/exceptions/invalid-auth-config.exception.js.map +1 -0
  20. package/dist/guards/tenant.guard.d.ts.map +1 -1
  21. package/dist/guards/tenant.guard.js +9 -1
  22. package/dist/guards/tenant.guard.js.map +1 -1
  23. package/dist/index.d.ts +5 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +5 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/interfaces/auth-logger.interface.d.ts +2 -0
  28. package/dist/interfaces/auth-logger.interface.d.ts.map +1 -1
  29. package/dist/interfaces/auth-logger.interface.js +2 -0
  30. package/dist/interfaces/auth-logger.interface.js.map +1 -1
  31. package/dist/interfaces/brute-force-repository.interface.d.ts +1 -0
  32. package/dist/interfaces/brute-force-repository.interface.d.ts.map +1 -1
  33. package/dist/interfaces/jwt-payload-factory.interface.d.ts +1 -0
  34. package/dist/interfaces/jwt-payload-factory.interface.d.ts.map +1 -1
  35. package/dist/interfaces/realm-extractor.interface.d.ts +4 -0
  36. package/dist/interfaces/realm-extractor.interface.d.ts.map +1 -0
  37. package/dist/interfaces/realm-extractor.interface.js +3 -0
  38. package/dist/interfaces/realm-extractor.interface.js.map +1 -0
  39. package/dist/interfaces/tenant-extractor.interface.d.ts +1 -1
  40. package/dist/interfaces/tenant-extractor.interface.d.ts.map +1 -1
  41. package/dist/interfaces/user-repository.interface.d.ts +6 -5
  42. package/dist/interfaces/user-repository.interface.d.ts.map +1 -1
  43. package/dist/middleware/realm.middleware.d.ts +9 -0
  44. package/dist/middleware/realm.middleware.d.ts.map +1 -0
  45. package/dist/middleware/realm.middleware.js +51 -0
  46. package/dist/middleware/realm.middleware.js.map +1 -0
  47. package/dist/repositories/noop-brute-force.repository.d.ts +1 -0
  48. package/dist/repositories/noop-brute-force.repository.d.ts.map +1 -1
  49. package/dist/repositories/noop-brute-force.repository.js +4 -0
  50. package/dist/repositories/noop-brute-force.repository.js.map +1 -1
  51. package/dist/resolvers/base-auth.resolver.d.ts +4 -3
  52. package/dist/resolvers/base-auth.resolver.d.ts.map +1 -1
  53. package/dist/resolvers/base-auth.resolver.js +24 -12
  54. package/dist/resolvers/base-auth.resolver.js.map +1 -1
  55. package/dist/resolvers/oauth.controller.d.ts.map +1 -1
  56. package/dist/resolvers/oauth.controller.js +7 -4
  57. package/dist/resolvers/oauth.controller.js.map +1 -1
  58. package/dist/services/auth.service.d.ts +16 -10
  59. package/dist/services/auth.service.d.ts.map +1 -1
  60. package/dist/services/auth.service.js +67 -48
  61. package/dist/services/auth.service.js.map +1 -1
  62. package/dist/services/brute-force-protection.service.d.ts +14 -7
  63. package/dist/services/brute-force-protection.service.d.ts.map +1 -1
  64. package/dist/services/brute-force-protection.service.js +68 -14
  65. package/dist/services/brute-force-protection.service.js.map +1 -1
  66. package/dist/services/default-jwt-payload-factory.d.ts +1 -0
  67. package/dist/services/default-jwt-payload-factory.d.ts.map +1 -1
  68. package/dist/services/default-jwt-payload-factory.js +5 -1
  69. package/dist/services/default-jwt-payload-factory.js.map +1 -1
  70. package/dist/services/verification.service.d.ts +7 -7
  71. package/dist/services/verification.service.d.ts.map +1 -1
  72. package/dist/services/verification.service.js +17 -17
  73. package/dist/services/verification.service.js.map +1 -1
  74. package/dist/strategies/jwt.strategy.d.ts +3 -1
  75. package/dist/strategies/jwt.strategy.d.ts.map +1 -1
  76. package/dist/strategies/jwt.strategy.js +10 -1
  77. package/dist/strategies/jwt.strategy.js.map +1 -1
  78. package/dist/test-utils/mock-repositories.d.ts.map +1 -1
  79. package/dist/test-utils/mock-repositories.js +1 -0
  80. package/dist/test-utils/mock-repositories.js.map +1 -1
  81. package/dist/utils/ip-hash.d.ts +2 -0
  82. package/dist/utils/ip-hash.d.ts.map +1 -0
  83. package/dist/utils/ip-hash.js +11 -0
  84. package/dist/utils/ip-hash.js.map +1 -0
  85. package/examples/full-resolver-template.ts +305 -0
  86. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
@@ -2,19 +2,26 @@ import { IUserRepository } from '../interfaces/user-repository.interface';
2
2
  import { IAuthUser } from '../interfaces/auth-user.interface';
3
3
  import { IAuthLogger } from '../interfaces/auth-logger.interface';
4
4
  import { IBruteForceRepository } from '../interfaces/brute-force-repository.interface';
5
+ import { IRateLimiter } from '../interfaces/rate-limiter.interface';
6
+ import type { AuthModuleOptions } from '../auth.module';
5
7
  export declare class BruteForceProtectionService {
6
8
  private readonly userRepository;
7
9
  private readonly bruteForceRepository;
8
10
  private readonly securityLogger;
11
+ private readonly options;
12
+ private readonly rateLimiter;
9
13
  private readonly logger;
10
- constructor(userRepository: IUserRepository<IAuthUser>, bruteForceRepository: IBruteForceRepository, securityLogger: IAuthLogger);
11
- recordFailedAttempt(email: string, ipAddress: string, userId?: string): Promise<void>;
12
- isAccountLocked(email: string): Promise<boolean>;
14
+ private hasLoggedIpRateLimitDisabled;
15
+ private readonly ipHashSalt;
16
+ constructor(userRepository: IUserRepository<IAuthUser>, bruteForceRepository: IBruteForceRepository, securityLogger: IAuthLogger, options: AuthModuleOptions, rateLimiter: IRateLimiter);
17
+ private resolveIpHashSalt;
18
+ recordFailedAttempt(email: string, ipAddress: string, userId?: string, realm?: string): Promise<void>;
19
+ isAccountLocked(email: string, realm?: string): Promise<boolean>;
13
20
  isAccountLockedById(userId: string): Promise<boolean>;
14
- getRemainingLockoutTime(email: string): Promise<number>;
21
+ getRemainingLockoutTime(email: string, realm?: string): Promise<number>;
15
22
  getRemainingLockoutTimeById(userId: string): Promise<number>;
16
- resetFailedAttempts(email: string): Promise<void>;
17
- checkIpRateLimit(ipAddress: string): Promise<boolean>;
18
- cleanupOldAttempts(): Promise<void>;
23
+ resetFailedAttempts(email: string, realm?: string): Promise<void>;
24
+ checkIpRateLimit(ipAddress: string, realm?: string): Promise<boolean>;
25
+ cleanupOldAttempts(olderThan: Date): Promise<number>;
19
26
  }
20
27
  //# sourceMappingURL=brute-force-protection.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brute-force-protection.service.d.ts","sourceRoot":"","sources":["../../src/services/brute-force-protection.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAiB,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAWvF,qBACa,2BAA2B;IAMpC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAErC,OAAO,CAAC,QAAQ,CAAC,cAAc;IATjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgD;gBAKpD,cAAc,EAAE,eAAe,CAAC,SAAS,CAAC,EAE1C,oBAAoB,EAAE,qBAAqB,EAE3C,cAAc,EAAE,WAAW;IASxC,mBAAmB,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAiDV,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBhD,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUrD,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBvD,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5D,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAarD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAI1C"}
1
+ {"version":3,"file":"brute-force-protection.service.d.ts","sourceRoot":"","sources":["../../src/services/brute-force-protection.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAiB,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAaxD,qBACa,2BAA2B;IA0BpC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAErC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAjC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgD;IAQvE,OAAO,CAAC,4BAA4B,CAAS;IAa7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAIjB,cAAc,EAAE,eAAe,CAAC,SAAS,CAAC,EAE1C,oBAAoB,EAAE,qBAAqB,EAE3C,cAAc,EAAE,WAAW,EAE3B,OAAO,EAAE,iBAAiB,EAE1B,WAAW,EAAE,YAAY;IAuB5C,OAAO,CAAC,iBAAiB;IAqCnB,mBAAmB,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAiDV,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBhE,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUrD,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBvE,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5D,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDjE,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsErE,kBAAkB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CAG3D"}
@@ -16,18 +16,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.BruteForceProtectionService = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const auth_logger_interface_1 = require("../interfaces/auth-logger.interface");
19
+ const constants_1 = require("../constants");
20
+ const ip_hash_1 = require("../utils/ip-hash");
21
+ const invalid_auth_config_exception_1 = require("../exceptions/invalid-auth-config.exception");
19
22
  let BruteForceProtectionService = BruteForceProtectionService_1 = class BruteForceProtectionService {
20
- constructor(userRepository, bruteForceRepository, securityLogger) {
23
+ constructor(userRepository, bruteForceRepository, securityLogger, options, rateLimiter) {
21
24
  this.userRepository = userRepository;
22
25
  this.bruteForceRepository = bruteForceRepository;
23
26
  this.securityLogger = securityLogger;
27
+ this.options = options;
28
+ this.rateLimiter = rateLimiter;
24
29
  this.logger = new common_1.Logger(BruteForceProtectionService_1.name);
30
+ this.hasLoggedIpRateLimitDisabled = false;
31
+ this.ipHashSalt = this.resolveIpHashSalt();
25
32
  }
26
- async recordFailedAttempt(email, ipAddress, userId) {
33
+ resolveIpHashSalt() {
34
+ const explicitSalt = process.env.AUTH_IP_HASH_SALT;
35
+ if (explicitSalt) {
36
+ return explicitSalt;
37
+ }
38
+ if (this.options.jwtSecret) {
39
+ if (this.options.bruteForce?.ipRateLimit) {
40
+ this.logger.log('Falling back to jwtSecret for IP hashing; set AUTH_IP_HASH_SALT for separation of secrets.');
41
+ }
42
+ return this.options.jwtSecret;
43
+ }
44
+ if (this.options.bruteForce?.ipRateLimit) {
45
+ throw new invalid_auth_config_exception_1.InvalidAuthConfigException('[BruteForceProtectionService] bruteForce.ipRateLimit is configured but no salt is available for IP hashing. ' +
46
+ 'Set AUTH_IP_HASH_SALT (recommended — dedicated, rotatable) or provide options.jwtSecret. ' +
47
+ 'Without a salt, IP hashes would be trivially reversible via rainbow tables.');
48
+ }
49
+ return '';
50
+ }
51
+ async recordFailedAttempt(email, ipAddress, userId, realm) {
27
52
  try {
28
53
  let resolvedUserId = userId;
29
54
  if (!resolvedUserId) {
30
- const user = await this.userRepository.findByEmail(email.toLowerCase());
55
+ const user = await this.userRepository.findByEmail(email.toLowerCase(), realm);
31
56
  if (!user) {
32
57
  this.logger.warn(`Failed login attempt for non-existent email: ${email}, IP: ${ipAddress}`);
33
58
  return;
@@ -49,8 +74,8 @@ let BruteForceProtectionService = BruteForceProtectionService_1 = class BruteFor
49
74
  this.logger.error('Failed to record login attempt', error);
50
75
  }
51
76
  }
52
- async isAccountLocked(email) {
53
- const user = await this.userRepository.findByEmail(email.toLowerCase());
77
+ async isAccountLocked(email, realm) {
78
+ const user = await this.userRepository.findByEmail(email.toLowerCase(), realm);
54
79
  if (!user) {
55
80
  return false;
56
81
  }
@@ -61,8 +86,8 @@ let BruteForceProtectionService = BruteForceProtectionService_1 = class BruteFor
61
86
  const lockStatus = await this.bruteForceRepository.checkAccountLock(userId);
62
87
  return lockStatus.isLocked;
63
88
  }
64
- async getRemainingLockoutTime(email) {
65
- const user = await this.userRepository.findByEmail(email.toLowerCase());
89
+ async getRemainingLockoutTime(email, realm) {
90
+ const user = await this.userRepository.findByEmail(email.toLowerCase(), realm);
66
91
  if (!user) {
67
92
  return 0;
68
93
  }
@@ -73,9 +98,9 @@ let BruteForceProtectionService = BruteForceProtectionService_1 = class BruteFor
73
98
  const lockStatus = await this.bruteForceRepository.checkAccountLock(userId);
74
99
  return lockStatus.remainingLockoutTime || 0;
75
100
  }
76
- async resetFailedAttempts(email) {
101
+ async resetFailedAttempts(email, realm) {
77
102
  try {
78
- const user = await this.userRepository.findByEmail(email.toLowerCase());
103
+ const user = await this.userRepository.findByEmail(email.toLowerCase(), realm);
79
104
  if (!user) {
80
105
  return;
81
106
  }
@@ -89,12 +114,39 @@ let BruteForceProtectionService = BruteForceProtectionService_1 = class BruteFor
89
114
  this.logger.error('Failed to reset login attempts', error);
90
115
  }
91
116
  }
92
- async checkIpRateLimit(ipAddress) {
93
- this.logger.warn(`IP rate limiting not implemented - skipping check for ${ipAddress}`);
117
+ async checkIpRateLimit(ipAddress, realm) {
118
+ const config = this.options.bruteForce?.ipRateLimit;
119
+ if (!config) {
120
+ if (!this.hasLoggedIpRateLimitDisabled) {
121
+ this.logger.warn('IP rate limiting is not configured (bruteForce.ipRateLimit). ' +
122
+ 'checkIpRateLimit will always return false. To enable, set ' +
123
+ 'bruteForce.ipRateLimit and provide rateLimiterInstance in ' +
124
+ 'AuthModule.forRootAsync().');
125
+ this.hasLoggedIpRateLimitDisabled = true;
126
+ }
127
+ return false;
128
+ }
129
+ const ipKey = (0, ip_hash_1.hashIp)(ipAddress, this.ipHashSalt);
130
+ const key = realm
131
+ ? `auth:ipRate:${realm}:${ipKey}`
132
+ : `auth:ipRate:${ipKey}`;
133
+ await this.rateLimiter.recordAttempt(key, config.windowMs);
134
+ const result = await this.rateLimiter.checkRateLimit(key, config.maxAttempts, config.windowMs);
135
+ if (!result.allowed) {
136
+ this.securityLogger.log(auth_logger_interface_1.SecurityEvent.IP_RATE_LIMIT_EXCEEDED, {
137
+ ipHash: ipKey,
138
+ realm,
139
+ remainingAttempts: result.remainingAttempts,
140
+ resetAt: result.resetAt,
141
+ maxAttempts: config.maxAttempts,
142
+ windowMs: config.windowMs,
143
+ });
144
+ return true;
145
+ }
94
146
  return false;
95
147
  }
96
- async cleanupOldAttempts() {
97
- this.logger.log('Cleanup of old failed login attempts not implemented');
148
+ async cleanupOldAttempts(olderThan) {
149
+ return this.bruteForceRepository.deleteOlderThan(olderThan);
98
150
  }
99
151
  };
100
152
  exports.BruteForceProtectionService = BruteForceProtectionService;
@@ -103,6 +155,8 @@ exports.BruteForceProtectionService = BruteForceProtectionService = BruteForcePr
103
155
  __param(0, (0, common_1.Inject)('USER_REPOSITORY')),
104
156
  __param(1, (0, common_1.Inject)('BRUTE_FORCE_REPOSITORY')),
105
157
  __param(2, (0, common_1.Inject)('AUTH_LOGGER')),
106
- __metadata("design:paramtypes", [Object, Object, Object])
158
+ __param(3, (0, common_1.Inject)(constants_1.AUTH_MODULE_OPTIONS)),
159
+ __param(4, (0, common_1.Inject)(constants_1.RATE_LIMITER)),
160
+ __metadata("design:paramtypes", [Object, Object, Object, Object, Object])
107
161
  ], BruteForceProtectionService);
108
162
  //# sourceMappingURL=brute-force-protection.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"brute-force-protection.service.js","sourceRoot":"","sources":["../../src/services/brute-force-protection.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brute-force-protection.service.js","sourceRoot":"","sources":["../../src/services/brute-force-protection.service.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare class DefaultJwtPayloadFactory implements IJwtPayloadFactory {
3
3
  createPayload(user: {
4
4
  id: string;
5
5
  email: string;
6
+ realm?: string;
6
7
  }): Record<string, string | number | boolean | null>;
7
8
  extractUserId(payload: Record<string, any>): string;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"default-jwt-payload-factory.d.ts","sourceRoot":"","sources":["../../src/services/default-jwt-payload-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AASjF,qBACa,wBAAyB,YAAW,kBAAkB;IACjE,aAAa,CACX,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAClC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAOnD,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;CAGpD"}
1
+ {"version":3,"file":"default-jwt-payload-factory.d.ts","sourceRoot":"","sources":["../../src/services/default-jwt-payload-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AASjF,qBACa,wBAAyB,YAAW,kBAAkB;IACjE,aAAa,CACX,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAWnD,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;CAGpD"}
@@ -10,10 +10,14 @@ exports.DefaultJwtPayloadFactory = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  let DefaultJwtPayloadFactory = class DefaultJwtPayloadFactory {
12
12
  createPayload(user) {
13
- return {
13
+ const payload = {
14
14
  sub: user.id,
15
15
  email: user.email,
16
16
  };
17
+ if (user.realm !== undefined) {
18
+ payload.realm = user.realm;
19
+ }
20
+ return payload;
17
21
  }
18
22
  extractUserId(payload) {
19
23
  return payload.sub;
@@ -1 +1 @@
1
- {"version":3,"file":"default-jwt-payload-factory.js","sourceRoot":"","sources":["../../src/services/default-jwt-payload-factory.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAWrC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,aAAa,CACX,IAAmC;QAEnC,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,EAAE;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAA4B;QACxC,OAAO,OAAO,CAAC,GAAG,CAAC;IACrB,CAAC;CACF,CAAA;AAbY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAapC"}
1
+ {"version":3,"file":"default-jwt-payload-factory.js","sourceRoot":"","sources":["../../src/services/default-jwt-payload-factory.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAWrC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,aAAa,CACX,IAAmD;QAEnD,MAAM,OAAO,GAAqD;YAChE,GAAG,EAAE,IAAI,CAAC,EAAE;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,OAA4B;QACxC,OAAO,OAAO,CAAC,GAAG,CAAC;IACrB,CAAC;CACF,CAAA;AAjBY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAiBpC"}
@@ -12,10 +12,10 @@ export declare class VerificationService {
12
12
  private readonly expiryMinutes;
13
13
  private readonly maxAttempts;
14
14
  constructor(options: AuthModuleOptions, userRepository: IUserRepository<IAuthUser>, verificationRepository: IVerificationRepository, securityLogger: IAuthLogger);
15
- generateCode(identifier: string, type: 'email' | 'sms' | 'password-reset'): Promise<string>;
16
- validateCode(identifier: string, type: 'email' | 'sms' | 'password-reset', code: string): Promise<boolean>;
17
- invalidateCode(identifier: string, type: 'email' | 'sms' | 'password-reset'): Promise<void>;
18
- hasActiveCode(identifier: string, type: 'email' | 'sms' | 'password-reset'): Promise<boolean>;
15
+ generateCode(identifier: string, type: 'email' | 'sms' | 'password-reset', realm?: string): Promise<string>;
16
+ validateCode(identifier: string, type: 'email' | 'sms' | 'password-reset', code: string, realm?: string): Promise<boolean>;
17
+ invalidateCode(identifier: string, type: 'email' | 'sms' | 'password-reset', realm?: string): Promise<void>;
18
+ hasActiveCode(identifier: string, type: 'email' | 'sms' | 'password-reset', realm?: string): Promise<boolean>;
19
19
  generateCodeForUserId(userId: string, type: 'email' | 'sms'): Promise<string>;
20
20
  validateCodeForUserId(userId: string, type: 'email' | 'sms', code: string): Promise<boolean>;
21
21
  hasActiveCodeForUserId(userId: string, type: 'email' | 'sms'): Promise<boolean>;
@@ -23,14 +23,14 @@ export declare class VerificationService {
23
23
  private _validateCodeInternal;
24
24
  private generateRandomCode;
25
25
  private hashCode;
26
- getCodeEntry(identifier: string, type: 'email' | 'sms' | 'password-reset'): Promise<{
26
+ getCodeEntry(identifier: string, type: 'email' | 'sms' | 'password-reset', realm?: string): Promise<{
27
27
  codeHash: string;
28
28
  expiresAt: Date;
29
29
  attempts: number;
30
30
  } | null>;
31
31
  get verificationMode(): 'code' | 'token';
32
- generateToken(identifier: string, type: 'email' | 'password-reset'): Promise<string>;
33
- verifyToken(identifier: string, type: 'email' | 'password-reset', token: string): Promise<boolean>;
32
+ generateToken(identifier: string, type: 'email' | 'password-reset', realm?: string): Promise<string>;
33
+ verifyToken(identifier: string, type: 'email' | 'password-reset', token: string, realm?: string): Promise<boolean>;
34
34
  buildVerificationUrl(token: string, type: 'email' | 'password-reset', email: string): string;
35
35
  private hashToken;
36
36
  private resolveUser;
@@ -1 +1 @@
1
- {"version":3,"file":"verification.service.d.ts","sourceRoot":"","sources":["../../src/services/verification.service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAiB,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAiC9D,qBACa,mBAAmB;IAMC,OAAO,CAAC,OAAO;IAE5C,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAEvC,OAAO,CAAC,cAAc;IAXxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAM;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAK;gBAGM,OAAO,EAAE,iBAAiB,EAE9C,cAAc,EAAE,eAAe,CAAC,SAAS,CAAC,EAE1C,sBAAsB,EAAE,uBAAuB,EAExD,cAAc,EAAE,WAAW;IAW/B,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAuB3F,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,gBAAgB,EACxC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IAgBb,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB3F,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0B7F,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB7E,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GAAG,KAAK,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IAmBb,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;YA2BvE,qBAAqB;YAwCrB,qBAAqB;IAyHnC,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,QAAQ;IAYV,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,gBAAgB,GACvC,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAsC1E,IAAI,gBAAgB,IAAI,MAAM,GAAG,OAAO,CAEvC;IAYK,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GAAG,gBAAgB,GAC/B,OAAO,CAAC,MAAM,CAAC;IAkDZ,WAAW,CACf,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GAAG,gBAAgB,EAChC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;IA4EnB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAmB5F,OAAO,CAAC,SAAS;YAUH,WAAW;IASzB,OAAO,CAAC,mBAAmB;CAO5B"}
1
+ {"version":3,"file":"verification.service.d.ts","sourceRoot":"","sources":["../../src/services/verification.service.ts"],"names":[],"mappings":"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"}
@@ -28,30 +28,30 @@ let VerificationService = class VerificationService {
28
28
  this.expiryMinutes = 15;
29
29
  this.maxAttempts = 3;
30
30
  }
31
- async generateCode(identifier, type) {
32
- const user = await this.resolveUser(identifier, type);
31
+ async generateCode(identifier, type, realm) {
32
+ const user = await this.resolveUser(identifier, type, realm);
33
33
  if (!user) {
34
34
  throw new common_1.BadRequestException('User not found');
35
35
  }
36
36
  return this._generateAndStoreCode(user, type);
37
37
  }
38
- async validateCode(identifier, type, code) {
39
- const user = await this.resolveUser(identifier, type);
38
+ async validateCode(identifier, type, code, realm) {
39
+ const user = await this.resolveUser(identifier, type, realm);
40
40
  if (!user) {
41
41
  throw new common_1.UnauthorizedException('User not found');
42
42
  }
43
43
  return this._validateCodeInternal(user, type, code);
44
44
  }
45
- async invalidateCode(identifier, type) {
46
- const user = await this.resolveUser(identifier, type);
45
+ async invalidateCode(identifier, type, realm) {
46
+ const user = await this.resolveUser(identifier, type, realm);
47
47
  if (!user) {
48
48
  return;
49
49
  }
50
50
  const repositoryType = this.mapToRepositoryType(type);
51
51
  await this.verificationRepository.clearVerificationCode(user.id, repositoryType);
52
52
  }
53
- async hasActiveCode(identifier, type) {
54
- const user = await this.resolveUser(identifier, type);
53
+ async hasActiveCode(identifier, type, realm) {
54
+ const user = await this.resolveUser(identifier, type, realm);
55
55
  if (!user) {
56
56
  return false;
57
57
  }
@@ -161,12 +161,12 @@ let VerificationService = class VerificationService {
161
161
  hmac.update(code);
162
162
  return hmac.digest('hex');
163
163
  }
164
- async getCodeEntry(identifier, type) {
164
+ async getCodeEntry(identifier, type, realm) {
165
165
  const nodeEnv = this.options.nodeEnv || 'production';
166
166
  if (nodeEnv !== 'development') {
167
167
  throw new common_1.BadRequestException('Only available in development');
168
168
  }
169
- const user = await this.resolveUser(identifier, type);
169
+ const user = await this.resolveUser(identifier, type, realm);
170
170
  if (!user) {
171
171
  return null;
172
172
  }
@@ -184,8 +184,8 @@ let VerificationService = class VerificationService {
184
184
  get verificationMode() {
185
185
  return this.options.features?.verificationMode ?? 'code';
186
186
  }
187
- async generateToken(identifier, type) {
188
- const user = await this.resolveUser(identifier, type);
187
+ async generateToken(identifier, type, realm) {
188
+ const user = await this.resolveUser(identifier, type, realm);
189
189
  if (!user) {
190
190
  throw new common_1.BadRequestException('User not found');
191
191
  }
@@ -202,8 +202,8 @@ let VerificationService = class VerificationService {
202
202
  });
203
203
  return rawToken;
204
204
  }
205
- async verifyToken(identifier, type, token) {
206
- const user = await this.resolveUser(identifier, type);
205
+ async verifyToken(identifier, type, token, realm) {
206
+ const user = await this.resolveUser(identifier, type, realm);
207
207
  if (!user) {
208
208
  throw new common_1.UnauthorizedException('User not found');
209
209
  }
@@ -260,10 +260,10 @@ let VerificationService = class VerificationService {
260
260
  hashToken(token) {
261
261
  return (0, crypto_1.createHash)('sha256').update(token).digest('hex');
262
262
  }
263
- async resolveUser(identifier, type) {
263
+ async resolveUser(identifier, type, realm) {
264
264
  return type === 'email' || type === 'password-reset'
265
- ? this.userRepository.findByEmail(identifier.toLowerCase())
266
- : this.userRepository.findByPhoneNumber(identifier);
265
+ ? this.userRepository.findByEmail(identifier.toLowerCase(), realm)
266
+ : this.userRepository.findByPhoneNumber(identifier, realm);
267
267
  }
268
268
  mapToRepositoryType(type) {
269
269
  switch (type) {
@@ -1 +1 @@
1
- {"version":3,"file":"verification.service.js","sourceRoot":"","sources":["../../src/services/verification.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification.service.js","sourceRoot":"","sources":["../../src/services/verification.service.ts"],"names":[],"mappings":"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"}