diff --git a/apps/web/pages/auth/login.tsx b/apps/web/pages/auth/login.tsx index ab2fb82364..baf48621c8 100644 --- a/apps/web/pages/auth/login.tsx +++ b/apps/web/pages/auth/login.tsx @@ -71,7 +71,9 @@ export default function Login({ callbackUrl = `${WEBAPP_URL}/${callbackUrl}`; } - callbackUrl = getSafeRedirectUrl(callbackUrl); + const safeCallbackUrl = getSafeRedirectUrl(callbackUrl); + + callbackUrl = safeCallbackUrl || ""; const LoginFooter = ( diff --git a/packages/lib/getSafeRedirectUrl.ts b/packages/lib/getSafeRedirectUrl.ts index 5c18999da4..20d87d3e4a 100644 --- a/packages/lib/getSafeRedirectUrl.ts +++ b/packages/lib/getSafeRedirectUrl.ts @@ -1,7 +1,10 @@ import { CONSOLE_URL, WEBAPP_URL, WEBSITE_URL } from "@calcom/lib/constants"; // It ensures that redirection URL safe where it is accepted through a query params or other means where user can change it. -export const getSafeRedirectUrl = (url: string = "") => { +export const getSafeRedirectUrl = (url = "") => { + if (!url) { + return null; + } if (url.search(/^https?:\/\//) === -1) { throw new Error("Pass an absolute URL"); }