import { betterAuth } from 'better-auth'
import { prismaAdapter } from 'better-auth/adapters/prisma'
import { prisma } from './lib/db'
import { sendVerificationMail } from './lib/mail'
export const auth = betterAuth({
database: prismaAdapter(prisma, {
provider: 'postgresql'
}),
user: {
additionalFields: {
dob: {
type: 'string',
required: true
}
}
},
emailAndPassword: {
enabled: true,
minPasswordLength: 4,
maxPasswordLength: 32,
requireEmailVerification: true
},
emailVerification: {
sendVerificationEmail: async ({ user, url }) => await sendVerificationMail(user.email, url),
sendOnSignUp: true,
autoSignInAfterVerification: true,
},
advanced: {
cookiePrefix: 'diveme'
},
socialProviders: {
google: {
clientId: process.env.GOOGLE_CLIENT_ID as string,
clientSecret: process.env.GOOGLE_CLIENT_SECRET as string
}
}
})
import { betterAuth } from 'better-auth'
import { prismaAdapter } from 'better-auth/adapters/prisma'
import { prisma } from './lib/db'
import { sendVerificationMail } from './lib/mail'
export const auth = betterAuth({
database: prismaAdapter(prisma, {
provider: 'postgresql'
}),
user: {
additionalFields: {
dob: {
type: 'string',
required: true
}
}
},
emailAndPassword: {
enabled: true,
minPasswordLength: 4,
maxPasswordLength: 32,
requireEmailVerification: true
},
emailVerification: {
sendVerificationEmail: async ({ user, url }) => await sendVerificationMail(user.email, url),
sendOnSignUp: true,
autoSignInAfterVerification: true,
},
advanced: {
cookiePrefix: 'diveme'
},
socialProviders: {
google: {
clientId: process.env.GOOGLE_CLIENT_ID as string,
clientSecret: process.env.GOOGLE_CLIENT_SECRET as string
}
}
})