安装
设置环境变量
在项目根目录创建一个 .env
文件,并添加以下环境变量:
- 密钥
库用于加密和生成哈希的随机值。您可以使用下面的按钮生成一个,或者您可以使用类似 openssl 的工具。
- 设置基础 URL
创建 Better Auth 实例文件
在以下位置之一创建一个名为 auth.ts
的文件:
- 项目根目录
lib/
文件夹utils/
文件夹
您也可以将这些文件夹嵌套在 src/
、app/
或 server/
文件夹下。(例如 src/lib/auth.ts
、app/lib/auth.ts
)。
在此文件中,导入 Better Auth 并创建您的认证实例。确保使用变量名 auth
导出认证实例,或者作为 default
导出。
配置数据库
Better Auth需要一个数据库来存储用户数据。您可以轻松配置Better Auth 使用SQLite、PostgreSQL 或 MySQL,由Kysely处理这些数据库的查询和迁移。
您也可以向 database
选项提供任何 Kysely 方言或 Kysely 实例。
使用 LibsqlDialect 的示例:
适配器
如果您更喜欢使用ORM,或者如果您的数据库Kysely不支持,您可以使用内置适配器之一。
创建数据库表
Better Auth 包含一个 CLI 工具,帮助管理库所需的数据库文件。
- 生成:此命令生成 ORM 架构或 SQL 迁移文件。
如果您使用的是 Kysely,您可以使用下面的 migrate
命令直接应用迁移。仅当您计划手动应用迁移时才使用 generate
。
- 迁移:此命令直接在数据库中创建所需的表。(仅适用于内置的 Kysely 适配器)
查看 CLI 文档 获取更多信息。
如果您想手动创建架构,可以在 数据库部分 找到所需的核心架构。
挂载处理程序
要处理API请求,您需要在服务器上设置路由处理程序。
在您框架指定的通配符路由处理程序中创建一个新文件或路由。此路由应处理路径 /api/auth/*
的请求(除非您配置了不同的基础路径)。
Better Auth 支持任何具有标准 Request 和 Response 对象的后端框架,并为流行框架提供辅助函数。
创建客户端实例
客户端库帮助您与认证服务器交互。Better Auth 为所有流行的Web框架提供客户端,包括原生JavaScript。
- 从您框架的包中导入
createAuthClient
(例如,React 使用 "better-auth/react")。 - 调用函数创建您的客户端。
- 传递您认证服务器的基础 URL。(如果认证服务器与您的客户端运行在同一域名上,您可以跳过此步骤。)
如果您使用的基础路径不是 /api/auth
,请确保传递包含路径的完整 URL。(例如 http://localhost:3000/custom-path/auth
)
提示:如果您喜欢,也可以导出特定方法:
开始新的征程
开始新的认证之路吧!您现在可以在应用程序中使用 better-auth 了。继续阅读 基本用法 了解如何使用认证实例登录用户。