20 lines
767 B
TypeScript
20 lines
767 B
TypeScript
import { betterAuth } from 'better-auth';
|
|
import { drizzleAdapter } from 'better-auth/adapters/drizzle';
|
|
import { admin, bearer } from 'better-auth/plugins';
|
|
import { db } from './db/client';
|
|
import * as schema from './db/schema';
|
|
import { env } from './env';
|
|
|
|
export const auth = betterAuth({
|
|
secret: env.BETTER_AUTH_SECRET,
|
|
baseURL: env.BETTER_AUTH_URL,
|
|
trustedOrigins: [env.BETTER_AUTH_URL, 'http://localhost:3000', ...env.WEB_ORIGINS],
|
|
database: drizzleAdapter(db, { provider: 'sqlite', schema }),
|
|
emailAndPassword: {
|
|
enabled: true,
|
|
requireEmailVerification: false,
|
|
disableSignUp: true, // admin creates users; see docs/plans/phase-2-accounts-roles.md
|
|
},
|
|
plugins: [bearer(), admin({ defaultRole: 'worker', adminRoles: ['admin'] })],
|
|
});
|