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..." && (
+

+ )}
+
{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