From cbdd2fb2e4d1d65476a304f56e640bdd6b4b2fe6 Mon Sep 17 00:00:00 2001 From: joylessorchid Date: Tue, 24 Mar 2026 02:54:56 +0300 Subject: [PATCH] fix: auth not working when accessed from non-localhost MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove hardcoded baseURL from auth-client.ts — better-auth now uses current window.location.origin, works from any IP/domain - Add trustedOrigins config to auth.ts — allows requests from LAN IPs - Add BETTER_AUTH_TRUSTED_ORIGINS env var for configuring allowed origins - Improve error logging in login/register forms (was silent catch) Co-Authored-By: Claude Opus 4.6 --- src/app/login/page.tsx | 5 +++-- src/app/register/page.tsx | 5 +++-- src/lib/auth-client.ts | 4 +--- src/lib/auth.ts | 4 ++++ 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index 4bf7ecd..50af1b5 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -25,8 +25,9 @@ export default function LoginPage() { } else { router.push("/dashboard"); } - } catch { - setError("Произошла ошибка. Попробуйте ещё раз."); + } catch (err) { + console.error("Login error:", err); + setError(err instanceof Error ? err.message : "Произошла ошибка. Попробуйте ещё раз."); } finally { setLoading(false); } diff --git a/src/app/register/page.tsx b/src/app/register/page.tsx index 5c8531b..7c54ef8 100644 --- a/src/app/register/page.tsx +++ b/src/app/register/page.tsx @@ -26,8 +26,9 @@ export default function RegisterPage() { } else { router.push("/dashboard"); } - } catch { - setError("Произошла ошибка. Попробуйте ещё раз."); + } catch (err) { + console.error("Register error:", err); + setError(err instanceof Error ? err.message : "Произошла ошибка. Попробуйте ещё раз."); } finally { setLoading(false); } diff --git a/src/lib/auth-client.ts b/src/lib/auth-client.ts index aa3ec19..dde6404 100644 --- a/src/lib/auth-client.ts +++ b/src/lib/auth-client.ts @@ -1,7 +1,5 @@ import { createAuthClient } from "better-auth/react"; -export const authClient = createAuthClient({ - baseURL: process.env.NEXT_PUBLIC_APP_URL || "http://localhost:3000", -}); +export const authClient = createAuthClient(); export const { signIn, signUp, signOut, useSession } = authClient; diff --git a/src/lib/auth.ts b/src/lib/auth.ts index 959eea3..061e96b 100644 --- a/src/lib/auth.ts +++ b/src/lib/auth.ts @@ -3,6 +3,10 @@ import { prismaAdapter } from "better-auth/adapters/prisma"; import { prisma } from "./prisma"; export const auth = betterAuth({ + baseURL: process.env.BETTER_AUTH_URL, + trustedOrigins: process.env.BETTER_AUTH_TRUSTED_ORIGINS + ? process.env.BETTER_AUTH_TRUSTED_ORIGINS.split(",") + : ["http://localhost:3000"], database: prismaAdapter(prisma, { provider: "postgresql", }),