From b420105ddf7b99b7a858b2a91764462e098c517f Mon Sep 17 00:00:00 2001 From: Rotimi Best Date: Thu, 14 Dec 2023 12:07:27 +0300 Subject: [PATCH] feat: implement forward domain for gauth --- apps/dashboard/src/lib/components/AuthUI/index.svelte | 4 +++- apps/dashboard/src/routes/+layout.server.ts | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/dashboard/src/lib/components/AuthUI/index.svelte b/apps/dashboard/src/lib/components/AuthUI/index.svelte index caadfcc4..ad40878f 100644 --- a/apps/dashboard/src/lib/components/AuthUI/index.svelte +++ b/apps/dashboard/src/lib/components/AuthUI/index.svelte @@ -23,7 +23,9 @@ const params = new URLSearchParams(window.location.search); console.log({ params }); - const redirectTo = window.location.origin + params.get('redirectTo'); + const redirectTo = `https://app.classroomio.com?forwardTo=${ + window.location.origin + params.get('redirect') + }`; console.log({ redirectTo }); diff --git a/apps/dashboard/src/routes/+layout.server.ts b/apps/dashboard/src/routes/+layout.server.ts index 91f94307..93baca55 100644 --- a/apps/dashboard/src/routes/+layout.server.ts +++ b/apps/dashboard/src/routes/+layout.server.ts @@ -31,6 +31,15 @@ export const load = async ({ url, cookies }): Promise => { const matches = url.host.match(/([a-z 0-9 -]+).*classroomio[.]com/); const subdomain = matches?.[1] ?? ''; + if (subdomain === 'app' && url.search && url.search?.includes('forwardTo')) { + const params = new URLSearchParams(url.search); + const forwardToURL = params.get('forwardTo'); + + if (forwardToURL) { + throw redirect(307, forwardToURL); + } + } + if (!blockedSubdomain.includes(subdomain)) { const answer = Array.isArray(matches) ? !!subdomain && subdomain !== 'www' : false;