@ambushsoftworks/nestjs-auth-graphql 0.16.0 → 0.17.0-rc.2

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/CHANGELOG.md +113 -0
  2. package/README.md +112 -6
  3. package/dist/auth.module.d.ts +1 -0
  4. package/dist/auth.module.d.ts.map +1 -1
  5. package/dist/auth.module.js +7 -0
  6. package/dist/auth.module.js.map +1 -1
  7. package/dist/dto/auth-response.dto.d.ts +2 -0
  8. package/dist/dto/auth-response.dto.d.ts.map +1 -1
  9. package/dist/dto/passkey.dto.d.ts +25 -0
  10. package/dist/dto/passkey.dto.d.ts.map +1 -1
  11. package/dist/exceptions/passkey.exceptions.d.ts +24 -0
  12. package/dist/exceptions/passkey.exceptions.d.ts.map +1 -1
  13. package/dist/exceptions/passkey.exceptions.js +65 -1
  14. package/dist/exceptions/passkey.exceptions.js.map +1 -1
  15. package/dist/exceptions/password-reset.exceptions.d.ts +3 -0
  16. package/dist/exceptions/password-reset.exceptions.d.ts.map +1 -1
  17. package/dist/exceptions/password-reset.exceptions.js +7 -1
  18. package/dist/exceptions/password-reset.exceptions.js.map +1 -1
  19. package/dist/exceptions/step-up.exceptions.d.ts +1 -1
  20. package/dist/exceptions/step-up.exceptions.d.ts.map +1 -1
  21. package/dist/exceptions/step-up.exceptions.js +1 -5
  22. package/dist/exceptions/step-up.exceptions.js.map +1 -1
  23. package/dist/exceptions/verification.exceptions.d.ts +4 -1
  24. package/dist/exceptions/verification.exceptions.d.ts.map +1 -1
  25. package/dist/exceptions/verification.exceptions.js +14 -6
  26. package/dist/exceptions/verification.exceptions.js.map +1 -1
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +1 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/interfaces/auth-logger.interface.d.ts +2 -0
  32. package/dist/interfaces/auth-logger.interface.d.ts.map +1 -1
  33. package/dist/interfaces/auth-logger.interface.js +2 -0
  34. package/dist/interfaces/auth-logger.interface.js.map +1 -1
  35. package/dist/interfaces/email-service.interface.d.ts +1 -0
  36. package/dist/interfaces/email-service.interface.d.ts.map +1 -1
  37. package/dist/interfaces/email-template-renderer.interface.d.ts +5 -0
  38. package/dist/interfaces/email-template-renderer.interface.d.ts.map +1 -1
  39. package/dist/interfaces/passkey-repository.interface.d.ts +1 -1
  40. package/dist/interfaces/passkey-repository.interface.d.ts.map +1 -1
  41. package/dist/interfaces/passkey-repository.interface.js.map +1 -1
  42. package/dist/resolvers/base-auth.resolver.d.ts +7 -1
  43. package/dist/resolvers/base-auth.resolver.d.ts.map +1 -1
  44. package/dist/resolvers/base-auth.resolver.js +28 -2
  45. package/dist/resolvers/base-auth.resolver.js.map +1 -1
  46. package/dist/resolvers/oauth.controller.d.ts +2 -0
  47. package/dist/resolvers/oauth.controller.d.ts.map +1 -1
  48. package/dist/resolvers/oauth.controller.js +16 -5
  49. package/dist/resolvers/oauth.controller.js.map +1 -1
  50. package/dist/services/auth.service.d.ts +21 -21
  51. package/dist/services/auth.service.d.ts.map +1 -1
  52. package/dist/services/auth.service.js +120 -133
  53. package/dist/services/auth.service.js.map +1 -1
  54. package/dist/services/brute-force-protection.service.d.ts +4 -0
  55. package/dist/services/brute-force-protection.service.d.ts.map +1 -1
  56. package/dist/services/brute-force-protection.service.js +9 -3
  57. package/dist/services/brute-force-protection.service.js.map +1 -1
  58. package/dist/services/configurable-email.service.d.ts +1 -0
  59. package/dist/services/configurable-email.service.d.ts.map +1 -1
  60. package/dist/services/configurable-email.service.js +18 -0
  61. package/dist/services/configurable-email.service.js.map +1 -1
  62. package/dist/services/default-email-template-renderer.d.ts +5 -0
  63. package/dist/services/default-email-template-renderer.d.ts.map +1 -1
  64. package/dist/services/default-email-template-renderer.js +31 -0
  65. package/dist/services/default-email-template-renderer.js.map +1 -1
  66. package/dist/services/passkey-signup-token.service.d.ts +32 -0
  67. package/dist/services/passkey-signup-token.service.d.ts.map +1 -0
  68. package/dist/services/passkey-signup-token.service.js +102 -0
  69. package/dist/services/passkey-signup-token.service.js.map +1 -0
  70. package/dist/services/passkey.service.d.ts +53 -1
  71. package/dist/services/passkey.service.d.ts.map +1 -1
  72. package/dist/services/passkey.service.js +265 -5
  73. package/dist/services/passkey.service.js.map +1 -1
  74. package/dist/services/step-up-token.service.d.ts +1 -1
  75. package/dist/services/step-up-token.service.d.ts.map +1 -1
  76. package/dist/services/step-up-token.service.js.map +1 -1
  77. package/dist/services/step-up.service.d.ts.map +1 -1
  78. package/dist/services/step-up.service.js +8 -1
  79. package/dist/services/step-up.service.js.map +1 -1
  80. package/dist/services/verification.service.d.ts.map +1 -1
  81. package/dist/services/verification.service.js +9 -8
  82. package/dist/services/verification.service.js.map +1 -1
  83. package/dist/testing/passkey-repository.contract.d.ts.map +1 -1
  84. package/dist/testing/passkey-repository.contract.js +26 -0
  85. package/dist/testing/passkey-repository.contract.js.map +1 -1
  86. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.controller.js","sourceRoot":"","sources":["../../src/resolvers/oauth.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.controller.js","sourceRoot":"","sources":["../../src/resolvers/oauth.controller.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { JwtService } from '@nestjs/jwt';
2
+ import { StepUpMethod, StepUpTokenService } from './step-up-token.service';
2
3
  import { RefreshTokenService } from './refresh-token.service';
3
4
  import { BruteForceProtectionService } from './brute-force-protection.service';
4
5
  import { VerificationService } from './verification.service';
@@ -17,6 +18,13 @@ import { IPhoneVerificationUser } from '../dto/phone-verification-response.dto';
17
18
  import { IAuthUser } from '../interfaces/auth-user.interface';
18
19
  import { SocialProvider } from '../utils/provider-helpers';
19
20
  import type { AuthModuleOptions } from '../auth.module';
21
+ export interface AuthSessionResult {
22
+ accessToken: string;
23
+ refreshToken: string;
24
+ user: IAuthUser;
25
+ stepUpToken?: string;
26
+ stepUpExpiresAt?: Date;
27
+ }
20
28
  export declare class AuthService {
21
29
  private userRepository;
22
30
  private refreshTokenRepository;
@@ -31,6 +39,7 @@ export declare class AuthService {
31
39
  private emailService;
32
40
  private smsService;
33
41
  private rateLimiter;
42
+ private readonly stepUpTokens?;
34
43
  private readonly logger;
35
44
  private readonly passwordValidationService;
36
45
  private readonly bcryptRounds;
@@ -38,17 +47,9 @@ export declare class AuthService {
38
47
  private readonly jwtPayloadFactory;
39
48
  private readonly isUserActive;
40
49
  private static readonly DUMMY_HASH;
41
- constructor(userRepository: IUserRepository<IAuthUser>, refreshTokenRepository: IRefreshTokenRepository, jwtService: JwtService, refreshTokenService: RefreshTokenService, bruteForceProtection: BruteForceProtectionService, verificationService: VerificationService, oauthLinkingTokenService: OAuthLinkingTokenService, facebookStrategy: FacebookStrategy, securityLogger: IAuthLogger, lifecycleHooks: IAuthLifecycleHooks<IAuthUser>, emailService: IEmailService, smsService: ISmsService, authModuleOptions: AuthModuleOptions, rateLimiter: IRateLimiter, jwtPayloadFactory?: IJwtPayloadFactory);
42
- signup(email: string, password: string, realm?: string): Promise<{
43
- accessToken: string;
44
- refreshToken: string;
45
- user: IAuthUser;
46
- }>;
47
- login(email: string, password: string, ipAddress?: string, realm?: string): Promise<{
48
- accessToken: string;
49
- refreshToken: string;
50
- user: IAuthUser;
51
- }>;
50
+ constructor(userRepository: IUserRepository<IAuthUser>, refreshTokenRepository: IRefreshTokenRepository, jwtService: JwtService, refreshTokenService: RefreshTokenService, bruteForceProtection: BruteForceProtectionService, verificationService: VerificationService, oauthLinkingTokenService: OAuthLinkingTokenService, facebookStrategy: FacebookStrategy, securityLogger: IAuthLogger, lifecycleHooks: IAuthLifecycleHooks<IAuthUser>, emailService: IEmailService, smsService: ISmsService, authModuleOptions: AuthModuleOptions, rateLimiter: IRateLimiter, jwtPayloadFactory?: IJwtPayloadFactory, stepUpTokens?: StepUpTokenService | undefined);
51
+ signup(email: string, password: string, realm?: string): Promise<AuthSessionResult>;
52
+ login(email: string, password: string, ipAddress?: string, realm?: string): Promise<AuthSessionResult>;
52
53
  refreshToken(refreshToken: string, ipAddress?: string, realm?: string): Promise<{
53
54
  accessToken: string;
54
55
  refreshToken: string;
@@ -69,6 +70,8 @@ export declare class AuthService {
69
70
  success: boolean;
70
71
  message: string;
71
72
  }>;
73
+ private enforceEmailCooldown;
74
+ private inBackground;
72
75
  sendPhoneVerification(userId: string, phoneNumber: string, countryCode?: string, realm?: string): Promise<{
73
76
  success: boolean;
74
77
  message: string;
@@ -98,16 +101,8 @@ export declare class AuthService {
98
101
  emailVerified: boolean;
99
102
  firstName?: string;
100
103
  lastName?: string;
101
- }, _ipAddress?: string, realm?: string): Promise<{
102
- accessToken: string;
103
- refreshToken: string;
104
- user: IAuthUser;
105
- }>;
106
- completeFacebookSignUp(fallbackToken: string, email: string, accessToken: string, realm?: string): Promise<{
107
- accessToken: string;
108
- refreshToken: string;
109
- user: IAuthUser;
110
- }>;
104
+ }, _ipAddress?: string, realm?: string): Promise<AuthSessionResult>;
105
+ completeFacebookSignUp(fallbackToken: string, email: string, accessToken: string, realm?: string): Promise<AuthSessionResult>;
111
106
  unlinkSocialAccount(userId: string, provider: SocialProvider): Promise<{
112
107
  success: boolean;
113
108
  message: string;
@@ -147,6 +142,11 @@ export declare class AuthService {
147
142
  maskPhoneNumber(phone: string): string;
148
143
  private generateToken;
149
144
  private assertUserActive;
145
+ private issueSessionWithStepUp;
146
+ stepUpForLogin(userId: string, realm: string | undefined, method: StepUpMethod): Promise<{
147
+ stepUpToken?: string;
148
+ stepUpExpiresAt?: Date;
149
+ }>;
150
150
  private generateTokenPairAndStore;
151
151
  }
152
152
  //# sourceMappingURL=auth.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,10 @@ exports.AuthService = void 0;
50
50
  const common_1 = require("@nestjs/common");
51
51
  const jwt_1 = require("@nestjs/jwt");
52
52
  const account_locked_exception_1 = require("../exceptions/account-locked.exception");
53
+ const password_reset_exceptions_1 = require("../exceptions/password-reset.exceptions");
54
+ const verification_exceptions_1 = require("../exceptions/verification.exceptions");
55
+ const ip_hash_1 = require("../utils/ip-hash");
56
+ const step_up_token_service_1 = require("./step-up-token.service");
53
57
  const coded_http_exception_1 = require("../exceptions/coded-http.exception");
54
58
  const account_inactive_exception_1 = require("../exceptions/account-inactive.exception");
55
59
  const cookies_1 = require("../utils/cookies");
@@ -71,7 +75,7 @@ const provider_helpers_1 = require("../utils/provider-helpers");
71
75
  const cookie_options_1 = require("../utils/cookie-options");
72
76
  const personal_data_1 = require("../utils/personal-data");
73
77
  let AuthService = AuthService_1 = class AuthService {
74
- constructor(userRepository, refreshTokenRepository, jwtService, refreshTokenService, bruteForceProtection, verificationService, oauthLinkingTokenService, facebookStrategy, securityLogger, lifecycleHooks, emailService, smsService, authModuleOptions, rateLimiter, jwtPayloadFactory) {
78
+ constructor(userRepository, refreshTokenRepository, jwtService, refreshTokenService, bruteForceProtection, verificationService, oauthLinkingTokenService, facebookStrategy, securityLogger, lifecycleHooks, emailService, smsService, authModuleOptions, rateLimiter, jwtPayloadFactory, stepUpTokens) {
75
79
  this.userRepository = userRepository;
76
80
  this.refreshTokenRepository = refreshTokenRepository;
77
81
  this.jwtService = jwtService;
@@ -85,6 +89,7 @@ let AuthService = AuthService_1 = class AuthService {
85
89
  this.emailService = emailService;
86
90
  this.smsService = smsService;
87
91
  this.rateLimiter = rateLimiter;
92
+ this.stepUpTokens = stepUpTokens;
88
93
  this.logger = new common_1.Logger(AuthService_1.name);
89
94
  this.authModuleOptions = authModuleOptions;
90
95
  this.bcryptRounds = authModuleOptions?.bcryptRounds ?? 12;
@@ -153,16 +158,19 @@ let AuthService = AuthService_1 = class AuthService {
153
158
  const errorStack = error instanceof Error ? error.stack : undefined;
154
159
  this.logger.error(`Failed to send verification email for user ${user.id}`, errorStack);
155
160
  }
156
- const { accessToken, refreshToken } = await this.generateTokenPairAndStore(user, realm);
157
- return { accessToken, refreshToken, user };
161
+ return this.issueSessionWithStepUp(user, realm, 'password');
158
162
  }
159
163
  async login(email, password, ipAddress, realm) {
160
164
  this.logger.log(`[AUTH_SERVICE] Login started (${(0, personal_data_1.emailForLog)(email)})`);
161
- if (ipAddress && (await this.bruteForceProtection.checkIpRateLimit(ipAddress, realm))) {
162
- throw new coded_http_exception_1.CodedHttpException({
163
- message: 'Too many login attempts from this IP address. Please try again later.',
164
- code: 'RATE_LIMIT_EXCEEDED',
165
- }, common_1.HttpStatus.TOO_MANY_REQUESTS);
165
+ if (ipAddress) {
166
+ const ipLimit = await this.bruteForceProtection.checkIpRateLimitWithRetry(ipAddress, realm);
167
+ if (ipLimit.limited) {
168
+ throw new coded_http_exception_1.CodedHttpException({
169
+ message: 'Too many login attempts from this IP address. Please try again later.',
170
+ code: 'RATE_LIMIT_EXCEEDED',
171
+ retryAfterSeconds: ipLimit.retryAfterSeconds,
172
+ }, common_1.HttpStatus.TOO_MANY_REQUESTS);
173
+ }
166
174
  }
167
175
  const user = await this.userRepository.findByEmail(email, realm);
168
176
  if (user && await this.bruteForceProtection.isAccountLockedById(user.id)) {
@@ -213,8 +221,7 @@ let AuthService = AuthService_1 = class AuthService {
213
221
  if (this.lifecycleHooks.onLogin) {
214
222
  await this.lifecycleHooks.onLogin(user);
215
223
  }
216
- const { accessToken, refreshToken } = await this.generateTokenPairAndStore(user, realm);
217
- return { accessToken, refreshToken, user };
224
+ return this.issueSessionWithStepUp(user, realm, 'password');
218
225
  }
219
226
  async refreshToken(refreshToken, ipAddress, realm) {
220
227
  try {
@@ -369,16 +376,18 @@ let AuthService = AuthService_1 = class AuthService {
369
376
  }
370
377
  async verifyEmail(email, code, realm) {
371
378
  const user = await this.userRepository.findByEmail(email, realm);
372
- if (!user) {
373
- throw new common_1.UnauthorizedException('Invalid email address');
379
+ try {
380
+ if (!user || user.emailVerified) {
381
+ throw new verification_exceptions_1.EmailVerificationCodeInvalidException();
382
+ }
383
+ await this.verificationService.verifyCredential(email, 'email', code, realm);
374
384
  }
375
- if (user.emailVerified) {
376
- return {
377
- success: true,
378
- message: 'Email is already verified',
379
- };
385
+ catch (error) {
386
+ if (error instanceof common_1.HttpException && error.getStatus() < 500) {
387
+ throw new verification_exceptions_1.EmailVerificationCodeInvalidException();
388
+ }
389
+ throw error;
380
390
  }
381
- await this.verificationService.verifyCredential(email, 'email', code, realm);
382
391
  await this.userRepository.markEmailVerified(user.id);
383
392
  if (this.lifecycleHooks.onEmailVerified) {
384
393
  await this.lifecycleHooks.onEmailVerified(user);
@@ -390,43 +399,37 @@ let AuthService = AuthService_1 = class AuthService {
390
399
  };
391
400
  }
392
401
  async resendVerificationEmail(email, realm) {
402
+ await this.enforceEmailCooldown('email-verification', email, realm, (retryAfterSeconds) => new verification_exceptions_1.VerificationEmailRateLimitException(retryAfterSeconds));
393
403
  const user = await this.userRepository.findByEmail(email, realm);
394
- if (!user) {
395
- throw new common_1.UnauthorizedException('Invalid email address');
396
- }
397
- if (user.emailVerified) {
398
- return {
399
- success: true,
400
- message: 'Email is already verified',
401
- };
402
- }
403
- if (user.emailVerificationSentAt) {
404
- const timeSinceLastSent = Date.now() - user.emailVerificationSentAt.getTime();
405
- const cooldownMs = 60 * 1000;
406
- if (timeSinceLastSent < cooldownMs) {
407
- const retryAfterSeconds = Math.ceil((cooldownMs - timeSinceLastSent) / 1000);
408
- const { VerificationEmailRateLimitException } = await Promise.resolve().then(() => __importStar(require('../exceptions/verification.exceptions')));
409
- throw new VerificationEmailRateLimitException(retryAfterSeconds);
410
- }
411
- }
412
- await this.verificationService.invalidateCode(email, 'email', realm);
413
- const verification = await this.verificationService.issueCredential(email, 'email', realm);
414
- try {
415
- await this.emailService.sendVerificationEmail(email, verification.credential, verification.expiresInMinutes, verification.url);
416
- await this.userRepository.update(user.id, {
417
- emailVerificationSentAt: new Date(),
404
+ if (user && !user.emailVerified) {
405
+ this.inBackground(`resend verification email for user ${user.id}`, async () => {
406
+ await this.verificationService.invalidateCode(email, 'email', realm);
407
+ const verification = await this.verificationService.issueCredential(email, 'email', realm);
408
+ await this.emailService.sendVerificationEmail(email, verification.credential, verification.expiresInMinutes, verification.url);
409
+ await this.userRepository.update(user.id, { emailVerificationSentAt: new Date() });
410
+ this.logger.log(`Verification email resent for user ${user.id}`);
418
411
  });
419
- this.logger.log(`Verification email resent for user ${user.id}`);
420
- return {
421
- success: true,
422
- message: 'Verification email sent successfully',
423
- };
424
- }
425
- catch (error) {
426
- const errorStack = error instanceof Error ? error.stack : undefined;
427
- this.logger.error(`Failed to resend verification email for user ${user.id}`, errorStack);
428
- throw new common_1.HttpException('Failed to send verification email. Please try again later.', common_1.HttpStatus.INTERNAL_SERVER_ERROR);
429
412
  }
413
+ return {
414
+ success: true,
415
+ message: 'If this address needs verifying, a new verification email has been sent.',
416
+ };
417
+ }
418
+ async enforceEmailCooldown(kind, email, realm, refusal) {
419
+ const salt = process.env.AUTH_IP_HASH_SALT || this.authModuleOptions?.jwtSecret || '';
420
+ const key = `auth:${kind}:cooldown:${realm ? `${realm}:` : ''}${(0, ip_hash_1.hashIp)(email.toLowerCase(), salt)}`;
421
+ const { allowed, resetAt } = await this.rateLimiter.checkRateLimit(key, 1, 60_000);
422
+ if (!allowed) {
423
+ throw refusal(Math.max(1, Math.ceil((resetAt.getTime() - Date.now()) / 1000)));
424
+ }
425
+ await this.rateLimiter.recordAttempt(key, 60_000);
426
+ }
427
+ inBackground(what, work) {
428
+ Promise.resolve()
429
+ .then(work)
430
+ .catch((error) => {
431
+ this.securityLogger.error(`Background ${what} failed: ${error instanceof Error ? error.message : String(error)}`, error instanceof Error ? error.stack : String(error), 'AuthService');
432
+ });
430
433
  }
431
434
  async sendPhoneVerification(userId, phoneNumber, countryCode, realm) {
432
435
  const user = await this.userRepository.findById(userId);
@@ -628,8 +631,7 @@ let AuthService = AuthService_1 = class AuthService {
628
631
  if (this.lifecycleHooks.onLogin) {
629
632
  await this.lifecycleHooks.onLogin(user);
630
633
  }
631
- const { accessToken, refreshToken } = await this.generateTokenPairAndStore(user, realm);
632
- return { accessToken, refreshToken, user };
634
+ return this.issueSessionWithStepUp(user, realm, 'oauth');
633
635
  }
634
636
  user = await this.userRepository.findByEmail(profile.email, realm);
635
637
  if (user) {
@@ -661,8 +663,7 @@ let AuthService = AuthService_1 = class AuthService {
661
663
  if (this.lifecycleHooks.onLogin) {
662
664
  await this.lifecycleHooks.onLogin(user);
663
665
  }
664
- const { accessToken, refreshToken } = await this.generateTokenPairAndStore(user, realm);
665
- return { accessToken, refreshToken, user };
666
+ return this.issueSessionWithStepUp(user, realm, 'oauth');
666
667
  }
667
668
  this.logger.log(`[AUTH_SERVICE] Creating new OAuth user (${(0, personal_data_1.emailForLog)(profile.email)})`);
668
669
  const providerEnum = auth_user_interface_1.AuthProvider[provider.toUpperCase()];
@@ -680,8 +681,7 @@ let AuthService = AuthService_1 = class AuthService {
680
681
  await this.lifecycleHooks.onSignup(newUser);
681
682
  }
682
683
  this.logger.log(`[AUTH_SERVICE] Lifecycle hooks completed for user: ${newUser.id}`);
683
- const { accessToken, refreshToken } = await this.generateTokenPairAndStore(newUser, realm);
684
- return { accessToken, refreshToken, user: newUser };
684
+ return this.issueSessionWithStepUp(newUser, realm, 'oauth');
685
685
  }
686
686
  async completeFacebookSignUp(fallbackToken, email, accessToken, realm) {
687
687
  this.logger.log(`[AUTH_SERVICE] ===== COMPLETE FACEBOOK SIGN-UP =====`);
@@ -743,13 +743,9 @@ let AuthService = AuthService_1 = class AuthService {
743
743
  if (this.lifecycleHooks.onLogin) {
744
744
  await this.lifecycleHooks.onLogin(linkedUser);
745
745
  }
746
- const { accessToken: jwtAccessToken, refreshToken } = await this.generateTokenPairAndStore(linkedUser, realm);
746
+ const session = await this.issueSessionWithStepUp(linkedUser, realm, 'oauth');
747
747
  this.logger.log(`[AUTH_SERVICE] Facebook account linking complete for user: ${linkedUser.id}`);
748
- return {
749
- accessToken: jwtAccessToken,
750
- refreshToken,
751
- user: linkedUser,
752
- };
748
+ return session;
753
749
  }
754
750
  this.logger.log(`[AUTH_SERVICE] Creating new Facebook user (${(0, personal_data_1.emailForLog)(email)})`);
755
751
  const newUser = await this.userRepository.create({
@@ -779,10 +775,10 @@ let AuthService = AuthService_1 = class AuthService {
779
775
  const errorStack = error instanceof Error ? error.stack : undefined;
780
776
  this.logger.error(`[AUTH_SERVICE] Failed to send verification email for user ${newUser.id}: ${errorMessage}`, errorStack);
781
777
  }
782
- const { accessToken: jwtAccessToken, refreshToken } = await this.generateTokenPairAndStore(newUser, realm);
778
+ const session = await this.issueSessionWithStepUp(newUser, realm, 'oauth');
783
779
  this.logger.log(`[AUTH_SERVICE] Facebook sign-up complete for user: ${newUser.id}`);
784
780
  this.logger.log(`[AUTH_SERVICE] NOTE: Email verification required (check email for code)`);
785
- return { accessToken: jwtAccessToken, refreshToken, user: newUser };
781
+ return session;
786
782
  }
787
783
  async unlinkSocialAccount(userId, provider) {
788
784
  this.logger.log(`[AUTH_SERVICE] Unlink ${provider} account for user: ${userId}`);
@@ -790,88 +786,70 @@ let AuthService = AuthService_1 = class AuthService {
790
786
  }
791
787
  async requestPasswordReset(email, ipAddress, realm) {
792
788
  const normalizedEmail = email.toLowerCase();
793
- if (ipAddress && this.rateLimiter) {
789
+ const answer = {
790
+ success: true,
791
+ message: 'If an account exists with this email, a password reset code has been sent.',
792
+ };
793
+ if (ipAddress) {
794
794
  const ipRateLimitKey = realm ? `${realm}:password-reset:ip:${ipAddress}` : `password-reset:ip:${ipAddress}`;
795
- const ipLimit = await this.rateLimiter.checkRateLimit(ipRateLimitKey, 5, 3600000);
795
+ const ipLimit = await this.rateLimiter.checkRateLimit(ipRateLimitKey, 5, 3_600_000);
796
796
  if (!ipLimit.allowed) {
797
- const retryAfterSeconds = Math.ceil((ipLimit.resetAt.getTime() - Date.now()) / 1000);
798
797
  this.securityLogger.warn(`IP rate limit exceeded for password reset (${(0, personal_data_1.ipForLog)(ipAddress)}), resetAt: ${ipLimit.resetAt.toISOString()}`, 'AuthService');
799
- const { PasswordResetRateLimitException } = await Promise.resolve().then(() => __importStar(require('../exceptions/password-reset.exceptions')));
800
- throw new PasswordResetRateLimitException(retryAfterSeconds);
798
+ throw new password_reset_exceptions_1.PasswordResetRateLimitException(Math.max(1, Math.ceil((ipLimit.resetAt.getTime() - Date.now()) / 1000)));
801
799
  }
802
- await this.rateLimiter.recordAttempt(ipRateLimitKey, 3600000);
800
+ await this.rateLimiter.recordAttempt(ipRateLimitKey, 3_600_000);
803
801
  }
802
+ await this.enforceEmailCooldown('password-reset', normalizedEmail, realm, (retryAfterSeconds) => new password_reset_exceptions_1.PasswordResetRateLimitException(retryAfterSeconds));
804
803
  const user = await this.userRepository.findByEmail(normalizedEmail, realm);
805
- if (!user) {
806
- this.securityLogger.log(auth_logger_interface_1.SecurityEvent.PASSWORD_RESET_REQUESTED, {
807
- email: normalizedEmail,
808
- ipAddress,
809
- result: 'EMAIL_NOT_FOUND',
810
- });
811
- return {
812
- success: true,
813
- message: 'If an account exists with this email, a password reset code has been sent.',
814
- };
815
- }
816
- if (await this.bruteForceProtection.isAccountLocked(normalizedEmail, realm)) {
817
- const remainingTime = await this.bruteForceProtection.getRemainingLockoutTime(normalizedEmail, realm);
818
- throw new account_locked_exception_1.AccountLockedException(remainingTime);
819
- }
820
- if (user.passwordResetSentAt) {
821
- const timeSinceLastReset = Date.now() - user.passwordResetSentAt.getTime();
822
- const cooldownMs = 60 * 1000;
823
- if (timeSinceLastReset < cooldownMs) {
824
- const retryAfterSeconds = Math.ceil((cooldownMs - timeSinceLastReset) / 1000);
825
- const { PasswordResetRateLimitException } = await Promise.resolve().then(() => __importStar(require('../exceptions/password-reset.exceptions')));
826
- throw new PasswordResetRateLimitException(retryAfterSeconds);
827
- }
828
- }
829
- if (!user.passwordHash && (0, provider_helpers_1.hasSocialIdentity)(user)) {
830
- this.logger.warn(`Password reset requested for social-only user ${user.id}`);
804
+ const skip = !user
805
+ ? 'EMAIL_NOT_FOUND'
806
+ : await this.bruteForceProtection.isAccountLocked(normalizedEmail, realm)
807
+ ? 'SKIPPED_LOCKED'
808
+ :
809
+ !user.passwordHash && (0, provider_helpers_1.hasSocialIdentity)(user)
810
+ ? 'SKIPPED_SOCIAL_ONLY'
811
+ : null;
812
+ if (!user || skip) {
831
813
  this.securityLogger.log(auth_logger_interface_1.SecurityEvent.PASSWORD_RESET_REQUESTED, {
832
- userId: user.id,
814
+ ...(user ? { userId: user.id } : {}),
833
815
  email: normalizedEmail,
834
816
  ipAddress,
835
- result: 'SKIPPED_SOCIAL_ONLY',
817
+ result: skip,
836
818
  });
837
- return {
838
- success: true,
839
- message: 'If an account exists with this email, a password reset code has been sent.',
840
- };
819
+ return answer;
841
820
  }
842
- await this.verificationService.invalidateCode(normalizedEmail, 'password-reset', realm);
843
- const reset = await this.verificationService.issueCredential(normalizedEmail, 'password-reset', realm);
844
- try {
821
+ this.inBackground(`password reset email for user ${user.id}`, async () => {
822
+ await this.verificationService.invalidateCode(normalizedEmail, 'password-reset', realm);
823
+ const reset = await this.verificationService.issueCredential(normalizedEmail, 'password-reset', realm);
845
824
  await this.emailService.sendPasswordResetEmail(normalizedEmail, reset.credential, reset.url ?? '', reset.expiresInMinutes);
846
- await this.userRepository.update(user.id, {
847
- passwordResetSentAt: new Date(),
848
- });
849
- this.logger.log(`Password reset email sent for user ${user.id}`);
825
+ await this.userRepository.update(user.id, { passwordResetSentAt: new Date() });
850
826
  this.securityLogger.log(auth_logger_interface_1.SecurityEvent.PASSWORD_RESET_REQUESTED, {
851
827
  userId: user.id,
852
828
  email: normalizedEmail,
853
829
  ipAddress,
854
830
  result: 'SUCCESS',
855
831
  });
856
- return {
857
- success: true,
858
- message: 'If an account exists with this email, a password reset code has been sent.',
859
- };
860
- }
861
- catch (error) {
862
- const errorStack = error instanceof Error ? error.stack : undefined;
863
- this.logger.error(`Failed to send password reset email for user ${user.id}`, errorStack);
864
- return {
865
- success: true,
866
- message: 'If an account exists with this email, a password reset code has been sent.',
867
- };
868
- }
832
+ });
833
+ return answer;
869
834
  }
870
835
  async resetPassword(email, code, newPassword, ipAddress, realm) {
871
836
  const normalizedEmail = email.toLowerCase();
837
+ const { isValid, errors } = await this.passwordValidationService.validatePassword(newPassword);
838
+ if (!isValid) {
839
+ throw new password_reset_exceptions_1.WeakPasswordException(errors);
840
+ }
872
841
  const user = await this.userRepository.findByEmail(normalizedEmail, realm);
873
- if (!user) {
874
- throw new common_1.UnauthorizedException('Invalid email or verification code');
842
+ try {
843
+ await this.verificationService.verifyCredential(normalizedEmail, 'password-reset', code, realm);
844
+ if (!user) {
845
+ throw new password_reset_exceptions_1.PasswordResetCodeInvalidException();
846
+ }
847
+ }
848
+ catch (error) {
849
+ if (error instanceof common_1.HttpException && error.getStatus() < 500) {
850
+ throw new password_reset_exceptions_1.PasswordResetCodeInvalidException();
851
+ }
852
+ throw error;
875
853
  }
876
854
  if (await this.bruteForceProtection.isAccountLocked(normalizedEmail, realm)) {
877
855
  const remainingTime = await this.bruteForceProtection.getRemainingLockoutTime(normalizedEmail, realm);
@@ -880,12 +858,6 @@ let AuthService = AuthService_1 = class AuthService {
880
858
  if (!user.passwordHash && (0, provider_helpers_1.hasSocialIdentity)(user)) {
881
859
  throw new common_1.BadRequestException('This account uses social login. Please sign in with Google, Facebook, or Apple.');
882
860
  }
883
- const { isValid, errors } = await this.passwordValidationService.validatePassword(newPassword);
884
- if (!isValid) {
885
- const { WeakPasswordException } = await Promise.resolve().then(() => __importStar(require('../exceptions/password-reset.exceptions')));
886
- throw new WeakPasswordException(errors);
887
- }
888
- await this.verificationService.verifyCredential(normalizedEmail, 'password-reset', code, realm);
889
861
  const passwordHash = await bcrypt.hash(newPassword, this.bcryptRounds);
890
862
  const updatedUser = await this.userRepository.updatePassword(user.id, passwordHash);
891
863
  await this.refreshTokenRepository.deleteByUserId(user.id);
@@ -1022,6 +994,20 @@ let AuthService = AuthService_1 = class AuthService {
1022
994
  });
1023
995
  throw new account_inactive_exception_1.AccountInactiveException();
1024
996
  }
997
+ async issueSessionWithStepUp(user, realm, method) {
998
+ const { accessToken, refreshToken } = await this.generateTokenPairAndStore(user, realm);
999
+ return { accessToken, refreshToken, user, ...(await this.stepUpForLogin(user.id, realm, method)) };
1000
+ }
1001
+ async stepUpForLogin(userId, realm, method) {
1002
+ if (!this.authModuleOptions?.stepUp?.issueOnLogin) {
1003
+ return {};
1004
+ }
1005
+ if (!this.stepUpTokens) {
1006
+ throw new Error('stepUp.issueOnLogin is set but StepUpTokenService is not available');
1007
+ }
1008
+ const { stepUpToken, expiresAt } = await this.stepUpTokens.mint(userId, realm, method);
1009
+ return { stepUpToken, stepUpExpiresAt: expiresAt };
1010
+ }
1025
1011
  async generateTokenPairAndStore(user, realm) {
1026
1012
  this.assertUserActive(user, 'issue');
1027
1013
  const accessToken = this.generateToken(user, realm);
@@ -1049,11 +1035,12 @@ exports.AuthService = AuthService = AuthService_1 = __decorate([
1049
1035
  __param(13, (0, common_1.Inject)('RATE_LIMITER')),
1050
1036
  __param(14, (0, common_1.Optional)()),
1051
1037
  __param(14, (0, common_1.Inject)(constants_1.JWT_PAYLOAD_FACTORY)),
1038
+ __param(15, (0, common_1.Optional)()),
1052
1039
  __metadata("design:paramtypes", [Object, Object, jwt_1.JwtService,
1053
1040
  refresh_token_service_1.RefreshTokenService,
1054
1041
  brute_force_protection_service_1.BruteForceProtectionService,
1055
1042
  verification_service_1.VerificationService,
1056
1043
  oauth_linking_token_service_1.OAuthLinkingTokenService,
1057
- facebook_strategy_1.FacebookStrategy, Object, Object, Object, Object, Object, Object, Object])
1044
+ facebook_strategy_1.FacebookStrategy, Object, Object, Object, Object, Object, Object, Object, step_up_token_service_1.StepUpTokenService])
1058
1045
  ], AuthService);
1059
1046
  //# sourceMappingURL=auth.service.js.map