@lenne.tech/nest-server 11.9.0 → 11.10.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 (131) hide show
  1. package/dist/config.env.js +2 -0
  2. package/dist/config.env.js.map +1 -1
  3. package/dist/core/common/helpers/logging.helper.d.ts +6 -0
  4. package/dist/core/common/helpers/logging.helper.js +55 -0
  5. package/dist/core/common/helpers/logging.helper.js.map +1 -0
  6. package/dist/core/common/interfaces/server-options.interface.d.ts +37 -19
  7. package/dist/core/modules/auth/guards/roles.guard.js +33 -2
  8. package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
  9. package/dist/core/modules/auth/services/core-auth.service.d.ts +5 -5
  10. package/dist/core/modules/auth/services/core-auth.service.js +4 -4
  11. package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
  12. package/dist/core/modules/auth/tokens.decorator.d.ts +1 -1
  13. package/dist/core/modules/better-auth/better-auth.config.js +32 -10
  14. package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
  15. package/dist/core/modules/better-auth/better-auth.resolver.d.ts +16 -16
  16. package/dist/core/modules/better-auth/better-auth.resolver.js +34 -34
  17. package/dist/core/modules/better-auth/better-auth.resolver.js.map +1 -1
  18. package/dist/core/modules/better-auth/better-auth.types.d.ts +2 -1
  19. package/dist/core/modules/better-auth/better-auth.types.js.map +1 -1
  20. package/dist/core/modules/better-auth/core-better-auth-api.middleware.d.ts +10 -0
  21. package/dist/core/modules/better-auth/core-better-auth-api.middleware.js +91 -0
  22. package/dist/core/modules/better-auth/core-better-auth-api.middleware.js.map +1 -0
  23. package/dist/core/modules/better-auth/core-better-auth-auth.model.d.ts +9 -0
  24. package/dist/core/modules/better-auth/{better-auth-auth.model.js → core-better-auth-auth.model.js} +17 -17
  25. package/dist/core/modules/better-auth/core-better-auth-auth.model.js.map +1 -0
  26. package/dist/core/modules/better-auth/{better-auth-migration-status.model.d.ts → core-better-auth-migration-status.model.d.ts} +1 -1
  27. package/dist/core/modules/better-auth/{better-auth-migration-status.model.js → core-better-auth-migration-status.model.js} +14 -14
  28. package/dist/core/modules/better-auth/core-better-auth-migration-status.model.js.map +1 -0
  29. package/dist/core/modules/better-auth/{better-auth-models.d.ts → core-better-auth-models.d.ts} +8 -8
  30. package/dist/core/modules/better-auth/{better-auth-models.js → core-better-auth-models.js} +61 -61
  31. package/dist/core/modules/better-auth/core-better-auth-models.js.map +1 -0
  32. package/dist/core/modules/better-auth/core-better-auth-rate-limit.middleware.d.ts +12 -0
  33. package/dist/core/modules/better-auth/{better-auth-rate-limit.middleware.js → core-better-auth-rate-limit.middleware.js} +10 -10
  34. package/dist/core/modules/better-auth/core-better-auth-rate-limit.middleware.js.map +1 -0
  35. package/dist/core/modules/better-auth/{better-auth-rate-limiter.service.d.ts → core-better-auth-rate-limiter.service.d.ts} +1 -1
  36. package/dist/core/modules/better-auth/{better-auth-rate-limiter.service.js → core-better-auth-rate-limiter.service.js} +8 -8
  37. package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.js.map +1 -0
  38. package/dist/core/modules/better-auth/{better-auth-user.mapper.d.ts → core-better-auth-user.mapper.d.ts} +1 -1
  39. package/dist/core/modules/better-auth/{better-auth-user.mapper.js → core-better-auth-user.mapper.js} +10 -9
  40. package/dist/core/modules/better-auth/core-better-auth-user.mapper.js.map +1 -0
  41. package/dist/core/modules/better-auth/core-better-auth-web.helper.d.ts +19 -0
  42. package/dist/core/modules/better-auth/core-better-auth-web.helper.js +152 -0
  43. package/dist/core/modules/better-auth/core-better-auth-web.helper.js.map +1 -0
  44. package/dist/core/modules/better-auth/core-better-auth.controller.d.ts +23 -32
  45. package/dist/core/modules/better-auth/core-better-auth.controller.js +184 -201
  46. package/dist/core/modules/better-auth/core-better-auth.controller.js.map +1 -1
  47. package/dist/core/modules/better-auth/core-better-auth.middleware.d.ts +22 -0
  48. package/dist/core/modules/better-auth/{better-auth.middleware.js → core-better-auth.middleware.js} +45 -18
  49. package/dist/core/modules/better-auth/core-better-auth.middleware.js.map +1 -0
  50. package/dist/core/modules/better-auth/{better-auth.module.d.ts → core-better-auth.module.d.ts} +6 -6
  51. package/dist/core/modules/better-auth/{better-auth.module.js → core-better-auth.module.js} +65 -60
  52. package/dist/core/modules/better-auth/core-better-auth.module.js.map +1 -0
  53. package/dist/core/modules/better-auth/core-better-auth.resolver.d.ts +19 -19
  54. package/dist/core/modules/better-auth/core-better-auth.resolver.js +18 -18
  55. package/dist/core/modules/better-auth/core-better-auth.resolver.js.map +1 -1
  56. package/dist/core/modules/better-auth/{better-auth.service.d.ts → core-better-auth.service.d.ts} +3 -2
  57. package/dist/core/modules/better-auth/{better-auth.service.js → core-better-auth.service.js} +75 -35
  58. package/dist/core/modules/better-auth/core-better-auth.service.js.map +1 -0
  59. package/dist/core/modules/better-auth/index.d.ts +11 -9
  60. package/dist/core/modules/better-auth/index.js +11 -9
  61. package/dist/core/modules/better-auth/index.js.map +1 -1
  62. package/dist/core/modules/error-code/core-error-code.controller.js.map +1 -1
  63. package/dist/core/modules/user/interfaces/core-user-service-options.interface.d.ts +2 -2
  64. package/dist/core.module.js +6 -6
  65. package/dist/core.module.js.map +1 -1
  66. package/dist/index.d.ts +1 -0
  67. package/dist/index.js +1 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/server/modules/better-auth/better-auth.controller.d.ts +5 -5
  70. package/dist/server/modules/better-auth/better-auth.controller.js +4 -4
  71. package/dist/server/modules/better-auth/better-auth.controller.js.map +1 -1
  72. package/dist/server/modules/better-auth/better-auth.module.js +3 -3
  73. package/dist/server/modules/better-auth/better-auth.module.js.map +1 -1
  74. package/dist/server/modules/better-auth/better-auth.resolver.d.ts +17 -17
  75. package/dist/server/modules/better-auth/better-auth.resolver.js +18 -18
  76. package/dist/server/modules/better-auth/better-auth.resolver.js.map +1 -1
  77. package/dist/server/modules/user/user.service.d.ts +2 -2
  78. package/dist/server/modules/user/user.service.js +2 -2
  79. package/dist/server/modules/user/user.service.js.map +1 -1
  80. package/dist/test/test.helper.d.ts +1 -0
  81. package/dist/test/test.helper.js +5 -1
  82. package/dist/test/test.helper.js.map +1 -1
  83. package/dist/tsconfig.build.tsbuildinfo +1 -1
  84. package/package.json +5 -3
  85. package/src/config.env.ts +15 -0
  86. package/src/core/common/helpers/logging.helper.ts +134 -0
  87. package/src/core/common/interfaces/server-options.interface.ts +419 -234
  88. package/src/core/modules/auth/guards/roles.guard.ts +44 -3
  89. package/src/core/modules/auth/services/core-auth.service.ts +4 -4
  90. package/src/core/modules/better-auth/ARCHITECTURE.md +102 -0
  91. package/src/core/modules/better-auth/INTEGRATION-CHECKLIST.md +277 -8
  92. package/src/core/modules/better-auth/README.md +97 -53
  93. package/src/core/modules/better-auth/better-auth.config.ts +66 -18
  94. package/src/core/modules/better-auth/better-auth.resolver.ts +32 -32
  95. package/src/core/modules/better-auth/better-auth.types.ts +3 -2
  96. package/src/core/modules/better-auth/core-better-auth-api.middleware.ts +134 -0
  97. package/src/core/modules/better-auth/{better-auth-auth.model.ts → core-better-auth-auth.model.ts} +6 -6
  98. package/src/core/modules/better-auth/{better-auth-migration-status.model.ts → core-better-auth-migration-status.model.ts} +1 -1
  99. package/src/core/modules/better-auth/{better-auth-models.ts → core-better-auth-models.ts} +9 -9
  100. package/src/core/modules/better-auth/{better-auth-rate-limit.middleware.ts → core-better-auth-rate-limit.middleware.ts} +5 -5
  101. package/src/core/modules/better-auth/{better-auth-rate-limiter.service.ts → core-better-auth-rate-limiter.service.ts} +2 -2
  102. package/src/core/modules/better-auth/{better-auth-user.mapper.ts → core-better-auth-user.mapper.ts} +4 -3
  103. package/src/core/modules/better-auth/core-better-auth-web.helper.ts +272 -0
  104. package/src/core/modules/better-auth/core-better-auth.controller.ts +386 -230
  105. package/src/core/modules/better-auth/{better-auth.middleware.ts → core-better-auth.middleware.ts} +57 -17
  106. package/src/core/modules/better-auth/{better-auth.module.ts → core-better-auth.module.ts} +77 -66
  107. package/src/core/modules/better-auth/core-better-auth.resolver.ts +42 -42
  108. package/src/core/modules/better-auth/{better-auth.service.ts → core-better-auth.service.ts} +86 -40
  109. package/src/core/modules/better-auth/index.ts +18 -11
  110. package/src/core/modules/error-code/INTEGRATION-CHECKLIST.md +4 -1
  111. package/src/core/modules/error-code/core-error-code.controller.ts +3 -2
  112. package/src/core/modules/user/interfaces/core-user-service-options.interface.ts +3 -3
  113. package/src/core.module.ts +12 -12
  114. package/src/index.ts +1 -0
  115. package/src/server/modules/better-auth/better-auth.controller.ts +4 -4
  116. package/src/server/modules/better-auth/better-auth.module.ts +1 -1
  117. package/src/server/modules/better-auth/better-auth.resolver.ts +31 -31
  118. package/src/server/modules/user/user.service.ts +2 -2
  119. package/src/test/test.helper.ts +13 -1
  120. package/dist/core/modules/better-auth/better-auth-auth.model.d.ts +0 -9
  121. package/dist/core/modules/better-auth/better-auth-auth.model.js.map +0 -1
  122. package/dist/core/modules/better-auth/better-auth-migration-status.model.js.map +0 -1
  123. package/dist/core/modules/better-auth/better-auth-models.js.map +0 -1
  124. package/dist/core/modules/better-auth/better-auth-rate-limit.middleware.d.ts +0 -12
  125. package/dist/core/modules/better-auth/better-auth-rate-limit.middleware.js.map +0 -1
  126. package/dist/core/modules/better-auth/better-auth-rate-limiter.service.js.map +0 -1
  127. package/dist/core/modules/better-auth/better-auth-user.mapper.js.map +0 -1
  128. package/dist/core/modules/better-auth/better-auth.middleware.d.ts +0 -21
  129. package/dist/core/modules/better-auth/better-auth.middleware.js.map +0 -1
  130. package/dist/core/modules/better-auth/better-auth.module.js.map +0 -1
  131. package/dist/core/modules/better-auth/better-auth.service.js.map +0 -1
@@ -13,128 +13,104 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  var CoreBetterAuthController_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.CoreBetterAuthController = exports.BetterAuthTwoFactorSetupResponse = exports.BetterAuthTwoFactorInput = exports.BetterAuthSignUpInput = exports.BetterAuthSignInInput = exports.BetterAuthResponse = exports.BetterAuthUserResponse = exports.BetterAuthSessionInfo = void 0;
16
+ exports.CoreBetterAuthController = exports.CoreBetterAuthSignUpInput = exports.CoreBetterAuthSignInInput = exports.CoreBetterAuthResponse = exports.CoreBetterAuthUserResponse = exports.CoreBetterAuthSessionInfo = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const swagger_1 = require("@nestjs/swagger");
19
19
  const roles_decorator_1 = require("../../common/decorators/roles.decorator");
20
20
  const role_enum_1 = require("../../common/enums/role.enum");
21
+ const logging_helper_1 = require("../../common/helpers/logging.helper");
21
22
  const config_service_1 = require("../../common/services/config.service");
22
- const better_auth_user_mapper_1 = require("./better-auth-user.mapper");
23
- const better_auth_service_1 = require("./better-auth.service");
24
23
  const better_auth_types_1 = require("./better-auth.types");
25
- class BetterAuthSessionInfo {
24
+ const core_better_auth_user_mapper_1 = require("./core-better-auth-user.mapper");
25
+ const core_better_auth_web_helper_1 = require("./core-better-auth-web.helper");
26
+ const core_better_auth_service_1 = require("./core-better-auth.service");
27
+ class CoreBetterAuthSessionInfo {
26
28
  }
27
- exports.BetterAuthSessionInfo = BetterAuthSessionInfo;
29
+ exports.CoreBetterAuthSessionInfo = CoreBetterAuthSessionInfo;
28
30
  __decorate([
29
31
  (0, swagger_1.ApiProperty)({ description: 'Session expiration time' }),
30
32
  __metadata("design:type", String)
31
- ], BetterAuthSessionInfo.prototype, "expiresAt", void 0);
33
+ ], CoreBetterAuthSessionInfo.prototype, "expiresAt", void 0);
32
34
  __decorate([
33
35
  (0, swagger_1.ApiProperty)({ description: 'Session ID' }),
34
36
  __metadata("design:type", String)
35
- ], BetterAuthSessionInfo.prototype, "id", void 0);
36
- class BetterAuthUserResponse {
37
+ ], CoreBetterAuthSessionInfo.prototype, "id", void 0);
38
+ class CoreBetterAuthUserResponse {
37
39
  }
38
- exports.BetterAuthUserResponse = BetterAuthUserResponse;
40
+ exports.CoreBetterAuthUserResponse = CoreBetterAuthUserResponse;
39
41
  __decorate([
40
42
  (0, swagger_1.ApiProperty)({ description: 'User email address' }),
41
43
  __metadata("design:type", String)
42
- ], BetterAuthUserResponse.prototype, "email", void 0);
44
+ ], CoreBetterAuthUserResponse.prototype, "email", void 0);
43
45
  __decorate([
44
46
  (0, swagger_1.ApiProperty)({ description: 'Whether email is verified' }),
45
47
  __metadata("design:type", Boolean)
46
- ], BetterAuthUserResponse.prototype, "emailVerified", void 0);
48
+ ], CoreBetterAuthUserResponse.prototype, "emailVerified", void 0);
47
49
  __decorate([
48
50
  (0, swagger_1.ApiProperty)({ description: 'User ID from Better-Auth' }),
49
51
  __metadata("design:type", String)
50
- ], BetterAuthUserResponse.prototype, "id", void 0);
52
+ ], CoreBetterAuthUserResponse.prototype, "id", void 0);
51
53
  __decorate([
52
54
  (0, swagger_1.ApiProperty)({ description: 'User display name' }),
53
55
  __metadata("design:type", String)
54
- ], BetterAuthUserResponse.prototype, "name", void 0);
56
+ ], CoreBetterAuthUserResponse.prototype, "name", void 0);
55
57
  __decorate([
56
58
  (0, swagger_1.ApiProperty)({ description: 'Whether 2FA is enabled', required: false }),
57
59
  __metadata("design:type", Boolean)
58
- ], BetterAuthUserResponse.prototype, "twoFactorEnabled", void 0);
59
- class BetterAuthResponse {
60
+ ], CoreBetterAuthUserResponse.prototype, "twoFactorEnabled", void 0);
61
+ class CoreBetterAuthResponse {
60
62
  }
61
- exports.BetterAuthResponse = BetterAuthResponse;
63
+ exports.CoreBetterAuthResponse = CoreBetterAuthResponse;
62
64
  __decorate([
63
65
  (0, swagger_1.ApiProperty)({ description: 'Error message if failed', required: false }),
64
66
  __metadata("design:type", String)
65
- ], BetterAuthResponse.prototype, "error", void 0);
67
+ ], CoreBetterAuthResponse.prototype, "error", void 0);
66
68
  __decorate([
67
69
  (0, swagger_1.ApiProperty)({ description: 'Whether 2FA is required', required: false }),
68
70
  __metadata("design:type", Boolean)
69
- ], BetterAuthResponse.prototype, "requiresTwoFactor", void 0);
71
+ ], CoreBetterAuthResponse.prototype, "requiresTwoFactor", void 0);
70
72
  __decorate([
71
- (0, swagger_1.ApiProperty)({ description: 'Session information', required: false, type: BetterAuthSessionInfo }),
72
- __metadata("design:type", BetterAuthSessionInfo)
73
- ], BetterAuthResponse.prototype, "session", void 0);
73
+ (0, swagger_1.ApiProperty)({ description: 'Session information', required: false, type: CoreBetterAuthSessionInfo }),
74
+ __metadata("design:type", CoreBetterAuthSessionInfo)
75
+ ], CoreBetterAuthResponse.prototype, "session", void 0);
74
76
  __decorate([
75
77
  (0, swagger_1.ApiProperty)({ description: 'Whether operation succeeded' }),
76
78
  __metadata("design:type", Boolean)
77
- ], BetterAuthResponse.prototype, "success", void 0);
79
+ ], CoreBetterAuthResponse.prototype, "success", void 0);
78
80
  __decorate([
79
81
  (0, swagger_1.ApiProperty)({ description: 'JWT token (if JWT plugin enabled)', required: false }),
80
82
  __metadata("design:type", String)
81
- ], BetterAuthResponse.prototype, "token", void 0);
83
+ ], CoreBetterAuthResponse.prototype, "token", void 0);
82
84
  __decorate([
83
- (0, swagger_1.ApiProperty)({ description: 'User information', required: false, type: BetterAuthUserResponse }),
84
- __metadata("design:type", BetterAuthUserResponse)
85
- ], BetterAuthResponse.prototype, "user", void 0);
86
- class BetterAuthSignInInput {
85
+ (0, swagger_1.ApiProperty)({ description: 'User information', required: false, type: CoreBetterAuthUserResponse }),
86
+ __metadata("design:type", CoreBetterAuthUserResponse)
87
+ ], CoreBetterAuthResponse.prototype, "user", void 0);
88
+ class CoreBetterAuthSignInInput {
87
89
  }
88
- exports.BetterAuthSignInInput = BetterAuthSignInInput;
90
+ exports.CoreBetterAuthSignInInput = CoreBetterAuthSignInInput;
89
91
  __decorate([
90
92
  (0, swagger_1.ApiProperty)({ description: 'User email address', example: 'user@example.com' }),
91
93
  __metadata("design:type", String)
92
- ], BetterAuthSignInInput.prototype, "email", void 0);
94
+ ], CoreBetterAuthSignInInput.prototype, "email", void 0);
93
95
  __decorate([
94
96
  (0, swagger_1.ApiProperty)({ description: 'User password' }),
95
97
  __metadata("design:type", String)
96
- ], BetterAuthSignInInput.prototype, "password", void 0);
97
- class BetterAuthSignUpInput {
98
+ ], CoreBetterAuthSignInInput.prototype, "password", void 0);
99
+ class CoreBetterAuthSignUpInput {
98
100
  }
99
- exports.BetterAuthSignUpInput = BetterAuthSignUpInput;
101
+ exports.CoreBetterAuthSignUpInput = CoreBetterAuthSignUpInput;
100
102
  __decorate([
101
103
  (0, swagger_1.ApiProperty)({ description: 'User email address', example: 'user@example.com' }),
102
104
  __metadata("design:type", String)
103
- ], BetterAuthSignUpInput.prototype, "email", void 0);
105
+ ], CoreBetterAuthSignUpInput.prototype, "email", void 0);
104
106
  __decorate([
105
107
  (0, swagger_1.ApiProperty)({ description: 'Display name', example: 'John Doe', required: false }),
106
108
  __metadata("design:type", String)
107
- ], BetterAuthSignUpInput.prototype, "name", void 0);
109
+ ], CoreBetterAuthSignUpInput.prototype, "name", void 0);
108
110
  __decorate([
109
111
  (0, swagger_1.ApiProperty)({ description: 'User password (min 8 characters)' }),
110
112
  __metadata("design:type", String)
111
- ], BetterAuthSignUpInput.prototype, "password", void 0);
112
- class BetterAuthTwoFactorInput {
113
- }
114
- exports.BetterAuthTwoFactorInput = BetterAuthTwoFactorInput;
115
- __decorate([
116
- (0, swagger_1.ApiProperty)({ description: 'TOTP code from authenticator app', example: '123456' }),
117
- __metadata("design:type", String)
118
- ], BetterAuthTwoFactorInput.prototype, "code", void 0);
119
- class BetterAuthTwoFactorSetupResponse {
120
- }
121
- exports.BetterAuthTwoFactorSetupResponse = BetterAuthTwoFactorSetupResponse;
122
- __decorate([
123
- (0, swagger_1.ApiProperty)({ description: 'Backup codes for recovery' }),
124
- __metadata("design:type", Array)
125
- ], BetterAuthTwoFactorSetupResponse.prototype, "backupCodes", void 0);
126
- __decorate([
127
- (0, swagger_1.ApiProperty)({ description: 'Whether operation succeeded' }),
128
- __metadata("design:type", Boolean)
129
- ], BetterAuthTwoFactorSetupResponse.prototype, "success", void 0);
130
- __decorate([
131
- (0, swagger_1.ApiProperty)({ description: 'TOTP secret for manual entry' }),
132
- __metadata("design:type", String)
133
- ], BetterAuthTwoFactorSetupResponse.prototype, "totpSecret", void 0);
134
- __decorate([
135
- (0, swagger_1.ApiProperty)({ description: 'QR code URI for authenticator apps' }),
136
- __metadata("design:type", String)
137
- ], BetterAuthTwoFactorSetupResponse.prototype, "totpUri", void 0);
113
+ ], CoreBetterAuthSignUpInput.prototype, "password", void 0);
138
114
  let CoreBetterAuthController = CoreBetterAuthController_1 = class CoreBetterAuthController {
139
115
  constructor(betterAuthService, userMapper, configService) {
140
116
  this.betterAuthService = betterAuthService;
@@ -142,29 +118,73 @@ let CoreBetterAuthController = CoreBetterAuthController_1 = class CoreBetterAuth
142
118
  this.configService = configService;
143
119
  this.logger = new common_1.Logger(CoreBetterAuthController_1.name);
144
120
  }
145
- async signIn(res, input) {
121
+ async signIn(req, res, input) {
146
122
  this.ensureEnabled();
147
123
  const api = this.betterAuthService.getApi();
148
124
  if (!api) {
149
125
  throw new common_1.BadRequestException('Better-Auth API not available');
150
126
  }
151
- return this.attemptSignIn(res, input, api, true);
152
- }
153
- async attemptSignIn(res, input, api, allowMigration) {
127
+ try {
128
+ const migrated = await this.userMapper.migrateAccountToIam(input.email, input.password);
129
+ if (migrated) {
130
+ this.logger.debug(`Migrated legacy user ${input.email} to IAM`);
131
+ }
132
+ }
133
+ catch (error) {
134
+ this.logger.debug(`Legacy migration check: ${error instanceof Error ? error.message : 'not needed'}`);
135
+ }
154
136
  const normalizedPassword = this.userMapper.normalizePasswordForIam(input.password);
155
137
  try {
156
- const response = await api.signInEmail({
157
- body: { email: input.email, password: normalizedPassword },
158
- });
138
+ const response = (await api.signInEmail({
139
+ body: {
140
+ email: input.email,
141
+ password: normalizedPassword,
142
+ },
143
+ }));
159
144
  if (!response) {
160
145
  throw new common_1.UnauthorizedException('Invalid credentials');
161
146
  }
162
147
  if ((0, better_auth_types_1.requires2FA)(response)) {
163
- return { requiresTwoFactor: true, success: false };
148
+ if (!(0, logging_helper_1.isProduction)()) {
149
+ this.logger.debug(`2FA required for ${input.email}, forwarding to native handler for cookie handling`);
150
+ }
151
+ const authInstance = this.betterAuthService.getInstance();
152
+ if (!authInstance) {
153
+ throw new common_1.InternalServerErrorException('Better-Auth not initialized');
154
+ }
155
+ const modifiedBody = JSON.stringify({
156
+ email: input.email,
157
+ password: normalizedPassword,
158
+ });
159
+ const basePath = this.betterAuthService.getBasePath();
160
+ const baseUrl = this.betterAuthService.getBaseUrl();
161
+ const signInUrl = new URL(`${basePath}/sign-in/email`, baseUrl);
162
+ const webRequest = new Request(signInUrl.toString(), {
163
+ body: modifiedBody,
164
+ headers: new Headers({
165
+ 'Content-Type': 'application/json',
166
+ 'Origin': req.headers.origin || baseUrl,
167
+ }),
168
+ method: 'POST',
169
+ });
170
+ const nativeResponse = await authInstance.handler(webRequest);
171
+ const setCookieHeaders = nativeResponse.headers.getSetCookie?.() || [];
172
+ for (const cookie of setCookieHeaders) {
173
+ res.setHeader('Set-Cookie', cookie);
174
+ }
175
+ return {
176
+ requiresTwoFactor: true,
177
+ success: false,
178
+ };
179
+ }
180
+ const responseAny = response;
181
+ if (responseAny?.error || responseAny?.code === 'CREDENTIAL_ACCOUNT_NOT_FOUND') {
182
+ throw new common_1.UnauthorizedException('Invalid credentials');
164
183
  }
165
184
  if ((0, better_auth_types_1.hasUser)(response)) {
185
+ await this.userMapper.linkOrCreateUser(response.user);
166
186
  const mappedUser = await this.userMapper.mapSessionUser(response.user);
167
- const token = this.betterAuthService.isJwtEnabled() ? response.token : undefined;
187
+ const token = responseAny.accessToken || responseAny.token;
168
188
  const result = {
169
189
  requiresTwoFactor: false,
170
190
  session: (0, better_auth_types_1.hasSession)(response) ? this.mapSession(response.session) : undefined,
@@ -177,13 +197,10 @@ let CoreBetterAuthController = CoreBetterAuthController_1 = class CoreBetterAuth
177
197
  throw new common_1.UnauthorizedException('Invalid credentials');
178
198
  }
179
199
  catch (error) {
180
- this.logger.debug(`Sign-in error: ${error instanceof Error ? error.message : 'Unknown error'}`);
181
- if (allowMigration) {
182
- const migrated = await this.userMapper.migrateAccountToIam(input.email, input.password);
183
- if (migrated) {
184
- this.logger.debug(`Migrated legacy user ${input.email} to IAM, retrying sign-in`);
185
- return this.attemptSignIn(res, input, api, false);
186
- }
200
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
201
+ this.logger.debug(`Sign-in error: ${errorMessage}`);
202
+ if (error instanceof common_1.UnauthorizedException) {
203
+ throw error;
187
204
  }
188
205
  throw new common_1.UnauthorizedException('Invalid credentials');
189
206
  }
@@ -268,87 +285,8 @@ let CoreBetterAuthController = CoreBetterAuthController_1 = class CoreBetterAuth
268
285
  return { success: false };
269
286
  }
270
287
  }
271
- async enableTwoFactor(req) {
272
- this.ensureEnabled();
273
- if (!this.betterAuthService.isTwoFactorEnabled()) {
274
- throw new common_1.BadRequestException('Two-factor authentication is not enabled');
275
- }
276
- const api = this.betterAuthService.getApi();
277
- if (!api || !('enableTwoFactor' in api)) {
278
- throw new common_1.BadRequestException('2FA API not available');
279
- }
280
- try {
281
- const headers = this.extractHeaders(req);
282
- const response = await api.enableTwoFactor({ headers });
283
- if (!response) {
284
- throw new common_1.BadRequestException('Failed to enable 2FA');
285
- }
286
- return {
287
- backupCodes: response.backupCodes || [],
288
- success: true,
289
- totpSecret: response.totpSecret || '',
290
- totpUri: response.totpURI || '',
291
- };
292
- }
293
- catch (error) {
294
- this.logger.debug(`Enable 2FA error: ${error instanceof Error ? error.message : 'Unknown error'}`);
295
- throw new common_1.BadRequestException('Failed to enable 2FA');
296
- }
297
- }
298
- async verifyTwoFactor(req, res, input) {
299
- this.ensureEnabled();
300
- if (!this.betterAuthService.isTwoFactorEnabled()) {
301
- throw new common_1.BadRequestException('Two-factor authentication is not enabled');
302
- }
303
- const api = this.betterAuthService.getApi();
304
- if (!api || !('verifyTOTP' in api)) {
305
- throw new common_1.BadRequestException('2FA API not available');
306
- }
307
- try {
308
- const headers = this.extractHeaders(req);
309
- const response = await api.verifyTOTP({
310
- body: { code: input.code },
311
- headers,
312
- });
313
- if (!response) {
314
- throw new common_1.UnauthorizedException('Invalid 2FA code');
315
- }
316
- if ((0, better_auth_types_1.hasUser)(response)) {
317
- const mappedUser = await this.userMapper.mapSessionUser(response.user);
318
- const token = this.betterAuthService.isJwtEnabled() ? response.token : undefined;
319
- const result = {
320
- session: (0, better_auth_types_1.hasSession)(response) ? this.mapSession(response.session) : undefined,
321
- success: true,
322
- token,
323
- user: mappedUser ? this.mapUser(response.user, mappedUser) : undefined,
324
- };
325
- return this.processCookies(res, result);
326
- }
327
- throw new common_1.UnauthorizedException('Invalid 2FA code');
328
- }
329
- catch (error) {
330
- this.logger.debug(`Verify 2FA error: ${error instanceof Error ? error.message : 'Unknown error'}`);
331
- throw new common_1.UnauthorizedException('Invalid 2FA code');
332
- }
333
- }
334
- async disableTwoFactor(req) {
335
- this.ensureEnabled();
336
- if (!this.betterAuthService.isTwoFactorEnabled()) {
337
- throw new common_1.BadRequestException('Two-factor authentication is not enabled');
338
- }
339
- const api = this.betterAuthService.getApi();
340
- if (!api || !('disableTwoFactor' in api)) {
341
- throw new common_1.BadRequestException('2FA API not available');
342
- }
343
- try {
344
- const headers = this.extractHeaders(req);
345
- await api.disableTwoFactor({ headers });
346
- return { success: true };
347
- }
348
- catch (error) {
349
- this.logger.debug(`Disable 2FA error: ${error instanceof Error ? error.message : 'Unknown error'}`);
350
- throw new common_1.BadRequestException('Failed to disable 2FA');
351
- }
288
+ async handlePluginRoutes(req, res) {
289
+ return this.handleBetterAuthPlugins(req, res);
352
290
  }
353
291
  ensureEnabled() {
354
292
  if (!this.betterAuthService.isEnabled()) {
@@ -392,12 +330,24 @@ let CoreBetterAuthController = CoreBetterAuthController_1 = class CoreBetterAuth
392
330
  name: sessionUser.name || sessionUser.email.split('@')[0],
393
331
  };
394
332
  }
395
- processCookies(res, result) {
333
+ processCookies(res, result, sessionToken) {
396
334
  if (this.configService.getFastButReadOnly('cookies')) {
397
335
  const cookieOptions = { httpOnly: true, sameSite: 'lax', secure: process.env.NODE_ENV === 'production' };
398
- if (result.token) {
399
- res.cookie('token', result.token, cookieOptions);
400
- delete result.token;
336
+ const tokenToSet = sessionToken || result.token;
337
+ if (tokenToSet) {
338
+ res.cookie('token', tokenToSet, cookieOptions);
339
+ const basePath = this.betterAuthService.getBasePath().replace(/^\//, '').replace(/\//g, '.');
340
+ const defaultCookieName = `${basePath}.session_token`;
341
+ res.cookie(defaultCookieName, tokenToSet, cookieOptions);
342
+ res.cookie('better-auth.session_token', tokenToSet, cookieOptions);
343
+ const betterAuthConfig = this.configService.getFastButReadOnly('betterAuth');
344
+ const configuredCookieName = betterAuthConfig?.options?.advanced?.cookies?.session_token?.name;
345
+ if (configuredCookieName && configuredCookieName !== 'token' && configuredCookieName !== defaultCookieName) {
346
+ res.cookie(configuredCookieName, tokenToSet, cookieOptions);
347
+ }
348
+ if (result.token) {
349
+ delete result.token;
350
+ }
401
351
  }
402
352
  if (result.session) {
403
353
  res.cookie('session', result.session.id, cookieOptions);
@@ -410,38 +360,90 @@ let CoreBetterAuthController = CoreBetterAuthController_1 = class CoreBetterAuth
410
360
  res.cookie('token', '', { ...cookieOptions, maxAge: 0 });
411
361
  res.cookie('session', '', { ...cookieOptions, maxAge: 0 });
412
362
  res.cookie('better-auth.session_token', '', { ...cookieOptions, maxAge: 0 });
363
+ const basePath = this.betterAuthService.getBasePath().replace(/^\//, '').replace(/\//g, '.');
364
+ const defaultCookieName = `${basePath}.session_token`;
365
+ res.cookie(defaultCookieName, '', { ...cookieOptions, maxAge: 0 });
366
+ const betterAuthConfig = this.configService.getFastButReadOnly('betterAuth');
367
+ const configuredCookieName = betterAuthConfig?.options?.advanced?.cookies?.session_token?.name;
368
+ if (configuredCookieName && configuredCookieName !== 'token' && configuredCookieName !== defaultCookieName) {
369
+ res.cookie(configuredCookieName, '', { ...cookieOptions, maxAge: 0 });
370
+ }
371
+ }
372
+ async handleBetterAuthPlugins(req, res) {
373
+ this.ensureEnabled();
374
+ const authInstance = this.betterAuthService.getInstance();
375
+ if (!authInstance) {
376
+ throw new common_1.InternalServerErrorException('Better-Auth not initialized');
377
+ }
378
+ if (!(0, logging_helper_1.isProduction)()) {
379
+ this.logger.debug(`Forwarding to Better Auth: ${req.method} ${req.path}`);
380
+ }
381
+ try {
382
+ const sessionToken = this.getSessionTokenFromRequest(req);
383
+ if (!(0, logging_helper_1.isProduction)()) {
384
+ this.logger.debug(`Session token for forwarding: ${(0, logging_helper_1.maskToken)(sessionToken)}`);
385
+ }
386
+ const config = this.betterAuthService.getConfig();
387
+ const webRequest = await (0, core_better_auth_web_helper_1.toWebRequest)(req, {
388
+ basePath: this.betterAuthService.getBasePath(),
389
+ baseUrl: this.betterAuthService.getBaseUrl(),
390
+ logger: this.logger,
391
+ secret: config.secret,
392
+ sessionToken,
393
+ });
394
+ const response = await authInstance.handler(webRequest);
395
+ if (!(0, logging_helper_1.isProduction)()) {
396
+ this.logger.debug(`Better Auth handler response status: ${response.status}`);
397
+ }
398
+ await (0, core_better_auth_web_helper_1.sendWebResponse)(res, response);
399
+ }
400
+ catch (error) {
401
+ this.logger.error(`Better Auth handler error: ${error instanceof Error ? error.message : 'Unknown error'}`);
402
+ if (error instanceof common_1.BadRequestException || error instanceof common_1.UnauthorizedException || error instanceof common_1.InternalServerErrorException) {
403
+ throw error;
404
+ }
405
+ throw new common_1.InternalServerErrorException('Authentication handler error');
406
+ }
407
+ }
408
+ getSessionTokenFromRequest(req) {
409
+ const betterAuthReq = req;
410
+ if (betterAuthReq.betterAuthSession?.session?.token) {
411
+ return betterAuthReq.betterAuthSession.session.token;
412
+ }
413
+ return this.extractSessionToken(req);
413
414
  }
414
415
  };
415
416
  exports.CoreBetterAuthController = CoreBetterAuthController;
416
417
  __decorate([
417
- (0, swagger_1.ApiBody)({ type: BetterAuthSignInInput }),
418
- (0, swagger_1.ApiCreatedResponse)({ description: 'Signed in successfully', type: BetterAuthResponse }),
418
+ (0, swagger_1.ApiBody)({ type: CoreBetterAuthSignInInput }),
419
+ (0, swagger_1.ApiCreatedResponse)({ description: 'Signed in successfully', type: CoreBetterAuthResponse }),
419
420
  (0, swagger_1.ApiOperation)({ description: 'Sign in via Better-Auth with email and password', summary: 'Sign In' }),
420
421
  (0, common_1.HttpCode)(common_1.HttpStatus.OK),
421
422
  (0, common_1.Post)('sign-in/email'),
422
423
  (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
423
- __param(0, (0, common_1.Res)({ passthrough: true })),
424
- __param(1, (0, common_1.Body)()),
424
+ __param(0, (0, common_1.Req)()),
425
+ __param(1, (0, common_1.Res)({ passthrough: true })),
426
+ __param(2, (0, common_1.Body)()),
425
427
  __metadata("design:type", Function),
426
- __metadata("design:paramtypes", [Object, BetterAuthSignInInput]),
428
+ __metadata("design:paramtypes", [Object, Object, CoreBetterAuthSignInInput]),
427
429
  __metadata("design:returntype", Promise)
428
430
  ], CoreBetterAuthController.prototype, "signIn", null);
429
431
  __decorate([
430
- (0, swagger_1.ApiBody)({ type: BetterAuthSignUpInput }),
431
- (0, swagger_1.ApiCreatedResponse)({ description: 'Signed up successfully', type: BetterAuthResponse }),
432
+ (0, swagger_1.ApiBody)({ type: CoreBetterAuthSignUpInput }),
433
+ (0, swagger_1.ApiCreatedResponse)({ description: 'Signed up successfully', type: CoreBetterAuthResponse }),
432
434
  (0, swagger_1.ApiOperation)({ description: 'Sign up via Better-Auth with email and password', summary: 'Sign Up' }),
433
435
  (0, common_1.Post)('sign-up/email'),
434
436
  (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
435
437
  __param(0, (0, common_1.Res)({ passthrough: true })),
436
438
  __param(1, (0, common_1.Body)()),
437
439
  __metadata("design:type", Function),
438
- __metadata("design:paramtypes", [Object, BetterAuthSignUpInput]),
440
+ __metadata("design:paramtypes", [Object, CoreBetterAuthSignUpInput]),
439
441
  __metadata("design:returntype", Promise)
440
442
  ], CoreBetterAuthController.prototype, "signUp", null);
441
443
  __decorate([
442
- (0, swagger_1.ApiOkResponse)({ description: 'Signed out successfully', type: BetterAuthResponse }),
444
+ (0, swagger_1.ApiOkResponse)({ description: 'Signed out successfully', type: CoreBetterAuthResponse }),
443
445
  (0, swagger_1.ApiOperation)({ description: 'Sign out from Better-Auth', summary: 'Sign Out' }),
444
- (0, common_1.Get)('sign-out'),
446
+ (0, common_1.Post)('sign-out'),
445
447
  (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
446
448
  __param(0, (0, common_1.Req)()),
447
449
  __param(1, (0, common_1.Res)({ passthrough: true })),
@@ -450,7 +452,7 @@ __decorate([
450
452
  __metadata("design:returntype", Promise)
451
453
  ], CoreBetterAuthController.prototype, "signOut", null);
452
454
  __decorate([
453
- (0, swagger_1.ApiOkResponse)({ description: 'Current session', type: BetterAuthResponse }),
455
+ (0, swagger_1.ApiOkResponse)({ description: 'Current session', type: CoreBetterAuthResponse }),
454
456
  (0, swagger_1.ApiOperation)({ description: 'Get current session from Better-Auth', summary: 'Get Session' }),
455
457
  (0, common_1.Get)('session'),
456
458
  (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
@@ -460,45 +462,26 @@ __decorate([
460
462
  __metadata("design:returntype", Promise)
461
463
  ], CoreBetterAuthController.prototype, "getSession", null);
462
464
  __decorate([
463
- (0, swagger_1.ApiOkResponse)({ description: '2FA setup information', type: BetterAuthTwoFactorSetupResponse }),
464
- (0, swagger_1.ApiOperation)({ description: 'Enable Two-Factor Authentication', summary: 'Enable 2FA' }),
465
- (0, common_1.Post)('two-factor/enable'),
466
- (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
467
- __param(0, (0, common_1.Req)()),
468
- __metadata("design:type", Function),
469
- __metadata("design:paramtypes", [Object]),
470
- __metadata("design:returntype", Promise)
471
- ], CoreBetterAuthController.prototype, "enableTwoFactor", null);
472
- __decorate([
473
- (0, swagger_1.ApiBody)({ type: BetterAuthTwoFactorInput }),
474
- (0, swagger_1.ApiOkResponse)({ description: 'Verification result', type: BetterAuthResponse }),
475
- (0, swagger_1.ApiOperation)({ description: 'Verify Two-Factor Authentication code', summary: 'Verify 2FA' }),
476
- (0, common_1.HttpCode)(common_1.HttpStatus.OK),
477
- (0, common_1.Post)('two-factor/verify'),
465
+ (0, common_1.All)('*path'),
478
466
  (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
479
467
  __param(0, (0, common_1.Req)()),
480
- __param(1, (0, common_1.Res)({ passthrough: true })),
481
- __param(2, (0, common_1.Body)()),
468
+ __param(1, (0, common_1.Res)()),
482
469
  __metadata("design:type", Function),
483
- __metadata("design:paramtypes", [Object, Object, BetterAuthTwoFactorInput]),
470
+ __metadata("design:paramtypes", [Object, Object]),
484
471
  __metadata("design:returntype", Promise)
485
- ], CoreBetterAuthController.prototype, "verifyTwoFactor", null);
472
+ ], CoreBetterAuthController.prototype, "handlePluginRoutes", null);
486
473
  __decorate([
487
- (0, swagger_1.ApiOkResponse)({ description: 'Disable result', type: BetterAuthResponse }),
488
- (0, swagger_1.ApiOperation)({ description: 'Disable Two-Factor Authentication', summary: 'Disable 2FA' }),
489
- (0, common_1.Post)('two-factor/disable'),
490
- (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
491
- __param(0, (0, common_1.Req)()),
474
+ (0, swagger_1.ApiExcludeEndpoint)(),
492
475
  __metadata("design:type", Function),
493
- __metadata("design:paramtypes", [Object]),
476
+ __metadata("design:paramtypes", [Object, Object]),
494
477
  __metadata("design:returntype", Promise)
495
- ], CoreBetterAuthController.prototype, "disableTwoFactor", null);
478
+ ], CoreBetterAuthController.prototype, "handleBetterAuthPlugins", null);
496
479
  exports.CoreBetterAuthController = CoreBetterAuthController = CoreBetterAuthController_1 = __decorate([
497
480
  (0, swagger_1.ApiTags)('Better-Auth'),
498
481
  (0, common_1.Controller)('iam'),
499
482
  (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
500
- __metadata("design:paramtypes", [better_auth_service_1.BetterAuthService,
501
- better_auth_user_mapper_1.BetterAuthUserMapper,
483
+ __metadata("design:paramtypes", [core_better_auth_service_1.CoreBetterAuthService,
484
+ core_better_auth_user_mapper_1.CoreBetterAuthUserMapper,
502
485
  config_service_1.ConfigService])
503
486
  ], CoreBetterAuthController);
504
487
  //# sourceMappingURL=core-better-auth.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core-better-auth.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-better-auth.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth.controller.ts"],"names":[],"mappings":"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"}