From 88e2eff7eb3c038553abe078950a4b79ee910efb Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Mon, 18 Mar 2024 10:37:49 +0100 Subject: [PATCH] Fix: SAML CLI login --- frontend/src/pages/login/select-organization.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/src/pages/login/select-organization.tsx b/frontend/src/pages/login/select-organization.tsx index b9226343b..cd37d5a27 100644 --- a/frontend/src/pages/login/select-organization.tsx +++ b/frontend/src/pages/login/select-organization.tsx @@ -54,20 +54,25 @@ export default function LoginPage() { const handleSelectOrganization = useCallback( async (organization: Organization) => { + const callbackPort = queryParams.get("callback_port"); + if (organization.authEnforced) { // org has an org-level auth method enabled (e.g. SAML) // -> logout + redirect to SAML SSO + let samlUrl = `/api/v1/sso/redirect/saml2/organizations/${organization.slug}`; + + if (callbackPort) { + samlUrl += `?callback_port=${callbackPort}`; + } await logout.mutateAsync(); - window.open(`/api/v1/sso/redirect/saml2/organizations/${organization.slug}`); + window.open(samlUrl); window.close(); return; } const { token } = await selectOrg.mutateAsync({ organizationId: organization.id }); - const callbackPort = queryParams.get("callback_port"); - if (callbackPort) { const privateKey = localStorage.getItem("PRIVATE_KEY");