import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { env } from "~/env";
import { db } from "~/server/db";
export const auth = betterAuth({
baseURL: env.URL,
// account: { skipStateCookieCheck: true },
database: drizzleAdapter(db, {
provider: "pg", // or "pg" or "mysql"
}),
emailAndPassword: {
enabled: true,
},
socialProviders: {
github: {
clientId: env.BETTER_AUTH_GITHUB_CLIENT_ID,
clientSecret: env.BETTER_AUTH_GITHUB_CLIENT_SECRET,
redirectURI: `${env.URL}/api/auth/callback/github`,
},
},
logger: {
disabled: false,
disableColors: false,
level: "debug",
log: (level, message, ...args) => {
// Custom logging implementation
console.dir([`[${level}] ${message}`, ...args], { depth: null });
}
}
});
export type Session = typeof auth.$Infer.Session;
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { env } from "~/env";
import { db } from "~/server/db";
export const auth = betterAuth({
baseURL: env.URL,
// account: { skipStateCookieCheck: true },
database: drizzleAdapter(db, {
provider: "pg", // or "pg" or "mysql"
}),
emailAndPassword: {
enabled: true,
},
socialProviders: {
github: {
clientId: env.BETTER_AUTH_GITHUB_CLIENT_ID,
clientSecret: env.BETTER_AUTH_GITHUB_CLIENT_SECRET,
redirectURI: `${env.URL}/api/auth/callback/github`,
},
},
logger: {
disabled: false,
disableColors: false,
level: "debug",
log: (level, message, ...args) => {
// Custom logging implementation
console.dir([`[${level}] ${message}`, ...args], { depth: null });
}
}
});
export type Session = typeof auth.$Infer.Session;