// lib/auth.ts (server)
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "~/server/db";
import { env } from "~/env";
const origins: string[] = [];
if (env.NODE_ENV === "development") {
origins.push("http://localhost:3001");
}
export const auth = betterAuth({
appName: "4uAuth",
baseURL: env.BETTER_AUTH_BASE_URL,
database: drizzleAdapter(db, { provider: "mysql" }),
emailAndPassword: {
enabled: true,
},
socialProviders: {
google: {
clientId: env.GOOGLE_CLIENT_ID,
clientSecret: env.GOOGLE_CLIENT_SECRET,
},
linkedin: {
clientId: env.LINKEDIN_CLIENT_ID,
clientSecret: env.LINKEDIN_CLIENT_SECRET,
},
microsoft: {
clientId: env.MICROSOFT_CLIENT_ID,
clientSecret: env.MICROSOFT_CLIENT_SECRET,
},
},
advanced: {
crossSubDomainCookies: {
enabled: true,
},
},
trustedOrigins: origins,
});
// lib/auth.ts (server)
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "~/server/db";
import { env } from "~/env";
const origins: string[] = [];
if (env.NODE_ENV === "development") {
origins.push("http://localhost:3001");
}
export const auth = betterAuth({
appName: "4uAuth",
baseURL: env.BETTER_AUTH_BASE_URL,
database: drizzleAdapter(db, { provider: "mysql" }),
emailAndPassword: {
enabled: true,
},
socialProviders: {
google: {
clientId: env.GOOGLE_CLIENT_ID,
clientSecret: env.GOOGLE_CLIENT_SECRET,
},
linkedin: {
clientId: env.LINKEDIN_CLIENT_ID,
clientSecret: env.LINKEDIN_CLIENT_SECRET,
},
microsoft: {
clientId: env.MICROSOFT_CLIENT_ID,
clientSecret: env.MICROSOFT_CLIENT_SECRET,
},
},
advanced: {
crossSubDomainCookies: {
enabled: true,
},
},
trustedOrigins: origins,
});