diff --git a/src/libs/Authentication.ts b/src/libs/Authentication.ts index f72d7891d0e1..1237e681d7cf 100644 --- a/src/libs/Authentication.ts +++ b/src/libs/Authentication.ts @@ -31,10 +31,19 @@ Onyx.connect({ }, }); -function Authenticate(parameters: Parameters): Promise { +function Authenticate(parameters: Parameters): Promise | undefined { const commandName = 'Authenticate'; - requireParameters(['partnerName', 'partnerPassword', 'partnerUserID', 'partnerUserSecret'], parameters, commandName); + try { + requireParameters(['partnerName', 'partnerPassword', 'partnerUserID', 'partnerUserSecret'], parameters, commandName); + } catch (error) { + const errorMessage = (error as Error).message; + Log.hmmm('Redirecting to Sign In because we failed to reauthenticate', { + error: errorMessage, + }); + redirectToSignIn(errorMessage); + return; + } return post(commandName, { // When authenticating for the first time, we pass useExpensifyLogin as true so we check @@ -77,7 +86,7 @@ function reauthenticate(command = ''): Promise | undefined { partnerPassword: CONFIG.EXPENSIFY.PARTNER_PASSWORD, partnerUserID: credentials?.autoGeneratedLogin, partnerUserSecret: credentials?.autoGeneratedPassword, - }).then((response) => { + })?.then((response) => { if (response.jsonCode === CONST.JSON_CODE.UNABLE_TO_RETRY) { // When a fetch() fails due to a network issue and an error is thrown we won't log the user out. Most likely they // have a spotty connection and will need to retry reauthenticate when they come back online. Error so it can be handled by the retry mechanism. diff --git a/src/libs/E2E/actions/e2eLogin.ts b/src/libs/E2E/actions/e2eLogin.ts index e325332d7dc7..e01e51dec886 100644 --- a/src/libs/E2E/actions/e2eLogin.ts +++ b/src/libs/E2E/actions/e2eLogin.ts @@ -52,7 +52,7 @@ export default function (): Promise { // authenticate with a predefined user console.debug('[E2E] Signing in…'); Authenticate(e2eUserCredentials) - .then((response) => { + ?.then((response) => { Onyx.merge(ONYXKEYS.SESSION, { authToken: response.authToken, creationDate: new Date().getTime(),