@nauth-toolkit/core 0.1.6 → 0.1.9
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/adapters/express.adapter.js +1 -1
- package/dist/adapters/express.adapter.js.map +1 -1
- package/dist/adapters.d.ts +2 -0
- package/dist/adapters.d.ts.map +1 -0
- package/dist/adapters.js +18 -0
- package/dist/adapters.js.map +1 -0
- package/dist/dto/admin-set-password.dto.d.ts +12 -0
- package/dist/dto/admin-set-password.dto.d.ts.map +1 -0
- package/dist/dto/admin-set-password.dto.js +62 -0
- package/dist/dto/admin-set-password.dto.js.map +1 -0
- package/dist/dto/confirm-forgot-password.dto.d.ts +10 -0
- package/dist/dto/confirm-forgot-password.dto.d.ts.map +1 -0
- package/dist/dto/confirm-forgot-password.dto.js +58 -0
- package/dist/dto/confirm-forgot-password.dto.js.map +1 -0
- package/dist/dto/forgot-password.dto.d.ts +10 -0
- package/dist/dto/forgot-password.dto.d.ts.map +1 -0
- package/dist/dto/forgot-password.dto.js +43 -0
- package/dist/dto/forgot-password.dto.js.map +1 -0
- package/dist/dto/index.d.ts +3 -0
- package/dist/dto/index.d.ts.map +1 -1
- package/dist/dto/index.js +3 -0
- package/dist/dto/index.js.map +1 -1
- package/dist/dto.d.ts +2 -0
- package/dist/dto.d.ts.map +1 -0
- package/dist/dto.js +18 -0
- package/dist/dto.js.map +1 -0
- package/dist/entities/challenge-session.entity.d.ts +3 -3
- package/dist/entities/challenge-session.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.d.ts +19 -19
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities.d.ts +2 -0
- package/dist/entities.d.ts.map +1 -0
- package/dist/entities.js +18 -0
- package/dist/entities.js.map +1 -0
- package/dist/enums/error-codes.enum.d.ts +4 -0
- package/dist/enums/error-codes.enum.d.ts.map +1 -1
- package/dist/enums/error-codes.enum.js +4 -0
- package/dist/enums/error-codes.enum.js.map +1 -1
- package/dist/enums/risk-factor.enum.d.ts +1 -0
- package/dist/enums/risk-factor.enum.d.ts.map +1 -1
- package/dist/enums/risk-factor.enum.js +1 -0
- package/dist/enums/risk-factor.enum.js.map +1 -1
- package/dist/handlers/token-delivery.handler.d.ts +2 -1
- package/dist/handlers/token-delivery.handler.d.ts.map +1 -1
- package/dist/handlers/token-delivery.handler.js +7 -1
- package/dist/handlers/token-delivery.handler.js.map +1 -1
- package/dist/interfaces/config.interface.d.ts +10 -1
- package/dist/interfaces/config.interface.d.ts.map +1 -1
- package/dist/interfaces.d.ts +2 -0
- package/dist/interfaces.d.ts.map +1 -0
- package/dist/interfaces.js +18 -0
- package/dist/interfaces.js.map +1 -0
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +3 -1
- package/dist/internal.js.map +1 -1
- package/dist/schemas/auth-config.schema.d.ts +147 -53
- package/dist/schemas/auth-config.schema.d.ts.map +1 -1
- package/dist/schemas/auth-config.schema.js +17 -1
- package/dist/schemas/auth-config.schema.js.map +1 -1
- package/dist/services/auth-audit.service.js.map +1 -1
- package/dist/services/auth-challenge-helper.service.js +1 -1
- package/dist/services/auth-challenge-helper.service.js.map +1 -1
- package/dist/services/auth-flow-context-builder.service.d.ts.map +1 -1
- package/dist/services/auth-flow-context-builder.service.js.map +1 -1
- package/dist/services/auth-flow-state-machine.service.js +1 -1
- package/dist/services/auth-flow-state-machine.service.js.map +1 -1
- package/dist/services/auth.service.d.ts +10 -1
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +240 -62
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/csrf.service.d.ts +2 -1
- package/dist/services/csrf.service.d.ts.map +1 -1
- package/dist/services/csrf.service.js.map +1 -1
- package/dist/services/geo-location.service.d.ts.map +1 -1
- package/dist/services/geo-location.service.js +9 -8
- package/dist/services/geo-location.service.js.map +1 -1
- package/dist/services/jwt.service.d.ts +3 -0
- package/dist/services/jwt.service.d.ts.map +1 -1
- package/dist/services/jwt.service.js +22 -3
- package/dist/services/jwt.service.js.map +1 -1
- package/dist/services/password-reset.service.d.ts +32 -0
- package/dist/services/password-reset.service.d.ts.map +1 -0
- package/dist/services/password-reset.service.js +198 -0
- package/dist/services/password-reset.service.js.map +1 -0
- package/dist/services/password.service.d.ts.map +1 -1
- package/dist/services/password.service.js +7 -0
- package/dist/services/password.service.js.map +1 -1
- package/dist/services/risk-detection.service.d.ts.map +1 -1
- package/dist/services/risk-detection.service.js +8 -0
- package/dist/services/risk-detection.service.js.map +1 -1
- package/dist/services/risk-scoring.service.d.ts.map +1 -1
- package/dist/services/risk-scoring.service.js +1 -0
- package/dist/services/risk-scoring.service.js.map +1 -1
- package/dist/services/session.service.js.map +1 -1
- package/dist/services/social-auth-base.service.d.ts +5 -5
- package/dist/services/social-auth-base.service.d.ts.map +1 -1
- package/dist/services/social-auth-base.service.js +5 -4
- package/dist/services/social-auth-base.service.js.map +1 -1
- package/dist/services/social-auth.service.d.ts +1 -1
- package/dist/services/social-auth.service.d.ts.map +1 -1
- package/dist/services/social-auth.service.js.map +1 -1
- package/dist/storage.d.ts +2 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +18 -0
- package/dist/storage.js.map +1 -0
- package/dist/templates.d.ts +2 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +18 -0
- package/dist/templates.js.map +1 -0
- package/dist/utils/ip-extractor.d.ts +12 -1
- package/dist/utils/ip-extractor.d.ts.map +1 -1
- package/dist/utils/ip-extractor.js +3 -2
- package/dist/utils/ip-extractor.js.map +1 -1
- package/dist/utils/setup/init-services.d.ts.map +1 -1
- package/dist/utils/setup/init-services.js +24 -13
- package/dist/utils/setup/init-services.js.map +1 -1
- package/dist/utils/setup/init-social.d.ts +4 -3
- package/dist/utils/setup/init-social.d.ts.map +1 -1
- package/dist/utils/setup/init-social.js +38 -15
- package/dist/utils/setup/init-social.js.map +1 -1
- package/dist/utils/setup/init-storage.d.ts +2 -2
- package/dist/utils/setup/init-storage.d.ts.map +1 -1
- package/dist/utils/setup/init-storage.js +26 -9
- package/dist/utils/setup/init-storage.js.map +1 -1
- package/dist/utils/setup/register-mfa.d.ts.map +1 -1
- package/dist/utils/setup/register-mfa.js +50 -22
- package/dist/utils/setup/register-mfa.js.map +1 -1
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +18 -0
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
|
@@ -34,41 +34,64 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.initSocialAuth = initSocialAuth;
|
|
37
|
+
async function importOptional(moduleName) {
|
|
38
|
+
try {
|
|
39
|
+
return (await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s))));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
37
45
|
async function initSocialAuth(config, providerRegistry, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService, logger, socialAuthStateStore, userRepository, phoneVerificationService, auditService, trustedDeviceService) {
|
|
38
46
|
const providers = {};
|
|
39
47
|
if (config.social?.google?.enabled) {
|
|
40
48
|
try {
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
const googleModule = await importOptional('@nauth-toolkit/social-google');
|
|
50
|
+
if (!googleModule) {
|
|
51
|
+
logger?.warn?.('Google OAuth provider not available. Install @nauth-toolkit/social-google to enable Google authentication.');
|
|
52
|
+
return providers;
|
|
53
|
+
}
|
|
54
|
+
const tokenVerifier = new googleModule.TokenVerifierService(config);
|
|
55
|
+
const googleAuth = new googleModule.GoogleSocialAuthService(config, logger, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService, socialAuthStateStore, userRepository, phoneVerificationService, auditService, trustedDeviceService, tokenVerifier);
|
|
56
|
+
providers.googleAuth = googleAuth;
|
|
57
|
+
providerRegistry.registerProvider(googleAuth);
|
|
45
58
|
logger?.debug?.('Google OAuth provider initialized');
|
|
46
59
|
}
|
|
47
|
-
catch
|
|
60
|
+
catch {
|
|
48
61
|
logger?.warn?.('Google OAuth provider not available. Install @nauth-toolkit/social-google to enable Google authentication.');
|
|
49
62
|
}
|
|
50
63
|
}
|
|
51
64
|
if (config.social?.apple?.enabled) {
|
|
52
65
|
try {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
66
|
+
const appleModule = await importOptional('@nauth-toolkit/social-apple');
|
|
67
|
+
if (!appleModule) {
|
|
68
|
+
logger?.warn?.('Apple Sign-In provider not available. Install @nauth-toolkit/social-apple to enable Apple authentication.');
|
|
69
|
+
return providers;
|
|
70
|
+
}
|
|
71
|
+
const tokenVerifier = new appleModule.TokenVerifierService(config);
|
|
72
|
+
const appleAuth = new appleModule.AppleSocialAuthService(config, logger, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService, socialAuthStateStore, userRepository, phoneVerificationService, auditService, trustedDeviceService, tokenVerifier);
|
|
73
|
+
providers.appleAuth = appleAuth;
|
|
74
|
+
providerRegistry.registerProvider(appleAuth);
|
|
57
75
|
logger?.debug?.('Apple Sign-In provider initialized');
|
|
58
76
|
}
|
|
59
|
-
catch
|
|
77
|
+
catch {
|
|
60
78
|
logger?.warn?.('Apple Sign-In provider not available. Install @nauth-toolkit/social-apple to enable Apple authentication.');
|
|
61
79
|
}
|
|
62
80
|
}
|
|
63
81
|
if (config.social?.facebook?.enabled) {
|
|
64
82
|
try {
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
83
|
+
const facebookModule = await importOptional('@nauth-toolkit/social-facebook');
|
|
84
|
+
if (!facebookModule) {
|
|
85
|
+
logger?.warn?.('Facebook OAuth provider not available. Install @nauth-toolkit/social-facebook to enable Facebook authentication.');
|
|
86
|
+
return providers;
|
|
87
|
+
}
|
|
88
|
+
const tokenVerifier = new facebookModule.TokenVerifierService(config);
|
|
89
|
+
const facebookAuth = new facebookModule.FacebookSocialAuthService(config, logger, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService, socialAuthStateStore, userRepository, phoneVerificationService, auditService, trustedDeviceService, tokenVerifier);
|
|
90
|
+
providers.facebookAuth = facebookAuth;
|
|
91
|
+
providerRegistry.registerProvider(facebookAuth);
|
|
69
92
|
logger?.debug?.('Facebook OAuth provider initialized');
|
|
70
93
|
}
|
|
71
|
-
catch
|
|
94
|
+
catch {
|
|
72
95
|
logger?.warn?.('Facebook OAuth provider not available. Install @nauth-toolkit/social-facebook to enable Facebook authentication.');
|
|
73
96
|
}
|
|
74
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-social.js","sourceRoot":"","sources":["../../../src/utils/setup/init-social.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"init-social.js","sourceRoot":"","sources":["../../../src/utils/setup/init-social.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Repository } from 'typeorm';
|
|
1
|
+
import { Repository, type ObjectLiteral } from 'typeorm';
|
|
2
2
|
import { StorageAdapter, LoggerService, NAuthConfig } from '../../index';
|
|
3
|
-
export declare function initStorage(config: NAuthConfig, rateLimitRepo: Repository<
|
|
3
|
+
export declare function initStorage(config: NAuthConfig, rateLimitRepo: Repository<ObjectLiteral> | null, storageLockRepo: Repository<ObjectLiteral> | null, logger: LoggerService): Promise<StorageAdapter>;
|
|
4
4
|
//# sourceMappingURL=init-storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-storage.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/init-storage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"init-storage.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/init-storage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAiC,MAAM,aAAa,CAAC;AAkCxG,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,EAC/C,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,EACjD,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,cAAc,CAAC,CAqFzB"}
|
|
@@ -35,15 +35,27 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.initStorage = initStorage;
|
|
37
37
|
const index_1 = require("../../index");
|
|
38
|
+
async function importOptional(moduleName) {
|
|
39
|
+
try {
|
|
40
|
+
return (await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s))));
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
38
46
|
async function initStorage(config, rateLimitRepo, storageLockRepo, logger) {
|
|
39
47
|
if (config.storageAdapter) {
|
|
40
48
|
const adapter = config.storageAdapter;
|
|
41
|
-
|
|
42
|
-
adapter
|
|
49
|
+
{
|
|
50
|
+
const maybeLoggerAware = adapter;
|
|
51
|
+
if (typeof maybeLoggerAware.setLogger === 'function') {
|
|
52
|
+
maybeLoggerAware.setLogger(logger);
|
|
53
|
+
}
|
|
43
54
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
55
|
+
{
|
|
56
|
+
const maybeRepoAware = adapter;
|
|
57
|
+
if (typeof maybeRepoAware.setRepositories === 'function' && rateLimitRepo && storageLockRepo) {
|
|
58
|
+
maybeRepoAware.setRepositories(rateLimitRepo, storageLockRepo);
|
|
47
59
|
}
|
|
48
60
|
}
|
|
49
61
|
await adapter.initialize();
|
|
@@ -51,16 +63,21 @@ async function initStorage(config, rateLimitRepo, storageLockRepo, logger) {
|
|
|
51
63
|
}
|
|
52
64
|
if (rateLimitRepo && storageLockRepo) {
|
|
53
65
|
try {
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
66
|
+
const mod = await importOptional('@nauth-toolkit/storage-database');
|
|
67
|
+
if (!mod) {
|
|
68
|
+
throw new Error('storage-database package not installed');
|
|
69
|
+
}
|
|
70
|
+
const adapter = new mod.DatabaseStorageAdapter(null, null, logger);
|
|
71
|
+
if (typeof adapter.setRepositories === 'function') {
|
|
72
|
+
adapter.setRepositories(rateLimitRepo, storageLockRepo);
|
|
73
|
+
}
|
|
57
74
|
await adapter.initialize();
|
|
58
75
|
logger?.warn?.('WARNING: Storage adapter not provided. Using DatabaseStorageAdapter as default. ' +
|
|
59
76
|
'For production, explicitly configure storageAdapter in your config.');
|
|
60
77
|
return adapter;
|
|
61
78
|
}
|
|
62
79
|
catch (error) {
|
|
63
|
-
logger?.error?.('Failed to create DatabaseStorageAdapter. Please explicitly configure storageAdapter in your config.', { error });
|
|
80
|
+
logger?.error?.('Failed to create DatabaseStorageAdapter. Please explicitly configure storageAdapter in your config.', { error: error });
|
|
64
81
|
}
|
|
65
82
|
}
|
|
66
83
|
throw new index_1.NAuthException(index_1.AuthErrorCode.VALIDATION_FAILED, 'Storage adapter is REQUIRED for production deployments. ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-storage.js","sourceRoot":"","sources":["../../../src/utils/setup/init-storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"init-storage.js","sourceRoot":"","sources":["../../../src/utils/setup/init-storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,kCA0FC;AA5HD,uCAAwG;AASxG,KAAK,UAAU,cAAc,CAAU,UAAkB;IACvD,IAAI,CAAC;QACH,OAAO,CAAC,yBAAa,UAAU,uCAAC,CAAuB,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAmBM,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,aAA+C,EAC/C,eAAiD,EACjD,MAAqB;IAGrB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;QAGtC,CAAC;YACC,MAAM,gBAAgB,GAAG,OAA0D,CAAC;YACpF,IAAI,OAAO,gBAAgB,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACrD,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAGD,CAAC;YACC,MAAM,cAAc,GAAG,OAKtB,CAAC;YACF,IAAI,OAAO,cAAc,CAAC,eAAe,KAAK,UAAU,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;gBAC7F,cAAc,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAGD,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC;YAWH,MAAM,GAAG,GAAG,MAAM,cAAc,CAA+B,iCAA2C,CAAC,CAAC;YAC5G,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACnE,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;gBAClD,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE3B,MAAM,EAAE,IAAI,EAAE,CACZ,kFAAkF;gBAChF,qEAAqE,CACxE,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,EAAE,KAAK,EAAE,CACb,qGAAqG,EACrG,EAAE,KAAK,EAAE,KAAc,EAAE,CAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAGD,MAAM,IAAI,sBAAc,CACtB,qBAAa,CAAC,iBAAiB,EAC/B,0DAA0D;QACxD,uGAAuG;QACvG,0DAA0D;QAC1D,yEAAyE;QACzE,4EAA4E;QAC5E,sDAAsD;QACtD,iFAAiF;QACjF,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,yFAAyF;QACzF,mEAAmE,CACtE,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-mfa.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/register-mfa.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-mfa.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/register-mfa.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAkCnE,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,UAAU,CAAC,aAAa,CAAC,EAC9C,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,EACpC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,eAAe,EAChC,wBAAwB,EAAE,wBAAwB,EAClD,wBAAwB,CAAC,EAAE,wBAAwB,EACnD,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,YAAY,CAAC,EAAE,gBAAgB,EAC/B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,IAAI,CAAC,CA0If"}
|
|
@@ -34,28 +34,46 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.registerMFAProviders = registerMFAProviders;
|
|
37
|
+
async function importOptional(moduleName) {
|
|
38
|
+
try {
|
|
39
|
+
return (await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s))));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
37
45
|
async function registerMFAProviders(config, mfaService, mfaDeviceRepository, userRepository, logger, passwordService, emailVerificationService, phoneVerificationService, challengeService, auditService, clientInfoService) {
|
|
38
46
|
if (!config.mfa?.enabled) {
|
|
39
47
|
return;
|
|
40
48
|
}
|
|
41
49
|
try {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
const mod = await importOptional('@nauth-toolkit/mfa-totp');
|
|
51
|
+
if (!mod) {
|
|
52
|
+
logger?.warn?.('TOTP MFA package not found. Install @nauth-toolkit/mfa-totp to enable TOTP MFA.');
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const totpService = new mod.TOTPService(config, logger);
|
|
56
|
+
const totpProvider = new mod.TOTPMFAProviderService(mfaDeviceRepository, userRepository, config, logger, passwordService, totpService, challengeService, auditService, clientInfoService);
|
|
57
|
+
mfaService.registerProvider(totpProvider);
|
|
58
|
+
logger?.debug?.('TOTP MFA provider registered');
|
|
59
|
+
}
|
|
47
60
|
}
|
|
48
|
-
catch
|
|
61
|
+
catch {
|
|
49
62
|
logger?.warn?.('TOTP MFA package not found. Install @nauth-toolkit/mfa-totp to enable TOTP MFA.');
|
|
50
63
|
}
|
|
51
64
|
if (phoneVerificationService) {
|
|
52
65
|
try {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
66
|
+
const mod = await importOptional('@nauth-toolkit/mfa-sms');
|
|
67
|
+
if (!mod) {
|
|
68
|
+
logger?.warn?.('SMS MFA package not found. Install @nauth-toolkit/mfa-sms to enable SMS MFA.');
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const smsProvider = new mod.SMSMFAProviderService(mfaDeviceRepository, userRepository, config, logger, passwordService, phoneVerificationService, challengeService, auditService, clientInfoService);
|
|
72
|
+
mfaService.registerProvider(smsProvider);
|
|
73
|
+
logger?.debug?.('SMS MFA provider registered');
|
|
74
|
+
}
|
|
57
75
|
}
|
|
58
|
-
catch
|
|
76
|
+
catch {
|
|
59
77
|
logger?.warn?.('SMS MFA package not found. Install @nauth-toolkit/mfa-sms to enable SMS MFA.');
|
|
60
78
|
}
|
|
61
79
|
}
|
|
@@ -63,22 +81,32 @@ async function registerMFAProviders(config, mfaService, mfaDeviceRepository, use
|
|
|
63
81
|
logger?.debug?.('Phone verification service not configured. Skipping SMS MFA registration.');
|
|
64
82
|
}
|
|
65
83
|
try {
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
84
|
+
const mod = await importOptional('@nauth-toolkit/mfa-email');
|
|
85
|
+
if (!mod) {
|
|
86
|
+
logger?.warn?.('Email MFA package not found. Install @nauth-toolkit/mfa-email to enable Email MFA.');
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
const emailProvider = new mod.EmailMFAProviderService(mfaDeviceRepository, userRepository, config, logger, passwordService, emailVerificationService, challengeService, auditService, clientInfoService);
|
|
90
|
+
mfaService.registerProvider(emailProvider);
|
|
91
|
+
logger?.debug?.('Email MFA provider registered');
|
|
92
|
+
}
|
|
70
93
|
}
|
|
71
|
-
catch
|
|
94
|
+
catch {
|
|
72
95
|
logger?.warn?.('Email MFA package not found. Install @nauth-toolkit/mfa-email to enable Email MFA.');
|
|
73
96
|
}
|
|
74
97
|
try {
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
98
|
+
const mod = await importOptional('@nauth-toolkit/mfa-passkey');
|
|
99
|
+
if (!mod) {
|
|
100
|
+
logger?.warn?.('Passkey MFA package not found. Install @nauth-toolkit/mfa-passkey to enable Passkey MFA.');
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const passkeyService = new mod.PasskeyService(config, logger);
|
|
104
|
+
const passkeyProvider = new mod.PasskeyMFAProviderService(mfaDeviceRepository, userRepository, config, logger, passwordService, passkeyService, challengeService, auditService, clientInfoService);
|
|
105
|
+
mfaService.registerProvider(passkeyProvider);
|
|
106
|
+
logger?.debug?.('Passkey MFA provider registered');
|
|
107
|
+
}
|
|
80
108
|
}
|
|
81
|
-
catch
|
|
109
|
+
catch {
|
|
82
110
|
logger?.warn?.('Passkey MFA package not found. Install @nauth-toolkit/mfa-passkey to enable Passkey MFA.');
|
|
83
111
|
}
|
|
84
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-mfa.js","sourceRoot":"","sources":["../../../src/utils/setup/register-mfa.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"register-mfa.js","sourceRoot":"","sources":["../../../src/utils/setup/register-mfa.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAQA,cAAc,eAAe,CAAC"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./utils/index"), exports);
|
|
18
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQA,gDAA8B"}
|