From 91539ce10f2e23e1517f9596c27b71f16faf770c Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Fri, 5 Dec 2025 23:21:59 +0530 Subject: [PATCH] fix: MFA enabled orgs redirect --- .../src/pages/middlewares/inject-org-details.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/middlewares/inject-org-details.tsx b/frontend/src/pages/middlewares/inject-org-details.tsx index a0a2e9927..a9ada71d0 100644 --- a/frontend/src/pages/middlewares/inject-org-details.tsx +++ b/frontend/src/pages/middlewares/inject-org-details.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, isRedirect, redirect } from "@tanstack/react-router"; import SecurityClient from "@app/components/utilities/SecurityClient"; import { authKeys, fetchAuthToken, selectOrganization } from "@app/hooks/api/auth/queries"; @@ -27,6 +27,13 @@ export const Route = createFileRoute("/_authenticate/_inject-org-details")({ try { const { token, isMfaEnabled } = await selectOrganization({ organizationId: urlOrgId }); + if (isMfaEnabled) { + throw redirect({ + to: "/login/select-organization", + search: { org_id: urlOrgId } + }); + } + if (!isMfaEnabled && token) { SecurityClient.setToken(token); SecurityClient.setProviderAuthToken(""); @@ -41,6 +48,9 @@ export const Route = createFileRoute("/_authenticate/_inject-org-details")({ }); } } catch (error) { + if (isRedirect(error)) { + throw error; + } console.warn("Failed to automatically exchange token for organization:", error); } }