@lenne.tech/nest-server 11.7.1 → 11.7.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.
- package/dist/core/common/interfaces/server-options.interface.d.ts +18 -15
- package/dist/core/modules/auth/core-auth.controller.js +2 -2
- package/dist/core/modules/auth/core-auth.controller.js.map +1 -1
- package/dist/core/modules/auth/core-auth.resolver.js +2 -2
- package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
- package/dist/core/modules/auth/services/legacy-auth-rate-limiter.service.js +1 -1
- package/dist/core/modules/auth/services/legacy-auth-rate-limiter.service.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth-rate-limiter.service.js +1 -1
- package/dist/core/modules/better-auth/better-auth-rate-limiter.service.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth-user.mapper.js +7 -55
- package/dist/core/modules/better-auth/better-auth-user.mapper.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.config.js +29 -10
- package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.middleware.d.ts +1 -0
- package/dist/core/modules/better-auth/better-auth.middleware.js +55 -1
- package/dist/core/modules/better-auth/better-auth.middleware.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.module.d.ts +1 -1
- package/dist/core/modules/better-auth/better-auth.module.js +46 -18
- package/dist/core/modules/better-auth/better-auth.module.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.resolver.js +0 -11
- package/dist/core/modules/better-auth/better-auth.resolver.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.service.d.ts +22 -1
- package/dist/core/modules/better-auth/better-auth.service.js +209 -8
- package/dist/core/modules/better-auth/better-auth.service.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.types.d.ts +2 -0
- package/dist/core/modules/better-auth/better-auth.types.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.resolver.d.ts +5 -0
- package/dist/core/modules/better-auth/core-better-auth.resolver.js +58 -12
- package/dist/core/modules/better-auth/core-better-auth.resolver.js.map +1 -1
- package/dist/core.module.js +6 -3
- package/dist/core.module.js.map +1 -1
- package/dist/server/modules/better-auth/better-auth.module.d.ts +1 -1
- package/dist/server/modules/better-auth/better-auth.module.js +2 -1
- package/dist/server/modules/better-auth/better-auth.module.js.map +1 -1
- package/dist/server/modules/better-auth/better-auth.resolver.d.ts +3 -0
- package/dist/server/modules/better-auth/better-auth.resolver.js +14 -11
- package/dist/server/modules/better-auth/better-auth.resolver.js.map +1 -1
- package/dist/server/modules/user/user.controller.js +0 -8
- package/dist/server/modules/user/user.controller.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/core/common/interfaces/server-options.interface.ts +129 -58
- package/src/core/modules/auth/core-auth.controller.ts +2 -2
- package/src/core/modules/auth/core-auth.resolver.ts +2 -2
- package/src/core/modules/auth/services/legacy-auth-rate-limiter.service.ts +1 -1
- package/src/core/modules/better-auth/INTEGRATION-CHECKLIST.md +12 -11
- package/src/core/modules/better-auth/README.md +82 -43
- package/src/core/modules/better-auth/better-auth-rate-limiter.service.ts +1 -1
- package/src/core/modules/better-auth/better-auth-user.mapper.ts +9 -77
- package/src/core/modules/better-auth/better-auth.config.ts +45 -15
- package/src/core/modules/better-auth/better-auth.middleware.ts +85 -2
- package/src/core/modules/better-auth/better-auth.module.ts +83 -27
- package/src/core/modules/better-auth/better-auth.resolver.ts +0 -11
- package/src/core/modules/better-auth/better-auth.service.ts +367 -12
- package/src/core/modules/better-auth/better-auth.types.ts +16 -0
- package/src/core/modules/better-auth/core-better-auth.resolver.ts +111 -16
- package/src/core.module.ts +9 -3
- package/src/server/modules/better-auth/better-auth.module.ts +9 -3
- package/src/server/modules/better-auth/better-auth.resolver.ts +9 -11
- package/src/server/modules/user/user.controller.ts +1 -9
|
@@ -34,7 +34,48 @@ let BetterAuthMiddleware = BetterAuthMiddleware_1 = class BetterAuthMiddleware {
|
|
|
34
34
|
req.betterAuthUser = session.user;
|
|
35
35
|
const mappedUser = await this.userMapper.mapSessionUser(session.user);
|
|
36
36
|
if (mappedUser) {
|
|
37
|
-
req.user = mappedUser;
|
|
37
|
+
req.user = { ...mappedUser, _authenticatedViaBetterAuth: true };
|
|
38
|
+
return next();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (req.headers.authorization) {
|
|
42
|
+
const authHeader = req.headers.authorization;
|
|
43
|
+
const token = authHeader.startsWith('Bearer ') ? authHeader.substring(7) : authHeader;
|
|
44
|
+
const tokenParts = token.split('.').length;
|
|
45
|
+
if (tokenParts === 3) {
|
|
46
|
+
const isLegacyJwt = this.isLegacyJwt(token);
|
|
47
|
+
if (isLegacyJwt) {
|
|
48
|
+
return next();
|
|
49
|
+
}
|
|
50
|
+
if (this.betterAuthService.isJwtEnabled()) {
|
|
51
|
+
const jwtPayload = await this.betterAuthService.verifyJwtFromRequest(req);
|
|
52
|
+
if (jwtPayload?.sub) {
|
|
53
|
+
const sessionUser = {
|
|
54
|
+
email: jwtPayload.email || '',
|
|
55
|
+
emailVerified: jwtPayload.emailVerified,
|
|
56
|
+
id: jwtPayload.sub,
|
|
57
|
+
name: jwtPayload.name,
|
|
58
|
+
};
|
|
59
|
+
req.betterAuthUser = sessionUser;
|
|
60
|
+
const mappedUser = await this.userMapper.mapSessionUser(sessionUser);
|
|
61
|
+
if (mappedUser) {
|
|
62
|
+
req.user = { ...mappedUser, _authenticatedViaBetterAuth: true };
|
|
63
|
+
return next();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (!req.user) {
|
|
69
|
+
const sessionResult = await this.betterAuthService.getSessionByToken(token);
|
|
70
|
+
if (sessionResult?.user) {
|
|
71
|
+
req.betterAuthSession = { session: sessionResult.session, user: sessionResult.user };
|
|
72
|
+
req.betterAuthUser = sessionResult.user;
|
|
73
|
+
const mappedUser = await this.userMapper.mapSessionUser(sessionResult.user);
|
|
74
|
+
if (mappedUser) {
|
|
75
|
+
req.user = { ...mappedUser, _authenticatedViaBetterAuth: true };
|
|
76
|
+
return next();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
38
79
|
}
|
|
39
80
|
}
|
|
40
81
|
}
|
|
@@ -43,6 +84,19 @@ let BetterAuthMiddleware = BetterAuthMiddleware_1 = class BetterAuthMiddleware {
|
|
|
43
84
|
}
|
|
44
85
|
next();
|
|
45
86
|
}
|
|
87
|
+
isLegacyJwt(token) {
|
|
88
|
+
try {
|
|
89
|
+
const parts = token.split('.');
|
|
90
|
+
if (parts.length !== 3)
|
|
91
|
+
return false;
|
|
92
|
+
const payloadStr = Buffer.from(parts[1], 'base64url').toString('utf-8');
|
|
93
|
+
const payload = JSON.parse(payloadStr);
|
|
94
|
+
return payload.id !== undefined && payload.sub === undefined;
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
46
100
|
async getSession(req) {
|
|
47
101
|
const api = this.betterAuthService.getApi();
|
|
48
102
|
if (!api) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.middleware.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoE;AAGpE,uEAAoG;AACpG,+DAA0D;AA2BnD,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAG/B,YACmB,iBAAoC,EACpC,UAAgC;QADhC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,eAAU,GAAV,UAAU,CAAsB;QAJlC,WAAM,GAAG,IAAI,eAAM,CAAC,sBAAoB,CAAC,IAAI,CAAC,CAAC;IAK7D,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAsB,EAAE,IAAc,EAAE,IAAkB;QAElE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC;YACxC,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAGD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAE3C,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAElB,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC;gBAChC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;gBAGlC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEtE,IAAI,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"better-auth.middleware.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { CoreBetterAuthController } from './core-better-auth.controller';
|
|
|
7
7
|
import { CoreBetterAuthResolver } from './core-better-auth.resolver';
|
|
8
8
|
export declare const BETTER_AUTH_INSTANCE = "BETTER_AUTH_INSTANCE";
|
|
9
9
|
export interface BetterAuthModuleOptions {
|
|
10
|
-
config: IBetterAuth;
|
|
10
|
+
config: boolean | IBetterAuth;
|
|
11
11
|
controller?: Type<CoreBetterAuthController>;
|
|
12
12
|
fallbackSecrets?: (string | undefined)[];
|
|
13
13
|
resolver?: Type<CoreBetterAuthResolver>;
|
|
@@ -27,6 +27,15 @@ const better_auth_resolver_1 = require("./better-auth.resolver");
|
|
|
27
27
|
const better_auth_service_1 = require("./better-auth.service");
|
|
28
28
|
const core_better_auth_controller_1 = require("./core-better-auth.controller");
|
|
29
29
|
exports.BETTER_AUTH_INSTANCE = 'BETTER_AUTH_INSTANCE';
|
|
30
|
+
function normalizeBetterAuthConfig(config) {
|
|
31
|
+
if (config === undefined || config === null)
|
|
32
|
+
return null;
|
|
33
|
+
if (config === true)
|
|
34
|
+
return {};
|
|
35
|
+
if (config === false)
|
|
36
|
+
return null;
|
|
37
|
+
return config;
|
|
38
|
+
}
|
|
30
39
|
let BetterAuthModule = BetterAuthModule_1 = class BetterAuthModule {
|
|
31
40
|
static getControllerClass() {
|
|
32
41
|
return this.customController || core_better_auth_controller_1.CoreBetterAuthController;
|
|
@@ -52,10 +61,10 @@ let BetterAuthModule = BetterAuthModule_1 = class BetterAuthModule {
|
|
|
52
61
|
const basePath = BetterAuthModule_1.currentConfig?.basePath || '/iam';
|
|
53
62
|
if (BetterAuthModule_1.currentConfig?.rateLimit?.enabled) {
|
|
54
63
|
consumer.apply(better_auth_rate_limit_middleware_1.BetterAuthRateLimitMiddleware).forRoutes(`${basePath}/*path`);
|
|
55
|
-
BetterAuthModule_1.logger.
|
|
64
|
+
BetterAuthModule_1.logger.debug(`Rate limiting middleware registered for ${basePath}/*path endpoints`);
|
|
56
65
|
}
|
|
57
66
|
consumer.apply(better_auth_middleware_1.BetterAuthMiddleware).forRoutes('(.*)');
|
|
58
|
-
BetterAuthModule_1.logger.
|
|
67
|
+
BetterAuthModule_1.logger.debug('BetterAuthMiddleware registered for all routes');
|
|
59
68
|
}
|
|
60
69
|
}
|
|
61
70
|
static async waitForMongoConnection() {
|
|
@@ -73,12 +82,13 @@ let BetterAuthModule = BetterAuthModule_1 = class BetterAuthModule {
|
|
|
73
82
|
throw new Error('MongoDB connection timeout - ensure MongoDB is running and accessible');
|
|
74
83
|
}
|
|
75
84
|
static forRoot(options) {
|
|
76
|
-
const { config, controller, fallbackSecrets, resolver } = options;
|
|
85
|
+
const { config: rawConfig, controller, fallbackSecrets, resolver } = options;
|
|
86
|
+
const config = normalizeBetterAuthConfig(rawConfig);
|
|
77
87
|
this.currentConfig = config;
|
|
78
88
|
this.customController = controller || null;
|
|
79
89
|
this.customResolver = resolver || null;
|
|
80
|
-
if (config?.enabled === false) {
|
|
81
|
-
this.logger.debug('BetterAuth is
|
|
90
|
+
if (config === null || config?.enabled === false) {
|
|
91
|
+
this.logger.debug('BetterAuth is disabled - skipping initialization');
|
|
82
92
|
this.betterAuthEnabled = false;
|
|
83
93
|
return {
|
|
84
94
|
exports: [exports.BETTER_AUTH_INSTANCE, better_auth_service_1.BetterAuthService, better_auth_user_mapper_1.BetterAuthUserMapper, better_auth_rate_limiter_service_1.BetterAuthRateLimiter],
|
|
@@ -108,11 +118,12 @@ let BetterAuthModule = BetterAuthModule_1 = class BetterAuthModule {
|
|
|
108
118
|
inject: [config_service_1.ConfigService],
|
|
109
119
|
provide: exports.BETTER_AUTH_INSTANCE,
|
|
110
120
|
useFactory: async (configService) => {
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
if (config?.enabled === false) {
|
|
114
|
-
this.logger.debug('BetterAuth is
|
|
121
|
+
const rawConfig = configService.get('betterAuth');
|
|
122
|
+
const config = normalizeBetterAuthConfig(rawConfig);
|
|
123
|
+
if (config === null || config?.enabled === false) {
|
|
124
|
+
this.logger.debug('BetterAuth is disabled');
|
|
115
125
|
this.betterAuthEnabled = false;
|
|
126
|
+
this.currentConfig = config;
|
|
116
127
|
return null;
|
|
117
128
|
}
|
|
118
129
|
this.betterAuthEnabled = true;
|
|
@@ -124,6 +135,7 @@ let BetterAuthModule = BetterAuthModule_1 = class BetterAuthModule {
|
|
|
124
135
|
const jwtConfig = configService.get('jwt');
|
|
125
136
|
const fallbackSecrets = [jwtConfig?.secret, jwtConfig?.refresh?.secret];
|
|
126
137
|
this.authInstance = (0, better_auth_config_1.createBetterAuthInstance)({ config, db, fallbackSecrets });
|
|
138
|
+
this.currentConfig = config;
|
|
127
139
|
if (this.authInstance) {
|
|
128
140
|
this.logger.log('BetterAuth initialized successfully');
|
|
129
141
|
this.logEnabledFeatures(config);
|
|
@@ -132,10 +144,14 @@ let BetterAuthModule = BetterAuthModule_1 = class BetterAuthModule {
|
|
|
132
144
|
},
|
|
133
145
|
},
|
|
134
146
|
{
|
|
135
|
-
|
|
147
|
+
provide: better_auth_service_1.BETTER_AUTH_CONFIG,
|
|
148
|
+
useFactory: () => this.currentConfig,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
inject: [exports.BETTER_AUTH_INSTANCE, better_auth_service_1.BETTER_AUTH_CONFIG, (0, mongoose_1.getConnectionToken)()],
|
|
136
152
|
provide: better_auth_service_1.BetterAuthService,
|
|
137
|
-
useFactory: (authInstance,
|
|
138
|
-
return new better_auth_service_1.BetterAuthService(authInstance,
|
|
153
|
+
useFactory: (authInstance, resolvedConfig, connection) => {
|
|
154
|
+
return new better_auth_service_1.BetterAuthService(authInstance, connection, resolvedConfig);
|
|
139
155
|
},
|
|
140
156
|
},
|
|
141
157
|
better_auth_user_mapper_1.BetterAuthUserMapper,
|
|
@@ -180,6 +196,7 @@ let BetterAuthModule = BetterAuthModule_1 = class BetterAuthModule {
|
|
|
180
196
|
else {
|
|
181
197
|
this.authInstance = (0, better_auth_config_1.createBetterAuthInstance)({ config, db, fallbackSecrets });
|
|
182
198
|
}
|
|
199
|
+
this.currentConfig = config;
|
|
183
200
|
if (this.authInstance && !this.initLogged) {
|
|
184
201
|
this.initLogged = true;
|
|
185
202
|
this.logger.log('BetterAuth initialized');
|
|
@@ -189,10 +206,14 @@ let BetterAuthModule = BetterAuthModule_1 = class BetterAuthModule {
|
|
|
189
206
|
},
|
|
190
207
|
},
|
|
191
208
|
{
|
|
192
|
-
|
|
209
|
+
provide: better_auth_service_1.BETTER_AUTH_CONFIG,
|
|
210
|
+
useFactory: () => this.currentConfig,
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
inject: [exports.BETTER_AUTH_INSTANCE, better_auth_service_1.BETTER_AUTH_CONFIG, (0, mongoose_1.getConnectionToken)()],
|
|
193
214
|
provide: better_auth_service_1.BetterAuthService,
|
|
194
|
-
useFactory: (authInstance,
|
|
195
|
-
return new better_auth_service_1.BetterAuthService(authInstance,
|
|
215
|
+
useFactory: (authInstance, resolvedConfig, connection) => {
|
|
216
|
+
return new better_auth_service_1.BetterAuthService(authInstance, connection, resolvedConfig);
|
|
196
217
|
},
|
|
197
218
|
},
|
|
198
219
|
better_auth_user_mapper_1.BetterAuthUserMapper,
|
|
@@ -205,13 +226,20 @@ let BetterAuthModule = BetterAuthModule_1 = class BetterAuthModule {
|
|
|
205
226
|
}
|
|
206
227
|
static logEnabledFeatures(config) {
|
|
207
228
|
const features = [];
|
|
208
|
-
|
|
229
|
+
const isPluginEnabled = (value) => {
|
|
230
|
+
if (value === undefined || value === false)
|
|
231
|
+
return false;
|
|
232
|
+
if (value === true)
|
|
233
|
+
return true;
|
|
234
|
+
return value.enabled !== false;
|
|
235
|
+
};
|
|
236
|
+
if (isPluginEnabled(config.jwt)) {
|
|
209
237
|
features.push('JWT');
|
|
210
238
|
}
|
|
211
|
-
if (config.twoFactor
|
|
239
|
+
if (isPluginEnabled(config.twoFactor)) {
|
|
212
240
|
features.push('2FA/TOTP');
|
|
213
241
|
}
|
|
214
|
-
if (config.passkey
|
|
242
|
+
if (isPluginEnabled(config.passkey)) {
|
|
215
243
|
features.push('Passkey/WebAuthn');
|
|
216
244
|
}
|
|
217
245
|
const socialProviders = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.module.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAUwB;AACxB,+CAAsD;AACtD,uCAAgD;AAGhD,yEAAqE;AACrE,2FAAoF;AACpF,yFAA2E;AAC3E,uEAAiE;AACjE,6DAAoF;AACpF,qEAAgE;AAChE,iEAA4D;AAC5D,+
|
|
1
|
+
{"version":3,"file":"better-auth.module.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.BetterAuthResolver = void 0;
|
|
16
|
-
const common_1 = require("@nestjs/common");
|
|
17
16
|
const graphql_1 = require("@nestjs/graphql");
|
|
18
17
|
const roles_decorator_1 = require("../../common/decorators/roles.decorator");
|
|
19
18
|
const role_enum_1 = require("../../common/enums/role.enum");
|
|
20
|
-
const auth_guard_strategy_enum_1 = require("../auth/auth-guard-strategy.enum");
|
|
21
|
-
const auth_guard_1 = require("../auth/guards/auth.guard");
|
|
22
19
|
const better_auth_auth_model_1 = require("./better-auth-auth.model");
|
|
23
20
|
const better_auth_models_1 = require("./better-auth-models");
|
|
24
21
|
const better_auth_user_mapper_1 = require("./better-auth-user.mapper");
|
|
@@ -77,7 +74,6 @@ __decorate([
|
|
|
77
74
|
nullable: true,
|
|
78
75
|
}),
|
|
79
76
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
80
|
-
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
81
77
|
__param(0, (0, graphql_1.Context)()),
|
|
82
78
|
__metadata("design:type", Function),
|
|
83
79
|
__metadata("design:paramtypes", [Object]),
|
|
@@ -103,7 +99,6 @@ __decorate([
|
|
|
103
99
|
nullable: true,
|
|
104
100
|
}),
|
|
105
101
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
106
|
-
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
107
102
|
__param(0, (0, graphql_1.Context)()),
|
|
108
103
|
__metadata("design:type", Function),
|
|
109
104
|
__metadata("design:paramtypes", [Object]),
|
|
@@ -136,7 +131,6 @@ __decorate([
|
|
|
136
131
|
__decorate([
|
|
137
132
|
(0, graphql_1.Mutation)(() => Boolean, { description: 'Sign out via Better-Auth' }),
|
|
138
133
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
139
|
-
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
140
134
|
__param(0, (0, graphql_1.Context)()),
|
|
141
135
|
__metadata("design:type", Function),
|
|
142
136
|
__metadata("design:paramtypes", [Object]),
|
|
@@ -158,7 +152,6 @@ __decorate([
|
|
|
158
152
|
description: 'Enable 2FA for the current user',
|
|
159
153
|
}),
|
|
160
154
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
161
|
-
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
162
155
|
__param(0, (0, graphql_1.Args)('password')),
|
|
163
156
|
__param(1, (0, graphql_1.Context)()),
|
|
164
157
|
__metadata("design:type", Function),
|
|
@@ -170,7 +163,6 @@ __decorate([
|
|
|
170
163
|
description: 'Disable 2FA for the current user',
|
|
171
164
|
}),
|
|
172
165
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
173
|
-
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
174
166
|
__param(0, (0, graphql_1.Args)('password')),
|
|
175
167
|
__param(1, (0, graphql_1.Context)()),
|
|
176
168
|
__metadata("design:type", Function),
|
|
@@ -183,7 +175,6 @@ __decorate([
|
|
|
183
175
|
nullable: true,
|
|
184
176
|
}),
|
|
185
177
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
186
|
-
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
187
178
|
__param(0, (0, graphql_1.Context)()),
|
|
188
179
|
__metadata("design:type", Function),
|
|
189
180
|
__metadata("design:paramtypes", [Object]),
|
|
@@ -194,7 +185,6 @@ __decorate([
|
|
|
194
185
|
description: 'Get passkey registration challenge for WebAuthn',
|
|
195
186
|
}),
|
|
196
187
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
197
|
-
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
198
188
|
__param(0, (0, graphql_1.Context)()),
|
|
199
189
|
__metadata("design:type", Function),
|
|
200
190
|
__metadata("design:paramtypes", [Object]),
|
|
@@ -205,7 +195,6 @@ __decorate([
|
|
|
205
195
|
description: 'Delete a passkey by ID',
|
|
206
196
|
}),
|
|
207
197
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
208
|
-
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
209
198
|
__param(0, (0, graphql_1.Args)('passkeyId')),
|
|
210
199
|
__param(1, (0, graphql_1.Context)()),
|
|
211
200
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.resolver.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"better-auth.resolver.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Request } from 'express';
|
|
2
|
+
import { Connection } from 'mongoose';
|
|
2
3
|
import { IBetterAuth } from '../../common/interfaces/server-options.interface';
|
|
3
4
|
import { ConfigService } from '../../common/services/config.service';
|
|
4
5
|
import { BetterAuthSessionUser } from './better-auth-user.mapper';
|
|
@@ -12,12 +13,15 @@ export interface SessionResult {
|
|
|
12
13
|
};
|
|
13
14
|
user: BetterAuthSessionUser | null;
|
|
14
15
|
}
|
|
16
|
+
export declare const BETTER_AUTH_CONFIG = "BETTER_AUTH_CONFIG";
|
|
15
17
|
export declare class BetterAuthService {
|
|
16
18
|
private readonly authInstance;
|
|
19
|
+
private readonly connection?;
|
|
20
|
+
private readonly resolvedConfig?;
|
|
17
21
|
private readonly configService?;
|
|
18
22
|
private readonly logger;
|
|
19
23
|
private readonly config;
|
|
20
|
-
constructor(authInstance: BetterAuthInstance | null, configService?: ConfigService);
|
|
24
|
+
constructor(authInstance: BetterAuthInstance | null, connection?: Connection, resolvedConfig?: IBetterAuth | null, configService?: ConfigService);
|
|
21
25
|
isEnabled(): boolean;
|
|
22
26
|
getInstance(): BetterAuthInstance | null;
|
|
23
27
|
getApi(): BetterAuthInstance['api'] | null;
|
|
@@ -25,13 +29,30 @@ export declare class BetterAuthService {
|
|
|
25
29
|
isJwtEnabled(): boolean;
|
|
26
30
|
isTwoFactorEnabled(): boolean;
|
|
27
31
|
isPasskeyEnabled(): boolean;
|
|
32
|
+
private isPluginEnabled;
|
|
28
33
|
getEnabledSocialProviders(): string[];
|
|
29
34
|
getBasePath(): string;
|
|
30
35
|
getBaseUrl(): string;
|
|
36
|
+
getToken(req: Request | {
|
|
37
|
+
headers: Record<string, string | string[] | undefined>;
|
|
38
|
+
}): Promise<null | string>;
|
|
31
39
|
getSession(req: Request | {
|
|
32
40
|
headers: Record<string, string | string[] | undefined>;
|
|
33
41
|
}): Promise<SessionResult>;
|
|
34
42
|
revokeSession(sessionToken: string): Promise<boolean>;
|
|
35
43
|
isSessionExpiringSoon(session: SessionResult['session'], thresholdMinutes?: number): boolean;
|
|
36
44
|
getSessionTimeRemaining(session: SessionResult['session']): number;
|
|
45
|
+
getSessionByToken(token: string): Promise<SessionResult>;
|
|
46
|
+
verifyJwtToken(token: string): Promise<null | {
|
|
47
|
+
[key: string]: any;
|
|
48
|
+
email?: string;
|
|
49
|
+
sub: string;
|
|
50
|
+
}>;
|
|
51
|
+
private verifyHs256Token;
|
|
52
|
+
private verifyJwksToken;
|
|
53
|
+
verifyJwtFromRequest(req: Request): Promise<null | {
|
|
54
|
+
[key: string]: any;
|
|
55
|
+
email?: string;
|
|
56
|
+
sub: string;
|
|
57
|
+
}>;
|
|
37
58
|
}
|