@hedhog/admin 0.51.14 → 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.
- package/dist/auth/auth.controller.d.ts +16 -9
- package/dist/auth/auth.controller.d.ts.map +1 -1
- package/dist/auth/auth.controller.js +37 -14
- package/dist/auth/auth.controller.js.map +1 -1
- package/dist/auth/auth.service.d.ts +15 -11
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +189 -48
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/dto/login-with-code.dto.d.ts +5 -0
- package/dist/auth/dto/login-with-code.dto.d.ts.map +1 -0
- package/dist/auth/dto/{otp.dto.js → login-with-code.dto.js} +6 -6
- package/dist/auth/dto/login-with-code.dto.js.map +1 -0
- package/package.json +1 -1
- package/src/auth/auth.controller.ts +23 -13
- package/src/auth/auth.service.ts +224 -54
- package/src/auth/dto/{otp.dto.ts → login-with-code.dto.ts} +1 -1
- package/dist/auth/dto/otp.dto.d.ts +0 -5
- package/dist/auth/dto/otp.dto.d.ts.map +0 -1
- package/dist/auth/dto/otp.dto.js.map +0 -1
@@ -3,8 +3,8 @@ import { ChangeDTO } from './dto/change.dto';
|
|
3
3
|
import { CreateUserDTO } from './dto/create-user.dto';
|
4
4
|
import { EmailDTO } from './dto/email.dto';
|
5
5
|
import { ForgetDTO } from './dto/forget.dto';
|
6
|
+
import { LoginWithCodeDTO } from './dto/login-with-code.dto';
|
6
7
|
import { LoginDTO } from './dto/login.dto';
|
7
|
-
import { OtpDTO } from './dto/otp.dto';
|
8
8
|
import { RegisterDTO } from './dto/register.dto';
|
9
9
|
import { ResetDTO } from './dto/reset.dto';
|
10
10
|
import { User as UserType } from './types/user.type';
|
@@ -32,15 +32,16 @@ export declare class AuthController {
|
|
32
32
|
login({ email, password }: LoginDTO): Promise<{
|
33
33
|
token: string;
|
34
34
|
} | {
|
35
|
-
name: string;
|
36
|
-
email: string;
|
37
35
|
token: string;
|
38
36
|
mfa: boolean;
|
39
37
|
}>;
|
40
38
|
register({ email, password, name, code, multifactor_id }: RegisterDTO): Promise<{
|
41
39
|
token: string;
|
42
40
|
}>;
|
43
|
-
|
41
|
+
loginCode({ token, code }: LoginWithCodeDTO): Promise<{
|
42
|
+
token: string;
|
43
|
+
}>;
|
44
|
+
loginRecoveryCode({ token, code }: LoginWithCodeDTO): Promise<{
|
44
45
|
token: string;
|
45
46
|
}>;
|
46
47
|
forget({ email, }: ForgetDTO & {
|
@@ -58,16 +59,22 @@ export declare class AuthController {
|
|
58
59
|
changeEmail({ currentEmail, password, newEmail }: EmailDTO): Promise<{
|
59
60
|
token: string;
|
60
61
|
}>;
|
61
|
-
|
62
|
+
removeMfa({ id }: {
|
63
|
+
id: any;
|
64
|
+
}, { token }: {
|
65
|
+
token: string;
|
66
|
+
}): Promise<{
|
67
|
+
token: string;
|
68
|
+
}>;
|
69
|
+
generateMfa({ id }: {
|
62
70
|
id: any;
|
63
71
|
}): Promise<{
|
64
|
-
qrCode: any;
|
65
72
|
otpauthUrl: any;
|
73
|
+
qrCode: any;
|
66
74
|
}>;
|
67
|
-
|
75
|
+
verifyMfa({ id }: {
|
68
76
|
id: any;
|
69
|
-
}, {
|
70
|
-
secret: string;
|
77
|
+
}, { token }: {
|
71
78
|
token: string;
|
72
79
|
}): Promise<{
|
73
80
|
token: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"
|
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"}
|
@@ -19,8 +19,8 @@ const auth_service_1 = require("./auth.service");
|
|
19
19
|
const change_dto_1 = require("./dto/change.dto");
|
20
20
|
const create_user_dto_1 = require("./dto/create-user.dto");
|
21
21
|
const email_dto_1 = require("./dto/email.dto");
|
22
|
+
const login_with_code_dto_1 = require("./dto/login-with-code.dto");
|
22
23
|
const login_dto_1 = require("./dto/login.dto");
|
23
|
-
const otp_dto_1 = require("./dto/otp.dto");
|
24
24
|
const register_dto_1 = require("./dto/register.dto");
|
25
25
|
const reset_dto_1 = require("./dto/reset.dto");
|
26
26
|
let AuthController = class AuthController {
|
@@ -48,8 +48,11 @@ let AuthController = class AuthController {
|
|
48
48
|
multifactor_id,
|
49
49
|
});
|
50
50
|
}
|
51
|
-
async
|
52
|
-
return this.service.
|
51
|
+
async loginCode({ token, code }) {
|
52
|
+
return this.service.loginCode({ token, code });
|
53
|
+
}
|
54
|
+
async loginRecoveryCode({ token, code }) {
|
55
|
+
return this.service.loginRecoveryCode({ token, code });
|
53
56
|
}
|
54
57
|
async forget({ email, }) {
|
55
58
|
return this.service.forget({
|
@@ -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
|
78
|
-
return this.service.
|
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
|
81
|
-
|
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;
|
@@ -124,12 +131,20 @@ __decorate([
|
|
124
131
|
], AuthController.prototype, "register", null);
|
125
132
|
__decorate([
|
126
133
|
(0, core_1.Public)(),
|
127
|
-
(0, common_1.Post)('
|
134
|
+
(0, common_1.Post)('login-code'),
|
135
|
+
__param(0, (0, common_1.Body)()),
|
136
|
+
__metadata("design:type", Function),
|
137
|
+
__metadata("design:paramtypes", [login_with_code_dto_1.LoginWithCodeDTO]),
|
138
|
+
__metadata("design:returntype", Promise)
|
139
|
+
], AuthController.prototype, "loginCode", null);
|
140
|
+
__decorate([
|
141
|
+
(0, core_1.Public)(),
|
142
|
+
(0, common_1.Post)('login-recovery-code'),
|
128
143
|
__param(0, (0, common_1.Body)()),
|
129
144
|
__metadata("design:type", Function),
|
130
|
-
__metadata("design:paramtypes", [
|
145
|
+
__metadata("design:paramtypes", [login_with_code_dto_1.LoginWithCodeDTO]),
|
131
146
|
__metadata("design:returntype", Promise)
|
132
|
-
], AuthController.prototype, "
|
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.
|
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, "
|
193
|
+
], AuthController.prototype, "generateMfa", null);
|
171
194
|
__decorate([
|
172
|
-
(0, common_1.Post)('
|
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, "
|
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":";;;;;;;;;;;;;;;AAAA,uCAAkD;AAClD,
|
1
|
+
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"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"}
|
@@ -3,15 +3,15 @@ import { PrismaService } from '@hedhog/prisma';
|
|
3
3
|
import { OnModuleInit } from '@nestjs/common';
|
4
4
|
import { ConfigService } from '@nestjs/config';
|
5
5
|
import { JwtService } from '@nestjs/jwt';
|
6
|
+
import { SettingService } from '../setting/setting.service';
|
6
7
|
import { ChangeDTO } from './dto/change.dto';
|
7
8
|
import { CreateUserDTO } from './dto/create-user.dto';
|
8
9
|
import { EmailDTO } from './dto/email.dto';
|
9
10
|
import { ForgetDTO } from './dto/forget.dto';
|
11
|
+
import { LoginWithCodeDTO } from './dto/login-with-code.dto';
|
10
12
|
import { LoginDTO } from './dto/login.dto';
|
11
|
-
import { OtpDTO } from './dto/otp.dto';
|
12
13
|
import { RegisterDTO } from './dto/register.dto';
|
13
14
|
import { ResetDTO } from './dto/reset.dto';
|
14
|
-
import { SettingService } from '../setting/setting.service';
|
15
15
|
export declare class AuthService implements OnModuleInit {
|
16
16
|
private readonly configService;
|
17
17
|
private readonly prisma;
|
@@ -38,8 +38,6 @@ export declare class AuthService implements OnModuleInit {
|
|
38
38
|
loginWithEmailAndPassword(email: string, password: string): Promise<{
|
39
39
|
token: string;
|
40
40
|
} | {
|
41
|
-
name: string;
|
42
|
-
email: string;
|
43
41
|
token: string;
|
44
42
|
mfa: boolean;
|
45
43
|
}>;
|
@@ -58,14 +56,16 @@ export declare class AuthService implements OnModuleInit {
|
|
58
56
|
resetPassword({ code, newPassword, confirmNewPassword }: ResetDTO): Promise<false | {
|
59
57
|
token: string;
|
60
58
|
}>;
|
61
|
-
|
59
|
+
checkCodeMfa(userId: number, code: number): Promise<any>;
|
60
|
+
loginRecoveryCode({ token, code }: LoginWithCodeDTO): Promise<{
|
61
|
+
token: string;
|
62
|
+
}>;
|
63
|
+
loginCode({ token, code }: LoginWithCodeDTO): Promise<{
|
62
64
|
token: string;
|
63
65
|
}>;
|
64
66
|
login({ email, password }: LoginDTO): Promise<{
|
65
67
|
token: string;
|
66
68
|
} | {
|
67
|
-
name: string;
|
68
|
-
email: string;
|
69
69
|
token: string;
|
70
70
|
mfa: boolean;
|
71
71
|
}>;
|
@@ -79,12 +79,16 @@ export declare class AuthService implements OnModuleInit {
|
|
79
79
|
email: string;
|
80
80
|
password: string;
|
81
81
|
}>;
|
82
|
-
|
83
|
-
qrCode: any;
|
82
|
+
generateMfa(userId: number): Promise<{
|
84
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;
|
85
90
|
}>;
|
86
|
-
|
87
|
-
verify2fa(userId: number, token: string): Promise<{
|
91
|
+
verifyMfa(userId: number, token: string, verifyMultifactor?: boolean): Promise<{
|
88
92
|
token: string;
|
89
93
|
}>;
|
90
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,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,
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
|
@@ -55,8 +55,8 @@ const bcrypt_1 = require("bcrypt");
|
|
55
55
|
const qrcode = __importStar(require("qrcode"));
|
56
56
|
const speakeasy = __importStar(require("speakeasy"));
|
57
57
|
const emails_1 = require("../emails");
|
58
|
-
const multifactor_type_enum_1 = require("./enums/multifactor-type.enum");
|
59
58
|
const setting_service_1 = require("../setting/setting.service");
|
59
|
+
const multifactor_type_enum_1 = require("./enums/multifactor-type.enum");
|
60
60
|
let AuthService = class AuthService {
|
61
61
|
constructor(configService, prisma, jwt, mail, setting) {
|
62
62
|
this.configService = configService;
|
@@ -73,7 +73,6 @@ let AuthService = class AuthService {
|
|
73
73
|
'mfa-setp',
|
74
74
|
'system-name',
|
75
75
|
]);
|
76
|
-
console.log({ settings: this.settings });
|
77
76
|
}
|
78
77
|
async createUserCheck(code) {
|
79
78
|
try {
|
@@ -224,35 +223,43 @@ let AuthService = class AuthService {
|
|
224
223
|
if (!isPasswordValid) {
|
225
224
|
throw new common_1.BadRequestException('Acesso negado');
|
226
225
|
}
|
226
|
+
console.log('loginWithEmailAndPassword', { user });
|
227
227
|
if (!user.multifactor_id) {
|
228
228
|
return this.getToken(user);
|
229
229
|
}
|
230
230
|
else {
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
231
|
+
switch (user.multifactor_id) {
|
232
|
+
case multifactor_type_enum_1.MultifactorType.EMAIL:
|
233
|
+
const code = this.generateRandomNumber();
|
234
|
+
await this.prisma.user.update({
|
235
|
+
where: {
|
236
|
+
id: user.id,
|
237
|
+
},
|
238
|
+
data: {
|
239
|
+
code: String(code),
|
240
|
+
},
|
241
|
+
});
|
242
|
+
await this.mail.send({
|
243
|
+
to: user.email,
|
244
|
+
subject: 'Código de Login',
|
245
|
+
body: `Seu código de login é ${code}`,
|
246
|
+
});
|
247
|
+
return {
|
248
|
+
token: this.jwt.sign({
|
249
|
+
id: user.id,
|
250
|
+
mfa: user.multifactor_id,
|
251
|
+
}),
|
252
|
+
mfa: true,
|
253
|
+
};
|
254
|
+
case multifactor_type_enum_1.MultifactorType.APP:
|
255
|
+
return {
|
256
|
+
token: this.jwt.sign({
|
257
|
+
id: user.id,
|
258
|
+
mfa: user.multifactor_id,
|
259
|
+
}),
|
260
|
+
mfa: true,
|
261
|
+
};
|
246
262
|
}
|
247
|
-
return {
|
248
|
-
name: user.name,
|
249
|
-
email: user.email,
|
250
|
-
token: this.jwt.sign({
|
251
|
-
id: user.id,
|
252
|
-
mfa: user.multifactor_id,
|
253
|
-
}),
|
254
|
-
mfa: true,
|
255
|
-
};
|
256
263
|
}
|
257
264
|
}
|
258
265
|
async getToken(user) {
|
@@ -404,26 +411,108 @@ let AuthService = class AuthService {
|
|
404
411
|
throw new common_1.BadRequestException(`Invalid code. ${(_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : String(error)}`);
|
405
412
|
}
|
406
413
|
}
|
407
|
-
async
|
408
|
-
|
414
|
+
async checkCodeMfa(userId, code) {
|
415
|
+
var _a, _b;
|
416
|
+
const window = (_a = this.settings['mfa-window']) !== null && _a !== void 0 ? _a : 0;
|
417
|
+
const step = (_b = this.settings['mfa-setp']) !== null && _b !== void 0 ? _b : 30;
|
409
418
|
const user = await this.prisma.user.findFirst({
|
410
419
|
where: {
|
411
|
-
id:
|
412
|
-
|
420
|
+
id: userId,
|
421
|
+
},
|
422
|
+
select: {
|
423
|
+
code: true,
|
413
424
|
},
|
414
425
|
});
|
415
426
|
if (!user) {
|
416
|
-
throw new common_1.NotFoundException('
|
427
|
+
throw new common_1.NotFoundException('Usuário não encontrado');
|
417
428
|
}
|
418
|
-
await
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
},
|
429
|
+
const isValid = await speakeasy.totp.verify({
|
430
|
+
secret: user.code,
|
431
|
+
encoding: 'base32',
|
432
|
+
token: String(code),
|
433
|
+
window,
|
434
|
+
step,
|
425
435
|
});
|
426
|
-
return
|
436
|
+
return isValid;
|
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
|
+
}
|
476
|
+
async loginCode({ token, code }) {
|
477
|
+
const data = this.jwt.decode(token);
|
478
|
+
if (!(data === null || data === void 0 ? void 0 : data.mfa) || !(data === null || data === void 0 ? void 0 : data.id)) {
|
479
|
+
throw new common_1.BadRequestException('Código inválido');
|
480
|
+
}
|
481
|
+
switch (data.mfa) {
|
482
|
+
case multifactor_type_enum_1.MultifactorType.EMAIL:
|
483
|
+
const user = await this.prisma.user.findFirst({
|
484
|
+
where: {
|
485
|
+
id: data.id,
|
486
|
+
code: String(code),
|
487
|
+
},
|
488
|
+
});
|
489
|
+
if (!user) {
|
490
|
+
throw new common_1.NotFoundException('Código inválido');
|
491
|
+
}
|
492
|
+
await this.prisma.user.update({
|
493
|
+
where: {
|
494
|
+
id: user.id,
|
495
|
+
},
|
496
|
+
data: {
|
497
|
+
code: null,
|
498
|
+
},
|
499
|
+
});
|
500
|
+
return this.getToken(user);
|
501
|
+
case multifactor_type_enum_1.MultifactorType.APP:
|
502
|
+
const isValid = await this.checkCodeMfa(data.id, code);
|
503
|
+
if (!isValid) {
|
504
|
+
throw new common_1.NotFoundException('Código inválido');
|
505
|
+
}
|
506
|
+
const userApp = await this.prisma.user.findFirst({
|
507
|
+
where: {
|
508
|
+
id: data.id,
|
509
|
+
},
|
510
|
+
});
|
511
|
+
if (!userApp) {
|
512
|
+
throw new common_1.NotFoundException('Código inválido');
|
513
|
+
}
|
514
|
+
return this.getToken(userApp);
|
515
|
+
}
|
427
516
|
}
|
428
517
|
async login({ email, password }) {
|
429
518
|
return this.loginWithEmailAndPassword(email, password);
|
@@ -433,7 +522,7 @@ let AuthService = class AuthService {
|
|
433
522
|
where: { id },
|
434
523
|
});
|
435
524
|
}
|
436
|
-
async
|
525
|
+
async generateMfa(userId) {
|
437
526
|
var _a;
|
438
527
|
const user = await this.prisma.user.findFirst({
|
439
528
|
where: {
|
@@ -441,8 +530,12 @@ let AuthService = class AuthService {
|
|
441
530
|
},
|
442
531
|
select: {
|
443
532
|
email: true,
|
533
|
+
multifactor_id: true,
|
444
534
|
},
|
445
535
|
});
|
536
|
+
if (user.multifactor_id) {
|
537
|
+
throw new common_1.ConflictException('Usuário já possui MFA habilitado');
|
538
|
+
}
|
446
539
|
const issuer = (_a = this.settings['mfa-issuer']) !== null && _a !== void 0 ? _a : 'Hedhog';
|
447
540
|
const appName = `${issuer} (${user.email})`;
|
448
541
|
const secret = speakeasy.generateSecret({
|
@@ -465,14 +558,61 @@ let AuthService = class AuthService {
|
|
465
558
|
id: userId,
|
466
559
|
},
|
467
560
|
data: {
|
468
|
-
multifactor_id: multifactor_type_enum_1.MultifactorType.APP,
|
469
561
|
code: secret.base32,
|
470
562
|
},
|
471
563
|
});
|
472
|
-
return {
|
564
|
+
return { otpauthUrl: secret.otpauth_url, qrCode };
|
565
|
+
}
|
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;
|
473
596
|
}
|
474
|
-
async
|
475
|
-
|
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) {
|
476
616
|
var _a, _b;
|
477
617
|
const window = (_a = this.settings['mfa-window']) !== null && _a !== void 0 ? _a : 0;
|
478
618
|
const step = (_b = this.settings['mfa-setp']) !== null && _b !== void 0 ? _b : 30;
|
@@ -481,7 +621,9 @@ let AuthService = class AuthService {
|
|
481
621
|
id: userId,
|
482
622
|
},
|
483
623
|
});
|
484
|
-
|
624
|
+
if (verifyMultifactor && user.multifactor_id) {
|
625
|
+
throw new common_1.ConflictException('Usuário já possui MFA habilitado');
|
626
|
+
}
|
485
627
|
if (!user) {
|
486
628
|
throw new common_1.NotFoundException('Usuário não encontrado');
|
487
629
|
}
|
@@ -492,7 +634,6 @@ let AuthService = class AuthService {
|
|
492
634
|
window,
|
493
635
|
step,
|
494
636
|
});
|
495
|
-
console.log('isValid', isValid);
|
496
637
|
if (!isValid) {
|
497
638
|
throw new common_1.BadRequestException('Código inválido');
|
498
639
|
}
|
@@ -502,10 +643,10 @@ let AuthService = class AuthService {
|
|
502
643
|
},
|
503
644
|
data: {
|
504
645
|
multifactor_id: multifactor_type_enum_1.MultifactorType.APP,
|
505
|
-
code: user.code,
|
506
646
|
},
|
507
647
|
});
|
508
|
-
|
648
|
+
const codes = await this.createMfaRecoveryCodes(userId);
|
649
|
+
return Object.assign(Object.assign({}, this.getToken(user)), { codes });
|
509
650
|
}
|
510
651
|
};
|
511
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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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"login-with-code.dto.d.ts","sourceRoot":"","sources":["../../../src/auth/dto/login-with-code.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,gBAAgB;IAI3B,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;CACf"}
|
@@ -9,19 +9,19 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
10
10
|
};
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.
|
12
|
+
exports.LoginWithCodeDTO = void 0;
|
13
13
|
const class_validator_1 = require("class-validator");
|
14
|
-
class
|
14
|
+
class LoginWithCodeDTO {
|
15
15
|
}
|
16
|
-
exports.
|
16
|
+
exports.LoginWithCodeDTO = LoginWithCodeDTO;
|
17
17
|
__decorate([
|
18
18
|
(0, class_validator_1.Min)(0, { message: 'O código deve ser pelo menos 0.' }),
|
19
19
|
(0, class_validator_1.Max)(999999, { message: 'O código deve ser no máximo 999999.' }),
|
20
20
|
(0, class_validator_1.IsInt)({ message: 'O código deve ser um número inteiro.' }),
|
21
21
|
__metadata("design:type", Number)
|
22
|
-
],
|
22
|
+
], LoginWithCodeDTO.prototype, "code", void 0);
|
23
23
|
__decorate([
|
24
24
|
(0, class_validator_1.IsJWT)({ message: 'Token inválido' }),
|
25
25
|
__metadata("design:type", String)
|
26
|
-
],
|
27
|
-
//# sourceMappingURL=
|
26
|
+
], LoginWithCodeDTO.prototype, "token", void 0);
|
27
|
+
//# sourceMappingURL=login-with-code.dto.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"login-with-code.dto.js","sourceRoot":"","sources":["../../../src/auth/dto/login-with-code.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyD;AAEzD,MAAa,gBAAgB;CAQ5B;AARD,4CAQC;AAJC;IAHC,IAAA,qBAAG,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;IACtD,IAAA,qBAAG,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;IAC/D,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;;8CAC9C;AAGb;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;;+CACvB"}
|
package/package.json
CHANGED
@@ -7,14 +7,15 @@ 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';
|
13
14
|
import { CreateUserDTO } from './dto/create-user.dto';
|
14
15
|
import { EmailDTO } from './dto/email.dto';
|
15
16
|
import { ForgetDTO } from './dto/forget.dto';
|
17
|
+
import { LoginWithCodeDTO } from './dto/login-with-code.dto';
|
16
18
|
import { LoginDTO } from './dto/login.dto';
|
17
|
-
import { OtpDTO } from './dto/otp.dto';
|
18
19
|
import { RegisterDTO } from './dto/register.dto';
|
19
20
|
import { ResetDTO } from './dto/reset.dto';
|
20
21
|
import { User as UserType } from './types/user.type';
|
@@ -65,9 +66,15 @@ export class AuthController {
|
|
65
66
|
}
|
66
67
|
|
67
68
|
@Public()
|
68
|
-
@Post('
|
69
|
-
async
|
70
|
-
return this.service.
|
69
|
+
@Post('login-code')
|
70
|
+
async loginCode(@Body() { token, code }: LoginWithCodeDTO) {
|
71
|
+
return this.service.loginCode({ token, code });
|
72
|
+
}
|
73
|
+
|
74
|
+
@Public()
|
75
|
+
@Post('login-recovery-code')
|
76
|
+
async loginRecoveryCode(@Body() { token, code }: LoginWithCodeDTO) {
|
77
|
+
return this.service.loginRecoveryCode({ token, code });
|
71
78
|
}
|
72
79
|
|
73
80
|
@Public()
|
@@ -115,16 +122,19 @@ export class AuthController {
|
|
115
122
|
return this.service.changeEmail({ currentEmail, password, newEmail });
|
116
123
|
}
|
117
124
|
|
118
|
-
@
|
119
|
-
async
|
120
|
-
return this.service.
|
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('
|
124
|
-
async
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
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
|
}
|
package/src/auth/auth.service.ts
CHANGED
@@ -21,16 +21,16 @@ import {
|
|
21
21
|
getForgetPasswordEmail,
|
22
22
|
getResetPasswordEmail,
|
23
23
|
} from '../emails';
|
24
|
+
import { SettingService } from '../setting/setting.service';
|
24
25
|
import { ChangeDTO } from './dto/change.dto';
|
25
26
|
import { CreateUserDTO } from './dto/create-user.dto';
|
26
27
|
import { EmailDTO } from './dto/email.dto';
|
27
28
|
import { ForgetDTO } from './dto/forget.dto';
|
29
|
+
import { LoginWithCodeDTO } from './dto/login-with-code.dto';
|
28
30
|
import { LoginDTO } from './dto/login.dto';
|
29
|
-
import { OtpDTO } from './dto/otp.dto';
|
30
31
|
import { RegisterDTO } from './dto/register.dto';
|
31
32
|
import { ResetDTO } from './dto/reset.dto';
|
32
33
|
import { MultifactorType } from './enums/multifactor-type.enum';
|
33
|
-
import { SettingService } from '../setting/setting.service';
|
34
34
|
|
35
35
|
@Injectable()
|
36
36
|
export class AuthService implements OnModuleInit {
|
@@ -55,8 +55,6 @@ export class AuthService implements OnModuleInit {
|
|
55
55
|
'mfa-setp',
|
56
56
|
'system-name',
|
57
57
|
]);
|
58
|
-
|
59
|
-
console.log({ settings: this.settings });
|
60
58
|
}
|
61
59
|
|
62
60
|
async createUserCheck(code: string) {
|
@@ -239,37 +237,46 @@ export class AuthService implements OnModuleInit {
|
|
239
237
|
throw new BadRequestException('Acesso negado');
|
240
238
|
}
|
241
239
|
|
240
|
+
console.log('loginWithEmailAndPassword', { user });
|
241
|
+
|
242
242
|
if (!user.multifactor_id) {
|
243
243
|
return this.getToken(user);
|
244
244
|
} else {
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
245
|
+
switch (user.multifactor_id) {
|
246
|
+
case MultifactorType.EMAIL:
|
247
|
+
const code = this.generateRandomNumber();
|
248
|
+
|
249
|
+
await this.prisma.user.update({
|
250
|
+
where: {
|
251
|
+
id: user.id,
|
252
|
+
},
|
253
|
+
data: {
|
254
|
+
code: String(code),
|
255
|
+
},
|
256
|
+
});
|
257
|
+
|
258
|
+
await this.mail.send({
|
259
|
+
to: user.email,
|
260
|
+
subject: 'Código de Login',
|
261
|
+
body: `Seu código de login é ${code}`,
|
262
|
+
});
|
263
|
+
|
264
|
+
return {
|
265
|
+
token: this.jwt.sign({
|
266
|
+
id: user.id,
|
267
|
+
mfa: user.multifactor_id,
|
268
|
+
}),
|
269
|
+
mfa: true,
|
270
|
+
};
|
271
|
+
case MultifactorType.APP:
|
272
|
+
return {
|
273
|
+
token: this.jwt.sign({
|
274
|
+
id: user.id,
|
275
|
+
mfa: user.multifactor_id,
|
276
|
+
}),
|
277
|
+
mfa: true,
|
278
|
+
};
|
262
279
|
}
|
263
|
-
|
264
|
-
return {
|
265
|
-
name: user.name,
|
266
|
-
email: user.email,
|
267
|
-
token: this.jwt.sign({
|
268
|
-
id: user.id,
|
269
|
-
mfa: user.multifactor_id,
|
270
|
-
}),
|
271
|
-
mfa: true,
|
272
|
-
};
|
273
280
|
}
|
274
281
|
}
|
275
282
|
|
@@ -469,30 +476,130 @@ export class AuthService implements OnModuleInit {
|
|
469
476
|
}
|
470
477
|
}
|
471
478
|
|
472
|
-
async
|
473
|
-
const
|
479
|
+
async checkCodeMfa(userId: number, code: number) {
|
480
|
+
const window = this.settings['mfa-window'] ?? 0;
|
481
|
+
const step = this.settings['mfa-setp'] ?? 30;
|
474
482
|
|
475
483
|
const user = await this.prisma.user.findFirst({
|
476
484
|
where: {
|
477
|
-
id:
|
478
|
-
|
485
|
+
id: userId,
|
486
|
+
},
|
487
|
+
select: {
|
488
|
+
code: true,
|
479
489
|
},
|
480
490
|
});
|
481
491
|
|
482
492
|
if (!user) {
|
483
|
-
throw new NotFoundException('
|
493
|
+
throw new NotFoundException('Usuário não encontrado');
|
484
494
|
}
|
485
495
|
|
486
|
-
await
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
},
|
496
|
+
const isValid = await speakeasy.totp.verify({
|
497
|
+
secret: user.code,
|
498
|
+
encoding: 'base32',
|
499
|
+
token: String(code),
|
500
|
+
window,
|
501
|
+
step,
|
493
502
|
});
|
494
503
|
|
495
|
-
return
|
504
|
+
return isValid;
|
505
|
+
}
|
506
|
+
|
507
|
+
async loginRecoveryCode({ token, code }: LoginWithCodeDTO) {
|
508
|
+
const data = this.jwt.decode(token);
|
509
|
+
|
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);
|
556
|
+
|
557
|
+
if (!data?.mfa || !data?.id) {
|
558
|
+
throw new BadRequestException('Código inválido');
|
559
|
+
}
|
560
|
+
|
561
|
+
switch (data.mfa) {
|
562
|
+
case MultifactorType.EMAIL:
|
563
|
+
const user = await this.prisma.user.findFirst({
|
564
|
+
where: {
|
565
|
+
id: data.id,
|
566
|
+
code: String(code),
|
567
|
+
},
|
568
|
+
});
|
569
|
+
|
570
|
+
if (!user) {
|
571
|
+
throw new NotFoundException('Código inválido');
|
572
|
+
}
|
573
|
+
|
574
|
+
await this.prisma.user.update({
|
575
|
+
where: {
|
576
|
+
id: user.id,
|
577
|
+
},
|
578
|
+
data: {
|
579
|
+
code: null,
|
580
|
+
},
|
581
|
+
});
|
582
|
+
|
583
|
+
return this.getToken(user);
|
584
|
+
case MultifactorType.APP:
|
585
|
+
const isValid = await this.checkCodeMfa(data.id, code);
|
586
|
+
|
587
|
+
if (!isValid) {
|
588
|
+
throw new NotFoundException('Código inválido');
|
589
|
+
}
|
590
|
+
|
591
|
+
const userApp = await this.prisma.user.findFirst({
|
592
|
+
where: {
|
593
|
+
id: data.id,
|
594
|
+
},
|
595
|
+
});
|
596
|
+
|
597
|
+
if (!userApp) {
|
598
|
+
throw new NotFoundException('Código inválido');
|
599
|
+
}
|
600
|
+
|
601
|
+
return this.getToken(userApp);
|
602
|
+
}
|
496
603
|
}
|
497
604
|
|
498
605
|
async login({ email, password }: LoginDTO) {
|
@@ -505,16 +612,21 @@ export class AuthService implements OnModuleInit {
|
|
505
612
|
});
|
506
613
|
}
|
507
614
|
|
508
|
-
async
|
615
|
+
async generateMfa(userId: number) {
|
509
616
|
const user = await this.prisma.user.findFirst({
|
510
617
|
where: {
|
511
618
|
id: userId,
|
512
619
|
},
|
513
620
|
select: {
|
514
621
|
email: true,
|
622
|
+
multifactor_id: true,
|
515
623
|
},
|
516
624
|
});
|
517
625
|
|
626
|
+
if (user.multifactor_id) {
|
627
|
+
throw new ConflictException('Usuário já possui MFA habilitado');
|
628
|
+
}
|
629
|
+
|
518
630
|
const issuer = this.settings['mfa-issuer'] ?? 'Hedhog';
|
519
631
|
|
520
632
|
const appName = `${issuer} (${user.email})`;
|
@@ -542,17 +654,74 @@ export class AuthService implements OnModuleInit {
|
|
542
654
|
id: userId,
|
543
655
|
},
|
544
656
|
data: {
|
545
|
-
multifactor_id: MultifactorType.APP,
|
546
657
|
code: secret.base32,
|
547
658
|
},
|
548
659
|
});
|
549
660
|
|
550
|
-
return {
|
661
|
+
return { otpauthUrl: secret.otpauth_url, qrCode };
|
551
662
|
}
|
552
663
|
|
553
|
-
|
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
|
+
}
|
554
674
|
|
555
|
-
async
|
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 = [];
|
687
|
+
|
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) {
|
556
725
|
const window = this.settings['mfa-window'] ?? 0;
|
557
726
|
const step = this.settings['mfa-setp'] ?? 30;
|
558
727
|
|
@@ -562,7 +731,9 @@ export class AuthService implements OnModuleInit {
|
|
562
731
|
},
|
563
732
|
});
|
564
733
|
|
565
|
-
|
734
|
+
if (verifyMultifactor && user.multifactor_id) {
|
735
|
+
throw new ConflictException('Usuário já possui MFA habilitado');
|
736
|
+
}
|
566
737
|
|
567
738
|
if (!user) {
|
568
739
|
throw new NotFoundException('Usuário não encontrado');
|
@@ -576,8 +747,6 @@ export class AuthService implements OnModuleInit {
|
|
576
747
|
step,
|
577
748
|
});
|
578
749
|
|
579
|
-
console.log('isValid', isValid);
|
580
|
-
|
581
750
|
if (!isValid) {
|
582
751
|
throw new BadRequestException('Código inválido');
|
583
752
|
}
|
@@ -588,10 +757,11 @@ export class AuthService implements OnModuleInit {
|
|
588
757
|
},
|
589
758
|
data: {
|
590
759
|
multifactor_id: MultifactorType.APP,
|
591
|
-
code: user.code,
|
592
760
|
},
|
593
761
|
});
|
594
762
|
|
595
|
-
|
763
|
+
const codes = await this.createMfaRecoveryCodes(userId);
|
764
|
+
|
765
|
+
return { ...this.getToken(user), codes };
|
596
766
|
}
|
597
767
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { IsInt, IsJWT, Max, Min } from 'class-validator';
|
2
2
|
|
3
|
-
export class
|
3
|
+
export class LoginWithCodeDTO {
|
4
4
|
@Min(0, { message: 'O código deve ser pelo menos 0.' })
|
5
5
|
@Max(999999, { message: 'O código deve ser no máximo 999999.' })
|
6
6
|
@IsInt({ message: 'O código deve ser um número inteiro.' })
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"otp.dto.d.ts","sourceRoot":"","sources":["../../../src/auth/dto/otp.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM;IAIjB,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;CACf"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"otp.dto.js","sourceRoot":"","sources":["../../../src/auth/dto/otp.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyD;AAEzD,MAAa,MAAM;CAQlB;AARD,wBAQC;AAJC;IAHC,IAAA,qBAAG,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;IACtD,IAAA,qBAAG,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;IAC/D,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;;oCAC9C;AAGb;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;;qCACvB"}
|