diff --git a/apps/OpenSign/src/pages/Login.js b/apps/OpenSign/src/pages/Login.js index 9a4d49e75..c49b1e77e 100644 --- a/apps/OpenSign/src/pages/Login.js +++ b/apps/OpenSign/src/pages/Login.js @@ -45,6 +45,7 @@ function Login() { }); const [isModal, setIsModal] = useState(false); const [image, setImage] = useState(); + const [isLoginSSO, setIsLoginSSO] = useState(false); useEffect(() => { if (localStorage.getItem("accesstoken")) { @@ -1045,10 +1046,14 @@ function Login() { // `handleSignInWithSSO` is trigger when user click sign in with sso and open sso authorize endpoint const handleSignInWithSSO = () => { if (state?.email) { + setIsLoginSSO(true); const encodedEmail = encodeURIComponent(state.email); const clientUrl = window.location.origin; + const domain = state.email.split("@")?.pop(); + const ssoApiUrl = + process.env.SSO_API_URL || "https://sso.opensignlabs.com/api"; openInNewTab( - `https://osl-jacksonv2.vercel.app/api/oauth/authorize?response_type=code&provider=saml&tenant=Okta-dev-nxglabs-in&product=OpenSign&redirect_uri=${clientUrl}/sso&state=${encodedEmail}`, + `${ssoApiUrl}/oauth/authorize?response_type=code&provider=saml&tenant=${domain}&product=OpenSign&redirect_uri=${clientUrl}/sso&state=${encodedEmail}`, "_self" ); } else { @@ -1122,34 +1127,40 @@ function Login() { required />
- -
- - - {state.passwordVisible ? ( - // Close eye icon - ) : ( - // Open eye icon - )} - -
+ {isLoginSSO && ( + <> + +
+ + + {state.passwordVisible ? ( + // Close eye icon + ) : ( + // Open eye icon + )} + +
+ + )}
)} -
handleSignInWithSSO()} - > - Sign in with SSO -
+ {isEnableSubscription && ( +
handleSignInWithSSO()} + > + Sign in with SSO +
+ )}
{width >= 768 && ( diff --git a/apps/OpenSign/src/pages/SSOVerify.js b/apps/OpenSign/src/pages/SSOVerify.js index 988e1e5f8..85dbb70bd 100644 --- a/apps/OpenSign/src/pages/SSOVerify.js +++ b/apps/OpenSign/src/pages/SSOVerify.js @@ -12,13 +12,14 @@ import { fetchSubscription } from "../constant/Utils"; import { useDispatch } from "react-redux"; import { showTenant } from "../redux/reducers/ShowTenant"; import ModalUi from "../primitives/ModalUi"; +import loader from "../assets/images/loader2.gif"; const SSOVerify = () => { const location = useLocation(); const navigate = useNavigate(); const dispatch = useDispatch(); const [isModal, setIsModal] = useState(false); - const [ssoErrMsg, setSsoErrMsg] = useState("Verifying SSO..."); + const [message, setMessage] = useState("Verifying SSO..."); const [isLoader, setIsLoader] = useState(false); const [userDetails, setUserDetails] = useState({ name: "", @@ -48,7 +49,7 @@ const SSOVerify = () => { // `checkExtUser` checks if the user is present in the extended class `contracts_Users` and if not, initiates the new user flow await checkExtUser(ssosign); } catch (err) { - setSsoErrMsg(err.message); + setMessage("Error: " + err.message); console.log("err", err.message); } }; @@ -81,7 +82,7 @@ const SSOVerify = () => { } } catch (err) { console.log("Err in isextenduser or getuserdetails cloud function", err); - alert(err.message); + setMessage("Error: " + err.message); } }; // `handleSubmitbtn` is used to create a user in the extended class @@ -124,12 +125,12 @@ const SSOVerify = () => { } catch (err) { console.log("error in usersignup", err); localStorage.removeItem("accesstoken"); - alert("something went wrong, please try again later."); + alert("Something went wrong."); setIsLoader(false); } } else { localStorage.removeItem("accesstoken"); - alert("Internal server error !"); + alert("Internal server error."); setIsLoader(false); } } else { @@ -251,13 +252,16 @@ const SSOVerify = () => { } } catch (err) { alert("user not exist."); + setMessage("Error: User not exist."); console.log("err in get extUser", err); } } else { alert("Role does not exists."); + setMessage("Error: Role does not exists."); } } else { alert("Role does not exists."); + setMessage("Error: Role does not exists."); } } catch (err) { console.log("err in usergroups", err); @@ -286,8 +290,11 @@ const SSOVerify = () => { } return (
-
- {ssoErrMsg} +
+ {message === "Verifying SSO..." && ( + loader + )} +
{message}
diff --git a/apps/OpenSignServer/auth/authadapter.js b/apps/OpenSignServer/auth/authadapter.js index 528ea8176..1e12c7836 100644 --- a/apps/OpenSignServer/auth/authadapter.js +++ b/apps/OpenSignServer/auth/authadapter.js @@ -1,7 +1,7 @@ import axios from 'axios'; import dotenv from 'dotenv'; dotenv.config(); -const ssoApiUrl = process.env.SSO_API_URL || 'https://osl-jacksonv2.vercel.app/api'; +const ssoApiUrl = process.env.SSO_API_URL || 'https://sso.opensignlabs.com/api'; //'https://osl-jacksonv2.vercel.app/api'; export const SSOAuth = { // Returns a promise that fulfills if this user mail is valid. validateAuthData: async authData => { diff --git a/apps/OpenSignServer/cloud/parsefunction/ssoSignin.js b/apps/OpenSignServer/cloud/parsefunction/ssoSignin.js index 6e50d0639..1067db69d 100644 --- a/apps/OpenSignServer/cloud/parsefunction/ssoSignin.js +++ b/apps/OpenSignServer/cloud/parsefunction/ssoSignin.js @@ -4,7 +4,7 @@ const serverUrl = process.env.SERVER_URL; const APPID = process.env.APP_ID; const masterKEY = process.env.MASTER_KEY; const clientUrl = process.env.PUBLIC_URL; -const ssoApiUrl = process.env.SSO_API_URL || 'https://osl-jacksonv2.vercel.app/api'; +const ssoApiUrl = process.env.SSO_API_URL || 'https://sso.opensignlabs.com/api'; //'https://osl-jacksonv2.vercel.app/api'; /** * ssoSign is function which is used to sign up/sign in with SSO * @param code It is code return by jackson using authorize endpoint