diff --git a/apps/OpenSign/src/pages/Login.js b/apps/OpenSign/src/pages/Login.js index a2cc612f6..1b03909e8 100644 --- a/apps/OpenSign/src/pages/Login.js +++ b/apps/OpenSign/src/pages/Login.js @@ -44,16 +44,11 @@ function Login() { const [isLoginSSO, setIsLoginSSO] = useState(false); useEffect(() => { - if (localStorage.getItem("accesstoken")) { - setState({ ...state, loading: true }); - GetLoginData(); - } - dispatch(fetchAppInfo()); - saveLogo(); + checkUserExt(); // eslint-disable-next-line }, []); - const saveLogo = async () => { + const checkUserExt = async () => { const app = await getAppLogo(); if (!isEnableSubscription && app?.user === "not_exist") { navigate("/addadmin"); @@ -63,6 +58,11 @@ function Login() { } else { setImage(appInfo?.applogo || undefined); } + if (localStorage.getItem("accesstoken")) { + setState({ ...state, loading: true }); + GetLoginData(); + } + dispatch(fetchAppInfo()); }; const handleChange = (event) => { const { name, value } = event.target; diff --git a/apps/OpenSign/src/primitives/Validate.js b/apps/OpenSign/src/primitives/Validate.js index 805ff8c0f..76265e138 100644 --- a/apps/OpenSign/src/primitives/Validate.js +++ b/apps/OpenSign/src/primitives/Validate.js @@ -8,26 +8,27 @@ const Validate = () => { const [isUserValid, setIsUserValid] = useState(true); useEffect(() => { (async () => { - try { - const userDetails = JSON.parse( - localStorage.getItem( - `Parse/${localStorage.getItem("parseAppId")}/currentUser` - ) - ); - - // Use the session token to validate the user - const userQuery = new Parse.Query(Parse.User); - const user = await userQuery.get(userDetails?.objectId, { - sessionToken: localStorage.getItem("accesstoken") - }); - if (user) { - setIsUserValid(true); - } else { + if (localStorage.getItem("accesstoken")) { + try { + const userDetails = JSON.parse( + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ) + ); + // Use the session token to validate the user + const userQuery = new Parse.Query(Parse.User); + const user = await userQuery.get(userDetails?.objectId, { + sessionToken: localStorage.getItem("accesstoken") + }); + if (user) { + setIsUserValid(true); + } else { + setIsUserValid(false); + } + } catch (error) { + // Session token is invalid or there was an error setIsUserValid(false); } - } catch (error) { - // Session token is invalid or there was an error - setIsUserValid(false); } })(); diff --git a/apps/OpenSign/src/primitives/ValidateRoute.js b/apps/OpenSign/src/primitives/ValidateRoute.js index e7339f532..0e85afed1 100644 --- a/apps/OpenSign/src/primitives/ValidateRoute.js +++ b/apps/OpenSign/src/primitives/ValidateRoute.js @@ -4,18 +4,20 @@ import { Outlet } from "react-router-dom"; const ValidateRoute = () => { useEffect(() => { (async () => { - try { - // Use the session token to validate the user - const userQuery = new Parse.Query(Parse.User); - const user = await userQuery.get(Parse?.User?.current()?.id, { - sessionToken: localStorage.getItem("accesstoken") - }); - if (!user) { + if (localStorage.getItem("accesstoken")) { + try { + // Use the session token to validate the user + const userQuery = new Parse.Query(Parse.User); + const user = await userQuery.get(Parse?.User?.current()?.id, { + sessionToken: localStorage.getItem("accesstoken") + }); + if (!user) { + handlelogout(); + } + } catch (error) { + console.log("err in validate route", error); handlelogout(); } - } catch (error) { - console.log("err in validate route", error); - handlelogout(); } })(); }, []);