@hedhog/admin 0.51.15 → 0.51.16

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.
@@ -41,6 +41,9 @@ export declare class AuthController {
41
41
  loginCode({ token, code }: LoginWithCodeDTO): Promise<{
42
42
  token: string;
43
43
  }>;
44
+ loginRecoveryCode({ token, code }: LoginWithCodeDTO): Promise<{
45
+ token: string;
46
+ }>;
44
47
  forget({ email, }: ForgetDTO & {
45
48
  subject: string;
46
49
  body: string;
@@ -56,16 +59,22 @@ export declare class AuthController {
56
59
  changeEmail({ currentEmail, password, newEmail }: EmailDTO): Promise<{
57
60
  token: string;
58
61
  }>;
59
- generate2fa({ id }: {
62
+ removeMfa({ id }: {
63
+ id: any;
64
+ }, { token }: {
65
+ token: string;
66
+ }): Promise<{
67
+ token: string;
68
+ }>;
69
+ generateMfa({ id }: {
60
70
  id: any;
61
71
  }): Promise<{
62
- qrCode: any;
63
72
  otpauthUrl: any;
73
+ qrCode: any;
64
74
  }>;
65
- verify2fa({ id }: {
75
+ verifyMfa({ id }: {
66
76
  id: any;
67
- }, { secret, token }: {
68
- secret: string;
77
+ }, { token }: {
69
78
  token: string;
70
79
  }): Promise<{
71
80
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAErD,qBACa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAKjC,eAAe,CAAgB,IAAI,EAAE,MAAM;;;;;IAM3C,UAAU,CAAS,IAAI,EAAE,aAAa;;;IAMtC,MAAM,CAAS,EAAE,EAAE,EAAE,EAAE,QAAQ;;;;;;;;;;IAM/B,KAAK,CAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ;;;;;;IAM3C,QAAQ,CACJ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,WAAW;;;IAahE,SAAS,CAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,gBAAgB;;;IAMnD,MAAM,CAEV,EACE,KAAK,GACN,EAAE,SAAS,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd;;;IASG,KAAK,CAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,QAAQ;;;IAUjE,cAAc,CAElB,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,SAAS;;;IAWlE,WAAW,CAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ;;;IAKlE,WAAW,CAAS,EAAE,EAAE,EAAE;;KAAA;;;;IAK1B,SAAS,CACL,EAAE,EAAE,EAAE;;KAAA,EACN,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;;;CAI/D"}
1
+ {"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAErD,qBACa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAKjC,eAAe,CAAgB,IAAI,EAAE,MAAM;;;;;IAM3C,UAAU,CAAS,IAAI,EAAE,aAAa;;;IAMtC,MAAM,CAAS,EAAE,EAAE,EAAE,EAAE,QAAQ;;;;;;;;;;IAM/B,KAAK,CAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ;;;;;;IAM3C,QAAQ,CACJ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,WAAW;;;IAahE,SAAS,CAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,gBAAgB;;;IAMnD,iBAAiB,CAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,gBAAgB;;;IAM3D,MAAM,CAEV,EACE,KAAK,GACN,EAAE,SAAS,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd;;;IASG,KAAK,CAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,QAAQ;;;IAUjE,cAAc,CAElB,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,SAAS;;;IAWlE,WAAW,CAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ;;;IAKlE,SAAS,CAAS,EAAE,EAAE,EAAE;;KAAA,EAAU,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;IAK9D,WAAW,CAAS,EAAE,EAAE,EAAE;;KAAA;;;;IAK1B,SAAS,CAAS,EAAE,EAAE,EAAE;;KAAA,EAAU,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;CAIrE"}
@@ -51,6 +51,9 @@ let AuthController = class AuthController {
51
51
  async loginCode({ token, code }) {
52
52
  return this.service.loginCode({ token, code });
53
53
  }
54
+ async loginRecoveryCode({ token, code }) {
55
+ return this.service.loginRecoveryCode({ token, code });
56
+ }
54
57
  async forget({ email, }) {
55
58
  return this.service.forget({
56
59
  email,
@@ -74,11 +77,15 @@ let AuthController = class AuthController {
74
77
  async changeEmail({ currentEmail, password, newEmail }) {
75
78
  return this.service.changeEmail({ currentEmail, password, newEmail });
76
79
  }
77
- async generate2fa({ id }) {
78
- return this.service.generate2fa(id);
80
+ async removeMfa({ id }, { token }) {
81
+ return this.service.removeMfa(id, token);
82
+ }
83
+ async generateMfa({ id }) {
84
+ return this.service.generateMfa(id);
79
85
  }
80
- async verify2fa({ id }, { secret, token }) {
81
- return this.service.verify2fa(id, token);
86
+ async verifyMfa({ id }, { token }) {
87
+ console.log('mfa-verify');
88
+ return this.service.verifyMfa(id, token);
82
89
  }
83
90
  };
84
91
  exports.AuthController = AuthController;
@@ -130,6 +137,14 @@ __decorate([
130
137
  __metadata("design:paramtypes", [login_with_code_dto_1.LoginWithCodeDTO]),
131
138
  __metadata("design:returntype", Promise)
132
139
  ], AuthController.prototype, "loginCode", null);
140
+ __decorate([
141
+ (0, core_1.Public)(),
142
+ (0, common_1.Post)('login-recovery-code'),
143
+ __param(0, (0, common_1.Body)()),
144
+ __metadata("design:type", Function),
145
+ __metadata("design:paramtypes", [login_with_code_dto_1.LoginWithCodeDTO]),
146
+ __metadata("design:returntype", Promise)
147
+ ], AuthController.prototype, "loginRecoveryCode", null);
133
148
  __decorate([
134
149
  (0, core_1.Public)(),
135
150
  (0, common_1.Post)('forget'),
@@ -162,20 +177,28 @@ __decorate([
162
177
  __metadata("design:returntype", Promise)
163
178
  ], AuthController.prototype, "changeEmail", null);
164
179
  __decorate([
165
- (0, common_1.Post)('2fa/generate'),
180
+ (0, common_1.Delete)('mfa-remove'),
181
+ __param(0, (0, core_1.User)()),
182
+ __param(1, (0, common_1.Body)()),
183
+ __metadata("design:type", Function),
184
+ __metadata("design:paramtypes", [Object, Object]),
185
+ __metadata("design:returntype", Promise)
186
+ ], AuthController.prototype, "removeMfa", null);
187
+ __decorate([
188
+ (0, common_1.Post)('mfa-generate'),
166
189
  __param(0, (0, core_1.User)()),
167
190
  __metadata("design:type", Function),
168
191
  __metadata("design:paramtypes", [Object]),
169
192
  __metadata("design:returntype", Promise)
170
- ], AuthController.prototype, "generate2fa", null);
193
+ ], AuthController.prototype, "generateMfa", null);
171
194
  __decorate([
172
- (0, common_1.Post)('2fa/verify'),
195
+ (0, common_1.Post)('mfa-verify'),
173
196
  __param(0, (0, core_1.User)()),
174
197
  __param(1, (0, common_1.Body)()),
175
198
  __metadata("design:type", Function),
176
199
  __metadata("design:paramtypes", [Object, Object]),
177
200
  __metadata("design:returntype", Promise)
178
- ], AuthController.prototype, "verify2fa", null);
201
+ ], AuthController.prototype, "verifyMfa", null);
179
202
  exports.AuthController = AuthController = __decorate([
180
203
  (0, common_1.Controller)('auth'),
181
204
  __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => auth_service_1.AuthService))),
@@ -1 +1 @@
1
- {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,9 @@ export declare class AuthService implements OnModuleInit {
57
57
  token: string;
58
58
  }>;
59
59
  checkCodeMfa(userId: number, code: number): Promise<any>;
60
+ loginRecoveryCode({ token, code }: LoginWithCodeDTO): Promise<{
61
+ token: string;
62
+ }>;
60
63
  loginCode({ token, code }: LoginWithCodeDTO): Promise<{
61
64
  token: string;
62
65
  }>;
@@ -76,12 +79,16 @@ export declare class AuthService implements OnModuleInit {
76
79
  email: string;
77
80
  password: string;
78
81
  }>;
79
- generate2fa(userId: number): Promise<{
80
- qrCode: any;
82
+ generateMfa(userId: number): Promise<{
81
83
  otpauthUrl: any;
84
+ qrCode: any;
85
+ }>;
86
+ generateRecoveryCodes(count?: number): string[];
87
+ createMfaRecoveryCodes(userId: number): Promise<string[]>;
88
+ removeMfa(userId: number, token: string): Promise<{
89
+ token: string;
82
90
  }>;
83
- create2faRecoveryCodes(userId: number): Promise<void>;
84
- verify2fa(userId: number, token: string): Promise<{
91
+ verifyMfa(userId: number, token: string, verifyMultifactor?: boolean): Promise<{
85
92
  token: string;
86
93
  }>;
87
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAOL,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,qBACa,WAAY,YAAW,YAAY;IAI5C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAEpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAA2B;gBAGxB,aAAa,EAAE,aAAa,EAE5B,MAAM,EAAE,aAAa,EAErB,GAAG,EAAE,UAAU,EAEf,IAAI,EAAE,WAAW,EAEjB,OAAO,EAAE,cAAc;IAGpC,YAAY;IASZ,eAAe,CAAC,IAAI,EAAE,MAAM;;;;;IAyB5B,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,WAAW;;;IA2BrE,UAAU,CAAC,EACf,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,WAAW,GACZ,EAAE,aAAa;;;IA+EV,WAAW,CAAC,KAAK,EAAE,MAAM;IAM/B,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAW5C,oBAAoB,IAAI,MAAM;IAMxB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;IA2DzD,QAAQ,CAAC,IAAI,KAAA;;;IAUb,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS;;;IA0C3B,cAAc,CAAC,EACnB,KAAK,EACL,eAAe,EACf,WAAW,EACX,kBAAkB,GACnB,EAAE,SAAS;;;IAkCN,WAAW,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ;;;IAyD1D,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,QAAQ;;;IAgDjE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA4BzC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,gBAAgB;;;IAqD3C,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ;;;;;;IAInC,MAAM,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;IAMjB,WAAW,CAAC,MAAM,EAAE,MAAM;;;;IA6C1B,sBAAsB,CAAC,MAAM,EAAE,MAAM;IAErC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;CAsC9C"}
1
+ {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
@@ -435,9 +435,46 @@ let AuthService = class AuthService {
435
435
  });
436
436
  return isValid;
437
437
  }
438
+ async loginRecoveryCode({ token, code }) {
439
+ const data = this.jwt.decode(token);
440
+ if (!(data === null || data === void 0 ? void 0 : data.mfa) || !(data === null || data === void 0 ? void 0 : data.id)) {
441
+ throw new common_1.BadRequestException('Código inválido');
442
+ }
443
+ switch (data.mfa) {
444
+ case multifactor_type_enum_1.MultifactorType.EMAIL:
445
+ //TO DO
446
+ case multifactor_type_enum_1.MultifactorType.APP:
447
+ const codes = await this.prisma.user_code_recovery.findMany({
448
+ where: {
449
+ user_id: data.id,
450
+ },
451
+ });
452
+ let isValid = false;
453
+ for (const item of codes) {
454
+ const isCodeValid = await (0, bcrypt_1.compare)(String(code), item.code);
455
+ if (isCodeValid) {
456
+ isValid = true;
457
+ await this.prisma.user_code_recovery.delete({
458
+ where: {
459
+ id: item.id,
460
+ },
461
+ });
462
+ break;
463
+ }
464
+ }
465
+ if (!isValid) {
466
+ throw new common_1.NotFoundException('Código inválido');
467
+ }
468
+ const user = await this.prisma.user.findFirst({
469
+ where: {
470
+ id: data.id,
471
+ },
472
+ });
473
+ return this.getToken(user);
474
+ }
475
+ }
438
476
  async loginCode({ token, code }) {
439
477
  const data = this.jwt.decode(token);
440
- console.log('loginCode', { data });
441
478
  if (!(data === null || data === void 0 ? void 0 : data.mfa) || !(data === null || data === void 0 ? void 0 : data.id)) {
442
479
  throw new common_1.BadRequestException('Código inválido');
443
480
  }
@@ -485,7 +522,7 @@ let AuthService = class AuthService {
485
522
  where: { id },
486
523
  });
487
524
  }
488
- async generate2fa(userId) {
525
+ async generateMfa(userId) {
489
526
  var _a;
490
527
  const user = await this.prisma.user.findFirst({
491
528
  where: {
@@ -493,8 +530,12 @@ let AuthService = class AuthService {
493
530
  },
494
531
  select: {
495
532
  email: true,
533
+ multifactor_id: true,
496
534
  },
497
535
  });
536
+ if (user.multifactor_id) {
537
+ throw new common_1.ConflictException('Usuário já possui MFA habilitado');
538
+ }
498
539
  const issuer = (_a = this.settings['mfa-issuer']) !== null && _a !== void 0 ? _a : 'Hedhog';
499
540
  const appName = `${issuer} (${user.email})`;
500
541
  const secret = speakeasy.generateSecret({
@@ -517,14 +558,61 @@ let AuthService = class AuthService {
517
558
  id: userId,
518
559
  },
519
560
  data: {
520
- multifactor_id: multifactor_type_enum_1.MultifactorType.APP,
521
561
  code: secret.base32,
522
562
  },
523
563
  });
524
- return { qrCode, otpauthUrl: secret.otpauth_url };
564
+ return { otpauthUrl: secret.otpauth_url, qrCode };
525
565
  }
526
- async create2faRecoveryCodes(userId) { }
527
- async verify2fa(userId, token) {
566
+ generateRecoveryCodes(count = 10) {
567
+ const codes = Array.from({ length: count }, () => {
568
+ const array = new Uint8Array(4);
569
+ globalThis.crypto.getRandomValues(array);
570
+ return Array.from(array)
571
+ .map((b) => b.toString(16).padStart(2, '0'))
572
+ .join('');
573
+ });
574
+ return codes;
575
+ }
576
+ async createMfaRecoveryCodes(userId) {
577
+ const codes = this.generateRecoveryCodes();
578
+ await this.prisma.user_code_recovery.deleteMany({
579
+ where: {
580
+ user_id: userId,
581
+ },
582
+ });
583
+ const salt = await (0, bcrypt_1.genSalt)();
584
+ const data = [];
585
+ for (const code of codes) {
586
+ const hashCode = await (0, bcrypt_1.hash)(code, salt);
587
+ data.push({
588
+ user_id: userId,
589
+ code: hashCode,
590
+ });
591
+ }
592
+ await this.prisma.user_code_recovery.createMany({
593
+ data,
594
+ });
595
+ return codes;
596
+ }
597
+ async removeMfa(userId, token) {
598
+ try {
599
+ await this.verifyMfa(userId, token, false);
600
+ const user = await this.prisma.user.update({
601
+ where: {
602
+ id: userId,
603
+ },
604
+ data: {
605
+ multifactor_id: null,
606
+ code: null,
607
+ },
608
+ });
609
+ return this.getToken(user);
610
+ }
611
+ catch (error) {
612
+ throw new common_1.BadRequestException(`Invalid code: ${error === null || error === void 0 ? void 0 : error.message}`);
613
+ }
614
+ }
615
+ async verifyMfa(userId, token, verifyMultifactor = true) {
528
616
  var _a, _b;
529
617
  const window = (_a = this.settings['mfa-window']) !== null && _a !== void 0 ? _a : 0;
530
618
  const step = (_b = this.settings['mfa-setp']) !== null && _b !== void 0 ? _b : 30;
@@ -533,6 +621,9 @@ let AuthService = class AuthService {
533
621
  id: userId,
534
622
  },
535
623
  });
624
+ if (verifyMultifactor && user.multifactor_id) {
625
+ throw new common_1.ConflictException('Usuário já possui MFA habilitado');
626
+ }
536
627
  if (!user) {
537
628
  throw new common_1.NotFoundException('Usuário não encontrado');
538
629
  }
@@ -552,10 +643,10 @@ let AuthService = class AuthService {
552
643
  },
553
644
  data: {
554
645
  multifactor_id: multifactor_type_enum_1.MultifactorType.APP,
555
- code: user.code,
556
646
  },
557
647
  });
558
- return this.getToken(user);
648
+ const codes = await this.createMfaRecoveryCodes(userId);
649
+ return Object.assign(Object.assign({}, this.getToken(user)), { codes });
559
650
  }
560
651
  };
561
652
  exports.AuthService = AuthService;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hedhog/admin",
3
- "version": "0.51.15",
3
+ "version": "0.51.16",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -7,6 +7,7 @@ import {
7
7
  Inject,
8
8
  Post,
9
9
  Query,
10
+ Delete,
10
11
  } from '@nestjs/common';
11
12
  import { AuthService } from './auth.service';
12
13
  import { ChangeDTO } from './dto/change.dto';
@@ -70,6 +71,12 @@ export class AuthController {
70
71
  return this.service.loginCode({ token, code });
71
72
  }
72
73
 
74
+ @Public()
75
+ @Post('login-recovery-code')
76
+ async loginRecoveryCode(@Body() { token, code }: LoginWithCodeDTO) {
77
+ return this.service.loginRecoveryCode({ token, code });
78
+ }
79
+
73
80
  @Public()
74
81
  @Post('forget')
75
82
  async forget(
@@ -115,16 +122,19 @@ export class AuthController {
115
122
  return this.service.changeEmail({ currentEmail, password, newEmail });
116
123
  }
117
124
 
118
- @Post('2fa/generate')
119
- async generate2fa(@User() { id }) {
120
- return this.service.generate2fa(id);
125
+ @Delete('mfa-remove')
126
+ async removeMfa(@User() { id }, @Body() { token }: { token: string }) {
127
+ return this.service.removeMfa(id, token);
121
128
  }
122
129
 
123
- @Post('2fa/verify')
124
- async verify2fa(
125
- @User() { id },
126
- @Body() { secret, token }: { secret: string; token: string },
127
- ) {
128
- return this.service.verify2fa(id, token);
130
+ @Post('mfa-generate')
131
+ async generateMfa(@User() { id }) {
132
+ return this.service.generateMfa(id);
133
+ }
134
+
135
+ @Post('mfa-verify')
136
+ async verifyMfa(@User() { id }, @Body() { token }: { token: string }) {
137
+ console.log('mfa-verify');
138
+ return this.service.verifyMfa(id, token);
129
139
  }
130
140
  }
@@ -504,10 +504,55 @@ export class AuthService implements OnModuleInit {
504
504
  return isValid;
505
505
  }
506
506
 
507
- async loginCode({ token, code }: LoginWithCodeDTO) {
507
+ async loginRecoveryCode({ token, code }: LoginWithCodeDTO) {
508
508
  const data = this.jwt.decode(token);
509
509
 
510
- console.log('loginCode', { data });
510
+ if (!data?.mfa || !data?.id) {
511
+ throw new BadRequestException('Código inválido');
512
+ }
513
+
514
+ switch (data.mfa) {
515
+ case MultifactorType.EMAIL:
516
+ //TO DO
517
+ case MultifactorType.APP:
518
+ const codes = await this.prisma.user_code_recovery.findMany({
519
+ where: {
520
+ user_id: data.id,
521
+ },
522
+ });
523
+
524
+ let isValid = false;
525
+
526
+ for (const item of codes) {
527
+ const isCodeValid = await compare(String(code), item.code);
528
+
529
+ if (isCodeValid) {
530
+ isValid = true;
531
+ await this.prisma.user_code_recovery.delete({
532
+ where: {
533
+ id: item.id,
534
+ },
535
+ });
536
+ break;
537
+ }
538
+ }
539
+
540
+ if (!isValid) {
541
+ throw new NotFoundException('Código inválido');
542
+ }
543
+
544
+ const user = await this.prisma.user.findFirst({
545
+ where: {
546
+ id: data.id,
547
+ },
548
+ });
549
+
550
+ return this.getToken(user);
551
+ }
552
+ }
553
+
554
+ async loginCode({ token, code }: LoginWithCodeDTO) {
555
+ const data = this.jwt.decode(token);
511
556
 
512
557
  if (!data?.mfa || !data?.id) {
513
558
  throw new BadRequestException('Código inválido');
@@ -567,16 +612,21 @@ export class AuthService implements OnModuleInit {
567
612
  });
568
613
  }
569
614
 
570
- async generate2fa(userId: number) {
615
+ async generateMfa(userId: number) {
571
616
  const user = await this.prisma.user.findFirst({
572
617
  where: {
573
618
  id: userId,
574
619
  },
575
620
  select: {
576
621
  email: true,
622
+ multifactor_id: true,
577
623
  },
578
624
  });
579
625
 
626
+ if (user.multifactor_id) {
627
+ throw new ConflictException('Usuário já possui MFA habilitado');
628
+ }
629
+
580
630
  const issuer = this.settings['mfa-issuer'] ?? 'Hedhog';
581
631
 
582
632
  const appName = `${issuer} (${user.email})`;
@@ -604,17 +654,74 @@ export class AuthService implements OnModuleInit {
604
654
  id: userId,
605
655
  },
606
656
  data: {
607
- multifactor_id: MultifactorType.APP,
608
657
  code: secret.base32,
609
658
  },
610
659
  });
611
660
 
612
- return { qrCode, otpauthUrl: secret.otpauth_url };
661
+ return { otpauthUrl: secret.otpauth_url, qrCode };
613
662
  }
614
663
 
615
- async create2faRecoveryCodes(userId: number) {}
664
+ generateRecoveryCodes(count = 10): string[] {
665
+ const codes = Array.from({ length: count }, () => {
666
+ const array = new Uint8Array(4);
667
+ globalThis.crypto.getRandomValues(array);
668
+ return Array.from(array)
669
+ .map((b) => b.toString(16).padStart(2, '0'))
670
+ .join('');
671
+ });
672
+ return codes;
673
+ }
674
+
675
+ async createMfaRecoveryCodes(userId: number) {
676
+ const codes = this.generateRecoveryCodes();
677
+
678
+ await this.prisma.user_code_recovery.deleteMany({
679
+ where: {
680
+ user_id: userId,
681
+ },
682
+ });
683
+
684
+ const salt = await genSalt();
685
+
686
+ const data = [];
616
687
 
617
- async verify2fa(userId: number, token: string) {
688
+ for (const code of codes) {
689
+ const hashCode = await hash(code, salt);
690
+
691
+ data.push({
692
+ user_id: userId,
693
+ code: hashCode,
694
+ });
695
+ }
696
+
697
+ await this.prisma.user_code_recovery.createMany({
698
+ data,
699
+ });
700
+
701
+ return codes;
702
+ }
703
+
704
+ async removeMfa(userId: number, token: string) {
705
+ try {
706
+ await this.verifyMfa(userId, token, false);
707
+
708
+ const user = await this.prisma.user.update({
709
+ where: {
710
+ id: userId,
711
+ },
712
+ data: {
713
+ multifactor_id: null,
714
+ code: null,
715
+ },
716
+ });
717
+
718
+ return this.getToken(user);
719
+ } catch (error: any) {
720
+ throw new BadRequestException(`Invalid code: ${error?.message}`);
721
+ }
722
+ }
723
+
724
+ async verifyMfa(userId: number, token: string, verifyMultifactor = true) {
618
725
  const window = this.settings['mfa-window'] ?? 0;
619
726
  const step = this.settings['mfa-setp'] ?? 30;
620
727
 
@@ -624,6 +731,10 @@ export class AuthService implements OnModuleInit {
624
731
  },
625
732
  });
626
733
 
734
+ if (verifyMultifactor && user.multifactor_id) {
735
+ throw new ConflictException('Usuário já possui MFA habilitado');
736
+ }
737
+
627
738
  if (!user) {
628
739
  throw new NotFoundException('Usuário não encontrado');
629
740
  }
@@ -646,10 +757,11 @@ export class AuthService implements OnModuleInit {
646
757
  },
647
758
  data: {
648
759
  multifactor_id: MultifactorType.APP,
649
- code: user.code,
650
760
  },
651
761
  });
652
762
 
653
- return this.getToken(user);
763
+ const codes = await this.createMfaRecoveryCodes(userId);
764
+
765
+ return { ...this.getToken(user), codes };
654
766
  }
655
767
  }