From 7e7d6c770c1cb1b0d11b027fe6848a35e1f062b4 Mon Sep 17 00:00:00 2001 From: Martin Kleinschrodt Date: Thu, 28 Jul 2022 09:45:15 +0200 Subject: [PATCH] Add flag to completely disable multi-factor authentication for a given account --- packages/core/src/auth.ts | 3 +++ packages/core/src/server.ts | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/core/src/auth.ts b/packages/core/src/auth.ts index 04e5cc28..2baa392c 100644 --- a/packages/core/src/auth.ts +++ b/packages/core/src/auth.ts @@ -231,6 +231,9 @@ export class Auth extends Serializable implements Storable { @AsSerializable(PBES2Container) legacyData?: PBES2Container; + /** Completely disables mfa for a given account. Only use for testing! */ + disableMFA = false; + constructor(public email: string = "") { super(); } diff --git a/packages/core/src/server.ts b/packages/core/src/server.ts index 6b2358f3..7c4ea431 100644 --- a/packages/core/src/server.ts +++ b/packages/core/src/server.ts @@ -355,7 +355,8 @@ export class Controller extends API { auth.authRequests.push(request); const deviceTrusted = - this.context.device && auth.trustedDevices.some(({ id }) => id === this.context.device!.id); + auth.disableMFA || + (this.context.device && auth.trustedDevices.some(({ id }) => id === this.context.device!.id)); const response = new StartAuthRequestResponse({ id: request.id,