diff --git a/packages/gatekeeper/next.config.ts b/packages/gatekeeper/next.config.ts index b38c051..4e2de7b 100644 --- a/packages/gatekeeper/next.config.ts +++ b/packages/gatekeeper/next.config.ts @@ -2,7 +2,7 @@ import mintelNextConfig from "@mintel/next-config"; import { NextConfig } from "next"; const nextConfig: NextConfig = { - basePath: "/gatekeeper", + // Gatekeeper specific overrides }; export default mintelNextConfig(nextConfig); diff --git a/packages/gatekeeper/src/app/api/verify/route.ts b/packages/gatekeeper/src/app/api/verify/route.ts index 52eca48..2a7c2b0 100644 --- a/packages/gatekeeper/src/app/api/verify/route.ts +++ b/packages/gatekeeper/src/app/api/verify/route.ts @@ -19,7 +19,11 @@ export async function GET(req: NextRequest) { req.headers.get("x-forwarded-host") || req.headers.get("host") || ""; const proto = req.headers.get("x-forwarded-proto") || "https"; - const loginUrl = `${proto}://${host}/gatekeeper/login?redirect=${encodeURIComponent(originalUrl)}`; + const gatekeeperUrl = + process.env.NEXT_PUBLIC_BASE_URL || `${proto}://gatekeeper.${host}`; + const absoluteOriginalUrl = `${proto}://${host}${originalUrl}`; + + const loginUrl = `${gatekeeperUrl}/login?redirect=${encodeURIComponent(absoluteOriginalUrl)}`; return NextResponse.redirect(loginUrl); } diff --git a/packages/gatekeeper/src/app/login/page.tsx b/packages/gatekeeper/src/app/login/page.tsx index 9aac99c..14e00e7 100644 --- a/packages/gatekeeper/src/app/login/page.tsx +++ b/packages/gatekeeper/src/app/login/page.tsx @@ -22,6 +22,7 @@ export default async function LoginPage({ searchParams }: LoginPageProps) { const authCookieName = process.env.AUTH_COOKIE_NAME || "mintel_gatekeeper_session"; const targetRedirect = formData.get("redirect") as string; + const cookieDomain = process.env.COOKIE_DOMAIN; if (password === expectedPassword) { const cookieStore = await cookies(); @@ -31,6 +32,7 @@ export default async function LoginPage({ searchParams }: LoginPageProps) { path: "/", maxAge: 30 * 24 * 60 * 60, // 30 days sameSite: "lax", + ...(cookieDomain ? { domain: cookieDomain } : {}), }); redirect(targetRedirect); } else { @@ -55,7 +57,7 @@ export default async function LoginPage({ searchParams }: LoginPageProps) {
Mintel