用途:Better Auth 是面向 TypeScript 的框架无关认证与授权框架,适用于构建登录、会话与权限体系,并通过插件扩展 2FA、Passkey、多租户、SSO 等场景。
主要能力(内置,无需外部库):twoFactor 插件提供 TOTP/OTP 双因素认证;passkey 插件提供 WebAuthn 支持;multiSession 插件支持单用户并发多会话;organization 插件提供团队、角色与权限的多租户能力;admin 插件提供用户管理 API;oidcProvider 可让应用成为身份提供方;apiKey 插件用于签发与校验 API Key。
必要用法与限制: 1)写代码前必须先获取在线文档,例如 WebFetch("https://www.better-auth.com/llms.txt"),不得凭记忆假设 API 或插件存在。 2)插件需在服务端与客户端同时注册。仅加入服务端 auth 配置不够,凡暴露客户端可调用端点的插件,都须加入 createAuthClient({ plugins: [...] }),否则缺少类型化方法并导致请求失败。 3)启用 cookieCache 时,撤销会话或登出不会立即让其它设备会话失效,旧会话在 cookie 缓存的 maxAge 到期前仍有效,登出流程不应依赖即时跨设备撤销。 4)会话有效性与会话新鲜度是相互独立的检查。会话可能未过期但超过 freshAge,敏感端点会因此返回 401;此时应提示重新认证,而非直接走完全登出流程。 5)disableOriginCheck 会同时关闭基于 origin 头的 CSRF 防护,生产环境切勿设为 true,应用 trustedOrigins 做域名白名单。 6)通过会话自定义函数添加的字段不会走缓存,每次请求都会重新查库;即使配置了二级存储或 cookie 缓存也如此,应保持其轻量或外部记忆化。
其它细节(如具体版本、安装命令、定价、支持平台)本次资料暂未提供。