diff --git a/apps/web/app/(use-page-wrapper)/auth/saml-idp/page.tsx b/apps/web/app/(use-page-wrapper)/auth/saml-idp/page.tsx new file mode 100644 index 0000000000..c8887bc3dc --- /dev/null +++ b/apps/web/app/(use-page-wrapper)/auth/saml-idp/page.tsx @@ -0,0 +1,18 @@ +import type { PageProps } from "app/_types"; +import { notFound } from "next/navigation"; +import { z } from "zod"; + +import SamlIdpClient from "~/auth/saml-idp/saml-idp-view"; + +const querySchema = z.object({ + code: z.string(), +}); + +export default async function SamlIdpPage({ searchParams }: PageProps) { + const parsed = querySchema.safeParse(searchParams); + if (!parsed.success) { + notFound(); + } + + return ; +} diff --git a/apps/web/app/future/auth/saml-idp/page.tsx b/apps/web/app/future/auth/saml-idp/page.tsx deleted file mode 100644 index 02911d67e0..0000000000 --- a/apps/web/app/future/auth/saml-idp/page.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from "~/auth/saml-idp/saml-idp-view"; diff --git a/apps/web/middleware.ts b/apps/web/middleware.ts index e67f094844..0c0048de7c 100644 --- a/apps/web/middleware.ts +++ b/apps/web/middleware.ts @@ -163,6 +163,7 @@ export const config = { "/auth/verify-email-change", "/auth/verify-email", "/auth/verify", + "/auth/saml-idp", "/auth/setup", /** * Paths required by routingForms.handle diff --git a/apps/web/modules/auth/saml-idp/saml-idp-view.tsx b/apps/web/modules/auth/saml-idp/saml-idp-view.tsx index 975e465877..2841fcef85 100644 --- a/apps/web/modules/auth/saml-idp/saml-idp-view.tsx +++ b/apps/web/modules/auth/saml-idp/saml-idp-view.tsx @@ -3,15 +3,9 @@ import { signIn } from "next-auth/react"; import { useEffect } from "react"; -import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams"; - // To handle the IdP initiated login flow callback -export default function SamlIdp() { - const searchParams = useCompatSearchParams(); - +export default function SamlIdp({ code }: { code: string }) { useEffect(() => { - const code = searchParams?.get("code"); - signIn("saml-idp", { callbackUrl: "/", code, diff --git a/apps/web/pages/auth/saml-idp.tsx b/apps/web/pages/auth/saml-idp.tsx deleted file mode 100644 index 02911d67e0..0000000000 --- a/apps/web/pages/auth/saml-idp.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from "~/auth/saml-idp/saml-idp-view";