better-auth by mrgoonie/claudekit-skills
npx skills add https://github.com/mrgoonie/claudekit-skills --skill better-authBetter Auth 是一个全面的、与框架无关的 TypeScript 身份验证/授权框架,内置电子邮件/密码、社交 OAuth 和强大的插件生态系统,用于实现高级功能。
npm install better-auth
# 或 pnpm/yarn/bun add better-auth
创建 .env 文件:
BETTER_AUTH_SECRET=<generated-secret-32-chars-min>
BETTER_AUTH_URL=http://localhost:3000
创建 auth.ts 文件(在根目录、lib/、utils/ 或 src/app/server/ 下):
import { betterAuth } from "better-auth";
export const auth = betterAuth({
database: {
// 参见 references/database-integration.md
},
emailAndPassword: {
enabled: true,
autoSignIn: true
},
socialProviders: {
github: {
clientId: process.env.GITHUB_CLIENT_ID!,
clientSecret: process.env.GITHUB_CLIENT_SECRET!,
}
}
});
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
npx @better-auth/cli generate # 生成模式/迁移
npx @better-auth/cli migrate # 应用迁移(仅限 Kysely)
Next.js App Router:
// app/api/auth/[...all]/route.ts
import { auth } from "@/lib/auth";
import { toNextJsHandler } from "better-auth/next-js";
export const { POST, GET } = toNextJsHandler(auth);
其他框架: 参见 references/email-password-auth.md#framework-setup
创建 auth-client.ts 文件:
import { createAuthClient } from "better-auth/client";
export const authClient = createAuthClient({
baseURL: process.env.NEXT_PUBLIC_BETTER_AUTH_URL || "http://localhost:3000"
});
// 注册
await authClient.signUp.email({
email: "user@example.com",
password: "secure123",
name: "John Doe"
});
// 登录
await authClient.signIn.email({
email: "user@example.com",
password: "secure123"
});
// OAuth
await authClient.signIn.social({ provider: "github" });
// 会话
const { data: session } = authClient.useSession(); // React/Vue/Svelte
const { data: session } = await authClient.getSession(); // Vanilla JS
| 功能 | 是否需要插件 | 使用场景 | 参考文档 |
|---|---|---|---|
| 电子邮件/密码 | 否(内置) | 基础身份验证 | email-password-auth.md |
| OAuth(GitHub、Google 等) | 否(内置) | 社交登录 | oauth-providers.md |
| 电子邮件验证 | 否(内置) | 验证电子邮件地址 | email-password-auth.md |
| 密码重置 | 否(内置) | 忘记密码流程 | email-password-auth.md |
| 双因素认证(2FA/TOTP) | 是(twoFactor) | 增强安全性 | advanced-features.md |
| 通行密钥/WebAuthn | 是(passkey) | 无密码身份验证 | advanced-features.md |
| 魔法链接 | 是(magicLink) | 基于电子邮件的登录 | advanced-features.md |
| 用户名认证 | 是(username) | 用户名登录 | email-password-auth.md |
| 组织/多租户 | 是(organization) | 团队/组织功能 | advanced-features.md |
| 速率限制 | 否(内置) | 防止滥用 | advanced-features.md |
| 会话管理 | 否(内置) | 用户会话 | advanced-features.md |
选择电子邮件/密码当:
选择 OAuth 当:
选择通行密钥当:
选择魔法链接当:
组合多种方法当:
Better Auth 采用客户端-服务器架构:
better-auth):处理身份验证逻辑、数据库操作、API 路由better-auth/client):为前端提供钩子/方法better-auth 包npx @better-auth/cli generate)scripts/better_auth_init.py - 通过交互式设置初始化 Better Auth 配置每周安装量
189
代码仓库
GitHub 星标数
1.9K
首次出现
2026年1月22日
安全审计
安装于
claude-code157
opencode154
gemini-cli145
codex141
cursor131
github-copilot118
Better Auth is comprehensive, framework-agnostic authentication/authorization framework for TypeScript with built-in email/password, social OAuth, and powerful plugin ecosystem for advanced features.
npm install better-auth
# or pnpm/yarn/bun add better-auth
Create .env:
BETTER_AUTH_SECRET=<generated-secret-32-chars-min>
BETTER_AUTH_URL=http://localhost:3000
Create auth.ts (root, lib/, utils/, or under src/app/server/):
import { betterAuth } from "better-auth";
export const auth = betterAuth({
database: {
// See references/database-integration.md
},
emailAndPassword: {
enabled: true,
autoSignIn: true
},
socialProviders: {
github: {
clientId: process.env.GITHUB_CLIENT_ID!,
clientSecret: process.env.GITHUB_CLIENT_SECRET!,
}
}
});
npx @better-auth/cli generate # Generate schema/migrations
npx @better-auth/cli migrate # Apply migrations (Kysely only)
Next.js App Router:
// app/api/auth/[...all]/route.ts
import { auth } from "@/lib/auth";
import { toNextJsHandler } from "better-auth/next-js";
export const { POST, GET } = toNextJsHandler(auth);
Other frameworks: See references/email-password-auth.md#framework-setup
Create auth-client.ts:
import { createAuthClient } from "better-auth/client";
export const authClient = createAuthClient({
baseURL: process.env.NEXT_PUBLIC_BETTER_AUTH_URL || "http://localhost:3000"
});
// Sign up
await authClient.signUp.email({
email: "user@example.com",
password: "secure123",
name: "John Doe"
});
// Sign in
await authClient.signIn.email({
email: "user@example.com",
password: "secure123"
});
// OAuth
await authClient.signIn.social({ provider: "github" });
// Session
const { data: session } = authClient.useSession(); // React/Vue/Svelte
const { data: session } = await authClient.getSession(); // Vanilla JS
| Feature | Plugin Required | Use Case | Reference |
|---|---|---|---|
| Email/Password | No (built-in) | Basic auth | email-password-auth.md |
| OAuth (GitHub, Google, etc.) | No (built-in) | Social login | oauth-providers.md |
| Email Verification | No (built-in) | Verify email addresses | email-password-auth.md |
| Password Reset | No (built-in) | Forgot password flow | email-password-auth.md |
| Two-Factor Auth (2FA/TOTP) |
Choose Email/Password when:
Choose OAuth when:
Choose Passkeys when:
Choose Magic Link when:
Combine Multiple Methods when:
Better Auth uses client-server architecture:
better-auth): Handles auth logic, database ops, API routesbetter-auth/client): Provides hooks/methods for frontendbetter-auth packagenpx @better-auth/cli generate)scripts/better_auth_init.py - Initialize Better Auth configuration with interactive setupWeekly Installs
189
Repository
GitHub Stars
1.9K
First Seen
Jan 22, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
claude-code157
opencode154
gemini-cli145
codex141
cursor131
github-copilot118
Linux云主机安全托管指南:从SSH加固到HTTPS部署
33,600 周安装
spreadsheets 技能:使用 JavaScript 自动化创建和编辑 Excel 电子表格
1 周安装
使用JavaScript和artifacts工具创建与修改演示文稿幻灯片 - 自动化PPT生成指南
1 周安装
Skill Creator 指南:如何为 Codex 创建高效技能模块 | 技能开发与自动化
1 周安装
Org Agenda API 参考:用于查询和修改 org-mode 日程数据的 HTTP API 接口
1 周安装
Git逻辑提交指南:原子化提交工作流与代码暂存最佳实践
1 周安装
磁盘空间清理指南:安全回收Linux/macOS磁盘空间的自动化脚本
1 周安装
Yes (twoFactor) |
| Enhanced security |
| advanced-features.md |
| Passkeys/WebAuthn | Yes (passkey) | Passwordless auth | advanced-features.md |
| Magic Link | Yes (magicLink) | Email-based login | advanced-features.md |
| Username Auth | Yes (username) | Username login | email-password-auth.md |
| Organizations/Multi-tenant | Yes (organization) | Team/org features | advanced-features.md |
| Rate Limiting | No (built-in) | Prevent abuse | advanced-features.md |
| Session Management | No (built-in) | User sessions | advanced-features.md |