diff --git a/demo/nextjs/.gitignore b/demo/nextjs/.gitignore index 26b002aa..b6cd43c6 100644 --- a/demo/nextjs/.gitignore +++ b/demo/nextjs/.gitignore @@ -38,3 +38,5 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts + +certificates \ No newline at end of file diff --git a/demo/nextjs/package.json b/demo/nextjs/package.json index bc72b0f3..be9fee46 100644 --- a/demo/nextjs/package.json +++ b/demo/nextjs/package.json @@ -4,6 +4,7 @@ "private": true, "scripts": { "dev": "next dev", + "dev:secure": "next dev --experimental-https", "build": "next build", "start": "next start", "lint": "next lint" diff --git a/packages/better-auth/src/client/fetch-plugins.ts b/packages/better-auth/src/client/fetch-plugins.ts index a1c02a98..9912bbd3 100644 --- a/packages/better-auth/src/client/fetch-plugins.ts +++ b/packages/better-auth/src/client/fetch-plugins.ts @@ -34,11 +34,6 @@ export const csrfPlugin = { id: "csrf", name: "CSRF Check", async init(url, options) { - if (!options?.baseURL) { - throw new BetterAuthError( - "API Base URL on the auth client isn't configured. Please pass it directly to the client `baseURL`", - ); - } if (options?.method !== "GET") { options = options || {}; const { data, error } = await betterFetch<{ diff --git a/packages/better-auth/src/cookies/index.ts b/packages/better-auth/src/cookies/index.ts index 928d1547..ebb96577 100644 --- a/packages/better-auth/src/cookies/index.ts +++ b/packages/better-auth/src/cookies/index.ts @@ -14,7 +14,7 @@ export function getCookies(options: BetterAuthOptions) { const cookiePrefix = "better-auth"; const sessionMaxAge = new TimeSpan(7, "d").seconds(); const crossSubdomainEnabled = - options.advanced?.crossSubDomainCookies?.enabled; + !!options.advanced?.crossSubDomainCookies?.enabled; const domain = crossSubdomainEnabled ? options.advanced?.crossSubDomainCookies?.domain || @@ -37,7 +37,7 @@ export function getCookies(options: BetterAuthOptions) { path: "/", secure: !!secureCookiePrefix, maxAge: sessionMaxAge, - ...(crossSubdomainEnabled && { domain }), + ...(crossSubdomainEnabled ? { domain } : {}), } satisfies CookieOptions, }, csrfToken: { @@ -48,7 +48,7 @@ export function getCookies(options: BetterAuthOptions) { path: "/", secure: !!secureCookiePrefix, maxAge: 60 * 60 * 24 * 7, - ...(crossSubdomainEnabled && { domain }), + ...(crossSubdomainEnabled ? { domain } : {}), } satisfies CookieOptions, }, state: { @@ -58,8 +58,8 @@ export function getCookies(options: BetterAuthOptions) { sameSite, path: "/", secure: !!secureCookiePrefix, - maxAge: 60 * 15, // 15 minutes in seconds - ...(crossSubdomainEnabled && { domain }), + maxAge: 60 * 15, + ...(crossSubdomainEnabled ? { domain } : {}), } satisfies CookieOptions, }, pkCodeVerifier: { @@ -69,8 +69,8 @@ export function getCookies(options: BetterAuthOptions) { sameSite, path: "/", secure: !!secureCookiePrefix, - maxAge: 60 * 15, // 15 minutes in seconds - ...(crossSubdomainEnabled && { domain }), + maxAge: 60 * 15, + ...(crossSubdomainEnabled ? { domain } : {}), } as CookieOptions, }, dontRememberToken: { @@ -81,7 +81,7 @@ export function getCookies(options: BetterAuthOptions) { path: "/", secure: !!secureCookiePrefix, //no max age so it expires when the browser closes - ...(crossSubdomainEnabled && { domain }), + ...(crossSubdomainEnabled ? { domain } : {}), } as CookieOptions, }, nonce: { @@ -91,8 +91,8 @@ export function getCookies(options: BetterAuthOptions) { sameSite, path: "/", secure: !!secureCookiePrefix, - maxAge: 60 * 15, // 15 minutes in seconds - ...(crossSubdomainEnabled && { domain }), + maxAge: 60 * 15, + ...(crossSubdomainEnabled ? { domain } : {}), } as CookieOptions, }, }; @@ -127,7 +127,7 @@ export function createCookieGetter(options: BetterAuthOptions) { path: "/", maxAge: 60 * 15, // 15 minutes in seconds ...opts, - ...(crossSubdomainEnabled && { domain }), + ...(crossSubdomainEnabled ? { domain } : {}), } as CookieOptions, }; }