From 06dcc697f9c5613d5b407a01055778cd210a1c31 Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Tue, 10 Jun 2025 20:06:23 +0530 Subject: [PATCH] Tweak --- web/packages/accounts/services/srp.ts | 34 ++++++++++----------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/web/packages/accounts/services/srp.ts b/web/packages/accounts/services/srp.ts index 930cf46fd4..c34fa830a2 100644 --- a/web/packages/accounts/services/srp.ts +++ b/web/packages/accounts/services/srp.ts @@ -394,37 +394,28 @@ export const srpSetupOrReconfigure = async ( srpClient.checkM2(b64ToBuffer(srpM2)); }; -export const generateSRPClient = async ( +const generateSRPClient = async ( srpSalt: string, srpUserID: string, loginSubKey: string, -) => { - return new Promise((resolve, reject) => { - SRP.genKey(function (err, secret1) { - try { - if (err) { - reject(err); - } - if (!secret1) { - throw Error("secret1 gen failed"); - } - const srpClient = new SrpClient( +) => + new Promise((resolve, reject) => { + SRP.genKey((err, clientKey) => { + if (err) reject(err); + resolve( + new SrpClient( SRP.params["4096"], b64ToBuffer(srpSalt), Buffer.from(srpUserID), b64ToBuffer(loginSubKey), - secret1, + // The random `clientKey` parameterizes the current instance + // of the SRP client. + clientKey!, false, - ); - - resolve(srpClient); - } catch (e) { - // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors - reject(e); - } + ), + ); }); }); -}; interface SetupSRPRequest { srpUserID: string; @@ -536,7 +527,6 @@ export const updateSRPAndKeys = async ( } }; - export const loginViaSRP = async ( srpAttributes: SRPAttributes, kek: string,