🌊
【Better Auth】NextJs & tRPC 【#5 Better Auth Setup】
【#5 Better Auth Setup】
YouTube: https://youtu.be/lF7QUg0NK0g
今回は「Better Auth」の初期設定を行います。
npm install better-auth
src/lib/auth.ts
import { betterAuth } from 'better-auth'
import { drizzleAdapter } from 'better-auth/adapters/drizzle'
import { db } from '@/db' // your drizzle instance
import * as schema from '@/db/schema'
export const auth = betterAuth({
emailAndPassword: {
enabled: true,
},
// socialProviders: {
// github: {
// clientId: process.env.GITHUB_CLIENT_ID as string,
// clientSecret: process.env.GITHUB_CLIENT_SECRET as string,
// },
// },
database: drizzleAdapter(db, {
provider: 'pg', // or "mysql", "sqlite"
schema: {
...schema,
},
}),
})
src/app/auth/[...all]/route.ts
import { auth } from '@/lib/auth' // path to your auth file
import { toNextJsHandler } from 'better-auth/next-js'
export const { POST, GET } = toNextJsHandler(auth)
src/lib/auth-client.ts
import { createAuthClient } from 'better-auth/react'
export const authClient = createAuthClient({})
.env
DATABASE_URL='postgresql://neondb_owner:...........................'
BETTER_AUTH_SECRET=de3P.......................
BETTER_AUTH_URL=http://localhost:3000 #Base URL of your app
Discussion