工程开发
ck:better-auth avatar

ck:better-auth

使用 Better Auth 实现完整的 TypeScript 身份验证与授权,支持 OAuth、2FA、密钥 (Passkeys)、会话管理及多租户功能。

简介

Better Auth 是一个专为现代 TypeScript 应用程序设计的综合性身份验证与授权框架,不限于特定前端框架。它提供了一个模块化且安全的基础,用于管理用户生命周期,让开发者能够快速将强大的安全功能整合到 Next.js、Nuxt、SvelteKit、Remix、Astro、Hono 或 Express 等项目中。此技能简化了身份管理的复杂性,使团队能专注于核心产品功能,同时处理凭证管理、会话持久化及安全性合规问题。

  • 完整支持传统 Email/密码身份验证,包含内置的邮箱验证与密码重设流程。

  • 广泛的社交登录整合,包含 GitHub、Google 及其他 OAuth 2.0 服务。

  • 进阶安全功能,包括双重身份验证 (2FA/TOTP)、WebAuthn 密钥 (Passkeys) 及 Magic Link 登录。

  • 内置会话管理,提供持久化追踪与自动化的令牌处理。

  • 支持多租户组织架构,非常适合作为需要基于团队权限控制的 SaaS 平台。

  • 提供基于角色的存取控制 (RBAC) 与可配置的速率限制,以保护 API 端点免受暴力破解与滥用。

  • 可扩展的插件架构,允许将自定义商业逻辑注入身份验证生命周期中。

  • 前置需求:具备 TypeScript 环境并连接至后端数据库 (例如 PostgreSQL, MySQL, SQLite 或 Turso),以及对所选框架 API 路由的基本理解。

  • 实作方式:需要配置环境变量,将 API 处理器挂载至框架的路由结构中,并透过 Better Auth CLI 生成数据库结构。

  • 输入/输出:处理用户凭证与 OAuth 令牌,产生安全的会话 Cookie 或 JWT。客户端函数库为前端状态管理提供响应式 Hook。

  • 营运限制:确保 BETTER_AUTH_SECRET 安全储存在环境变量中;务必在生产环境部署前启用速率限制并迁移数据库结构,以确保系统的一致性与安全性。

仓库统计

Star 数
2
Fork 数
0
Open Issue 数
0
主要语言
Python
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 02:15
在 GitHub 查看