From d20249f29a2010e4cd7dcb45c20bbe254774d193 Mon Sep 17 00:00:00 2001 From: KernelDeimos Date: Mon, 6 May 2024 21:13:00 -0400 Subject: [PATCH] Send email notifications when 2FA state changes --- .../backend/src/routers/auth/configure-2fa.js | 12 ++++++++++ packages/backend/src/services/EmailService.js | 23 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/packages/backend/src/routers/auth/configure-2fa.js b/packages/backend/src/routers/auth/configure-2fa.js index 89237198..fb66ce1a 100644 --- a/packages/backend/src/routers/auth/configure-2fa.js +++ b/packages/backend/src/routers/auth/configure-2fa.js @@ -83,6 +83,12 @@ module.exports = eggspress('/auth/configure-2fa/:action', { ); // update cached user req.user.otp_enabled = 1; + + const svc_email = req.services.get('email'); + await svc_email.send_email({ email: user.email }, 'enabled_2fa', { + username: user.username, + }); + return {}; }; @@ -93,6 +99,12 @@ module.exports = eggspress('/auth/configure-2fa/:action', { ); // update cached user req.user.otp_enabled = 0; + + const svc_email = req.services.get('email'); + await svc_email.send_email({ email: user.email }, 'disabled_2fa', { + username: user.username, + }); + return { success: true }; }; diff --git a/packages/backend/src/services/EmailService.js b/packages/backend/src/services/EmailService.js index 4b50c79f..ed140aee 100644 --- a/packages/backend/src/services/EmailService.js +++ b/packages/backend/src/services/EmailService.js @@ -97,6 +97,29 @@ If this was not you, please contact support@puter.com immediately.

Puter

`, }, + 'enabled_2fa': { + subject: '2FA Enabled on your Account', + html: ` +

Hi there,

+

We're sending you this email to let you know 2FA was successfully enabled + on your account

+

If you did not perform this action please contact support@puter.com + immediately

+

Sincerely,

+

Puter

+ ` + }, + 'disabled_2fa': { + subject: '2FA Disabled on your Account', + html: ` +

Hi there,

+

We hope you did this on purpose! 2FA Was disabled on your account.

+

If you did not perform this action please contact support@puter.com + immediately

+

Sincerely,

+

Puter

+ ` + } } class Emailservice extends BaseService {