diff --git a/backend/src/ee/controllers/v1/ssoController.ts b/backend/src/ee/controllers/v1/ssoController.ts
index 2eed08cd1..88af8915e 100644
--- a/backend/src/ee/controllers/v1/ssoController.ts
+++ b/backend/src/ee/controllers/v1/ssoController.ts
@@ -9,6 +9,15 @@ import {
import { getSSOConfigHelper } from "../../helpers/organizations";
import { client } from "../../../config";
import { ResourceNotFoundError } from "../../../utils/errors";
+import { getSiteURL } from "../../../config";
+
+export const redirectSSO = async (req: Request, res: Response) => {
+ if (req.isUserCompleted) {
+ return res.redirect(`${await getSiteURL()}/login/sso?token=${encodeURIComponent(req.providerAuthToken)}`);
+ }
+
+ return res.redirect(`${await getSiteURL()}/signup/sso?token=${encodeURIComponent(req.providerAuthToken)}`);
+}
export const getSSOConfig = async (req: Request, res: Response) => {
const organizationId = req.query.organizationId as string;
diff --git a/backend/src/ee/routes/v1/sso.ts b/backend/src/ee/routes/v1/sso.ts
index 5a2b3bb3d..cf949f2f1 100644
--- a/backend/src/ee/routes/v1/sso.ts
+++ b/backend/src/ee/routes/v1/sso.ts
@@ -14,9 +14,6 @@ import {
OWNER,
ADMIN
} from "../../../variables";
-import {
- getSiteURL
-} from "../../../config";
router.get(
"/redirect/google",
@@ -33,13 +30,7 @@ router.get(
failureRedirect: "/login/provider/error",
session: false
}),
- async (req, res) => {
- if (req.isUserCompleted) {
- res.redirect(`${await getSiteURL()}/login/sso?token=${encodeURIComponent(req.providerAuthToken)}`);
- } else {
- res.redirect(`${await getSiteURL()}/signup/sso?token=${encodeURIComponent(req.providerAuthToken)}`);
- }
- }
+ ssoController.redirectSSO
);
router.get(
@@ -56,13 +47,7 @@ router.post("/saml2/:ssoIdentifier",
failureFlash: true,
session: false
}),
- async (req, res) => { // TODO: move this into controller
- if (req.isUserCompleted) {
- return res.redirect(`${await getSiteURL()}/login/sso?token=${encodeURIComponent(req.providerAuthToken)}`);
- }
-
- return res.redirect(`${await getSiteURL()}/signup/sso?token=${encodeURIComponent(req.providerAuthToken)}`);
- }
+ ssoController.redirectSSO
);
router.get(
diff --git a/frontend/src/components/signup/InitialSignupStep.tsx b/frontend/src/components/signup/InitialSignupStep.tsx
index e45c769eb..fb965470e 100644
--- a/frontend/src/components/signup/InitialSignupStep.tsx
+++ b/frontend/src/components/signup/InitialSignupStep.tsx
@@ -1,8 +1,9 @@
import { useTranslation } from "react-i18next";
import Link from "next/link";
import { useRouter } from "next/router";
-import { faGoogle } from '@fortawesome/free-brands-svg-icons';
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faGoogle } from "@fortawesome/free-brands-svg-icons";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+
import { Button } from "../v2";
export default function InitialSignupStep({
@@ -38,13 +39,13 @@ export default function InitialSignupStep({
colorSchema="primary"
variant="solid"
onClick={() => {
- window.open('/api/v1/sso/redirect/google');
+ window.open("/api/v1/sso/redirect/google");
window.close();
}}
leftIcon={