From 354bac486a114d2e84d9396738b0295be8156b20 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:45:59 +0100 Subject: [PATCH] Fix: Don't allow org select screen when token already has an organization ID --- frontend/src/pages/login/select-organization.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/login/select-organization.tsx b/frontend/src/pages/login/select-organization.tsx index 464cc24a0..03e98af3a 100644 --- a/frontend/src/pages/login/select-organization.tsx +++ b/frontend/src/pages/login/select-organization.tsx @@ -8,12 +8,13 @@ import Link from "next/link"; import { useRouter } from "next/router"; import { faArrowRight } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import jwt_decode from "jwt-decode"; import { Button, Spinner } from "@app/components/v2"; import { useUser } from "@app/context"; import { useGetOrganizations, useLogoutUser, useSelectOrganization } from "@app/hooks/api"; import { Organization } from "@app/hooks/api/types"; -import { isLoggedIn } from "@app/reactQuery"; +import { getAuthToken, isLoggedIn } from "@app/reactQuery"; import { navigateUserToOrg } from "@app/views/Login/Login.utils"; const LoadingScreen = () => { @@ -64,6 +65,16 @@ export default function LoginPage() { ); useEffect(() => { + const authToken = getAuthToken(); + + if (authToken) { + const decodedJwt = jwt_decode(authToken) as any; + + if (decodedJwt?.organizationId) { + navigateUserToOrg(router, decodedJwt.organizationId); + } + } + if (!isLoggedIn()) { router.push("/login"); }