用途:指导在项目中配置 Better Auth 的服务端与客户端、数据库适配器、会话管理、插件和环境变量,适用于身份认证的搭建与排查。
安装与初始化:运行 npm install better-auth;设置环境变量 BETTER_AUTH_SECRET(至少 32 字符,可用 openssl rand -base64 32 生成)与 BETTER_AUTH_URL;创建 auth.ts(含数据库与配置);为框架创建路由处理器;运行 npx @better-auth/cli@latest migrate;访问 GET /api/auth/ok 应返回 { status: "ok" }。CLI 会在 ./、./lib、./utils 或 ./src 下查找 auth.ts,可用 --config 指定路径;generate 用于 Prisma/Drizzle 生成 schema,添加或修改插件后需重新运行。
主要配置:核心选项包括 baseURL、basePath(默认 /api/auth)、secret、database、secondaryStorage、emailAndPassword、socialProviders、plugins、trustedOrigins 等;仅当环境变量未设置时才在配置中写 baseURL/secret。数据库支持直连实例或 ORM 适配器;注意配置使用适配器模型名而非底层表名。会话存储优先使用 secondaryStorage,否则可用数据库或纯无状态 cookie 缓存(compact、jwt、jwe)。
安全与扩展:advanced 提供 useSecureCookies、禁用 CSRF/来源检查(有风险)、跨子域 Cookie、自定义 IP 头及限流配置;端点钩子与数据库钩子可用于拦截;插件需从具体路径导入以便 tree-shaking,客户端插件在 createAuthClient 中配置。客户端可从 better-auth/react 等导入,使用 signUp、signIn、useSession 等方法,并可通过 typeof auth.$Infer.Session 推断类型。
限制:资料未提供具体价格、平台支持范围或实际效果数据;使用前应以 better-auth.com/docs 的最新文档为准,示例仅覆盖常见配置与命令。