用途:在 TypeScript/Next.js 应用中集成 Better Auth 认证框架。Better Auth 是 TypeScript 优先、框架无关的认证框架,支持邮箱密码、OAuth、魔法链接、Passkey 等,更多能力通过插件提供。官方建议始终查阅 better-auth.com/docs 获取最新 API 与代码示例。
主要能力:会话管理(存储优先级、Cookie 缓存策略 compact/jwt/jwe、过期与刷新)、社交登录、邮箱验证与密码重置、用户与账号配置、速率限制、钩子(端点钩子与数据库钩子)、插件体系(twoFactor、organization、passkey、magicLink、emailOtp、username、phoneNumber、admin、apiKey、bearer、jwt、multiSession、sso、oauthProvider、oidcProvider、openAPI、genericOAuth 等)。
必要用法:环境变量 BETTER_AUTH_SECRET(至少 32 字符,可用 openssl rand -base64 32 生成)与 BETTER_AUTH_URL;仅在未设置环境变量时才在配置中写 baseURL/secret。CLI 默认在 ./、./lib、./utils 或 ./src 下查找 auth.ts,可用 --config 指定路径。常用命令:npx @better-auth/cli@latest migrate、npx @better-auth/cli@latest generate、npx @better-auth/cli mcp --cursor;新增或修改插件后需重新运行。数据库可传 pg.Pool、mysql2、better-sqlite3、bun:sqlite,或使用 better-auth/adapters/drizzle、prisma、mongodb。客户端从 better-auth/client、better-auth/react、better-auth/vue、better-auth/svelte、better-auth/solid 导入。
限制与注意:配置使用 ORM 模型名而非数据库表名;secondaryStorage 存在时会话默认存于其中而非数据库;Cookie 缓存不缓存自定义会话字段;无数据库时为无状态模式,缓存过期即登出;disableCSRFCheck 与 disableOriginCheck 存在安全风险。具体收费、平台与效果资料暂未提供。