@nauth-toolkit/mfa-email 0.1.87 → 0.1.89
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Repository } from 'typeorm';
|
|
2
|
-
import { BaseMFADevice, BaseUser,
|
|
2
|
+
import { BaseMFADevice, BaseUser, NAuthConfig, NAuthLogger, EmailVerificationService, MFAMethod, ClientInfoService } from '@nauth-toolkit/core';
|
|
3
3
|
import { BaseMFAProviderService, ChallengeService, AuthAuditService } from '@nauth-toolkit/core/internal';
|
|
4
4
|
/**
|
|
5
5
|
* Email MFA Provider Service
|
|
@@ -47,7 +47,7 @@ export declare class EmailMFAProviderService extends BaseMFAProviderService {
|
|
|
47
47
|
* // If email not verified: { maskedEmail: 'u***r@example.com' } (Email code sent)
|
|
48
48
|
* ```
|
|
49
49
|
*/
|
|
50
|
-
setup(
|
|
50
|
+
setup(setupData?: unknown): Promise<{
|
|
51
51
|
deviceId: number;
|
|
52
52
|
autoCompleted: true;
|
|
53
53
|
} | {
|
|
@@ -78,7 +78,7 @@ export declare class EmailMFAProviderService extends BaseMFAProviderService {
|
|
|
78
78
|
* });
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
81
|
-
verifySetup(
|
|
81
|
+
verifySetup(verificationData: unknown, deviceName?: string): Promise<number>;
|
|
82
82
|
/**
|
|
83
83
|
* Verify Email code during authentication
|
|
84
84
|
*
|
|
@@ -95,7 +95,7 @@ export declare class EmailMFAProviderService extends BaseMFAProviderService {
|
|
|
95
95
|
* const isValid = await provider.verify(user, '123456');
|
|
96
96
|
* ```
|
|
97
97
|
*/
|
|
98
|
-
verify(
|
|
98
|
+
verify(code: unknown, deviceId?: number): Promise<boolean>;
|
|
99
99
|
/**
|
|
100
100
|
* Send Email code for MFA verification
|
|
101
101
|
*
|
|
@@ -111,6 +111,6 @@ export declare class EmailMFAProviderService extends BaseMFAProviderService {
|
|
|
111
111
|
* // Returns: 'u***r@example.com'
|
|
112
112
|
* ```
|
|
113
113
|
*/
|
|
114
|
-
sendChallenge(
|
|
114
|
+
sendChallenge(): Promise<string>;
|
|
115
115
|
}
|
|
116
116
|
//# sourceMappingURL=email-mfa-provider.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-mfa-provider.service.d.ts","sourceRoot":"","sources":["../../src/email-mfa-provider.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,aAAa,EACb,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"email-mfa-provider.service.d.ts","sourceRoot":"","sources":["../../src/email-mfa-provider.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EAGX,wBAAwB,EACxB,SAAS,EAGT,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAG1G;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,uBAAwB,SAAQ,sBAAsB;IAS/D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAR5C,QAAQ,CAAC,UAAU,mBAAmB;gBAGpC,mBAAmB,EAAE,UAAU,CAAC,aAAa,CAAC,EAC9C,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,EACpC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,OAAO,EACP,wBAAwB,CAAC,EAAE,wBAAwB,YAAA,EACpE,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,YAAY,CAAC,EAAE,gBAAgB,EAC/B,iBAAiB,CAAC,EAAE,iBAAiB;IAcvC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAkE9G;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,WAAW,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoFlF;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqEhE;;;;;;;;;;;;;;OAcG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CA6CvC"}
|
|
@@ -54,7 +54,8 @@ class EmailMFAProviderService extends internal_1.BaseMFAProviderService {
|
|
|
54
54
|
* // If email not verified: { maskedEmail: 'u***r@example.com' } (Email code sent)
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
|
-
async setup(
|
|
57
|
+
async setup(setupData) {
|
|
58
|
+
const user = this.getCurrentUserOrThrow();
|
|
58
59
|
this.logger?.log?.(`Setting up Email MFA for user: ${user.sub}`);
|
|
59
60
|
// Check if Email is allowed
|
|
60
61
|
if (!this.isMethodAllowed()) {
|
|
@@ -75,7 +76,7 @@ class EmailMFAProviderService extends internal_1.BaseMFAProviderService {
|
|
|
75
76
|
if (isEmailVerified) {
|
|
76
77
|
this.logger?.log?.(`Email already verified for user ${user.sub}, auto-completing Email MFA setup`);
|
|
77
78
|
// Auto-create MFA device without code verification
|
|
78
|
-
const deviceId = await this.verifySetup(
|
|
79
|
+
const deviceId = await this.verifySetup({
|
|
79
80
|
email,
|
|
80
81
|
code: '', // Code not needed when email is verified
|
|
81
82
|
}, dto?.deviceName);
|
|
@@ -125,7 +126,8 @@ class EmailMFAProviderService extends internal_1.BaseMFAProviderService {
|
|
|
125
126
|
* });
|
|
126
127
|
* ```
|
|
127
128
|
*/
|
|
128
|
-
async verifySetup(
|
|
129
|
+
async verifySetup(verificationData, deviceName) {
|
|
130
|
+
const user = this.getCurrentUserOrThrow();
|
|
129
131
|
this.logger?.log?.(`Verifying Email MFA setup for user: ${user.sub}`);
|
|
130
132
|
const dto = verificationData;
|
|
131
133
|
const userEntity = user;
|
|
@@ -202,7 +204,8 @@ class EmailMFAProviderService extends internal_1.BaseMFAProviderService {
|
|
|
202
204
|
* const isValid = await provider.verify(user, '123456');
|
|
203
205
|
* ```
|
|
204
206
|
*/
|
|
205
|
-
async verify(
|
|
207
|
+
async verify(code, deviceId) {
|
|
208
|
+
const user = this.getCurrentUserOrThrow();
|
|
206
209
|
this.logger?.log?.(`Verifying Email code for user: ${user.sub}`);
|
|
207
210
|
// Check if email verification service is available
|
|
208
211
|
if (!this.emailVerificationService) {
|
|
@@ -274,7 +277,8 @@ class EmailMFAProviderService extends internal_1.BaseMFAProviderService {
|
|
|
274
277
|
* // Returns: 'u***r@example.com'
|
|
275
278
|
* ```
|
|
276
279
|
*/
|
|
277
|
-
async sendChallenge(
|
|
280
|
+
async sendChallenge() {
|
|
281
|
+
const user = this.getCurrentUserOrThrow();
|
|
278
282
|
this.logger?.log?.(`Sending Email MFA code for user: ${user.sub}`);
|
|
279
283
|
// Get user entity
|
|
280
284
|
const userEntity = user;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-mfa-provider.service.js","sourceRoot":"","sources":["../../src/email-mfa-provider.service.ts"],"names":[],"mappings":";;;AACA,qBAAqB;AACrB,
|
|
1
|
+
{"version":3,"file":"email-mfa-provider.service.js","sourceRoot":"","sources":["../../src/email-mfa-provider.service.ts"],"names":[],"mappings":"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"}
|