Nitro 集成
Better Auth可以与Nitro 应用(一个用于构建网络服务器的开源框架)集成。
本文旨在帮助你通过几个简单的步骤将 Better Auth 与你的 Nitro 应用集成。
创建新的 Nitro 应用
首先使用以下命令搭建一个新的 Nitro 应用:
这将创建 nitro-app
目录并安装所有依赖项。现在你可以在代码编辑器中打开 nitro-app
目录。
Prisma 适配器设置
本指南假设你对 Prisma 有基本的了解。如果你是 Prisma 新手,可以查看 Prisma 文档。
本指南中使用的 sqlite
数据库在生产环境中不适用。你应该将其替换为生产就绪的数据库,如 PostgreSQL
。
对于本指南,我们将使用 Prisma 适配器。你可以通过运行以下命令来安装 prisma 客户端:
可以使用以下命令将 prisma
安装为开发依赖:
通过运行以下命令在 prisma
目录中生成 schema.prisma
文件:
现在你可以用以下内容替换 schema.prisma
文件的内容:
确保你更新了 .env
文件中的 DATABASE_URL
以指向你的数据库位置。
运行以下命令生成 Prisma 客户端并同步数据库:
安装并配置 Better Auth
按照安装指南中的步骤 1 和 2 在你的 Nitro 应用中安装 Better Auth 并设置环境变量。
完成后,在 server/utils/auth.ts
文件中创建你的 Better Auth 实例。
更新 Prisma Schema
使用 Better Auth CLI 通过运行以下命令用所需的模型更新你的 Prisma schema:
--config
标志用于指定你创建了 Better Auth 实例的文件路径。
前往 prisma/schema.prisma
文件并保存文件以触发保存时的格式化。
保存文件后,你可以运行 npx prisma db push
命令来更新数据库架构。
挂载处理程序
现在你可以在 Nitro 应用中挂载 Better Auth 处理程序。你可以通过在 server/routes/api/auth/[...all].ts
文件中添加以下代码来实现:
这是一个通配符路由,它将处理所有指向 /api/auth/*
的请求。
CORS
你可以通过创建插件为 Nitro 应用配置 CORS。
首先安装 cors 包:
现在你可以创建一个新文件 server/plugins/cors.ts
并添加以下代码:
这将为所有路由启用 CORS。你可以自定义 origin
属性以允许来自特定域的请求。确保配置与你的前端应用同步。
认证守卫/中间件
你可以向 Nitro 应用添加认证守卫,以保护需要认证的路由。你可以通过创建一个新文件 server/utils/require-auth.ts
并添加以下代码来实现:
现在你可以在路由中使用这个事件处理程序/中间件来保护它们:
示例
你可以在这里找到一个集成了 Better Auth 和 Prisma 的 Nitro 应用示例。