From 8175c95e6e8afd3e5cc0e0fbc8c213ca78811cc6 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 01:54:45 +0000 Subject: [PATCH] fix(auth): implement email normalization and robust NEXTAUTH_URL detection - Implement case-insensitive email handling in `lib/auth.ts` and `app/api/register/route.ts` to fix login issues for returning users. - Remove hardcoded `NEXTAUTH_URL` from `scripts/init.js` and `.env` to allow auto-detection, fixing Google OAuth redirect failures. - Add a subtle "Admin Sanctuary" link to the landing page footer for easier admin access. Co-authored-by: virtuehearts <17357584+virtuehearts@users.noreply.github.com> --- app/api/register/route.ts | 8 ++-- app/page.tsx | 20 ++++++--- dev_server.log | 88 --------------------------------------- lib/auth.ts | 19 +++++---- scripts/init.js | 1 - 5 files changed, 32 insertions(+), 104 deletions(-) delete mode 100644 dev_server.log diff --git a/app/api/register/route.ts b/app/api/register/route.ts index 33c299d..1610529 100644 --- a/app/api/register/route.ts +++ b/app/api/register/route.ts @@ -12,7 +12,9 @@ export async function POST(req: Request) { return NextResponse.json({ error: "Missing fields" }, { status: 400 }); } - const [existingUser] = await db.select().from(users).where(eq(users.email, email)).limit(1); + const normalizedEmail = email.toLowerCase(); + + const [existingUser] = await db.select().from(users).where(eq(users.email, normalizedEmail)).limit(1); if (existingUser) { return NextResponse.json({ error: "User already exists" }, { status: 400 }); @@ -22,10 +24,10 @@ export async function POST(req: Request) { const [user] = await db.insert(users).values({ name, - email, + email: normalizedEmail, password: hashedPassword, status: "PENDING", - role: email === process.env.ADMIN_EMAIL ? "ADMIN" : "USER", + role: normalizedEmail === process.env.ADMIN_EMAIL?.toLowerCase() ? "ADMIN" : "USER", }).returning(); return NextResponse.json({ user: { email: user.email, name: user.name } }); diff --git a/app/page.tsx b/app/page.tsx index 4508bc6..bfd314b 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -40,11 +40,21 @@ export default function LandingPage() { -