1. 替换 auth 包的依赖项
从 auth 包中卸载现有的 Clerk 依赖…
Terminal
Terminal
auth 软件包依赖关系中添加 @repo/database。
2. 更新环境变量
使用以下命令生成密钥,并将其添加到每个 Next.js 应用(app、web 和 api)的 .env.local 文件中:
Terminal
.env.local 文件中添加一个 BETTER_AUTH_SECRET 环境变量。
3. 设置服务端和客户端认证
用以下代码更新auth 包的文件:
4. 更新认证组件
更新auth 包中的 sign-in.tsx 和 sign-up.tsx 组件,使用 client 文件中的 signIn 和 signUp 函数。
5. 生成 Prisma 模型
从根目录运行以下命令为 Better Auth 生成 Prisma 模型:Terminal
6. 更新 Provider 文件
Better Auth 没有作为高阶组件的 Provider 概念,因此您可以完全删除它,或者像这样替换为一个存根:packages/auth/provider.tsx
7. 更改中间件
将auth 包中的中间件更改为以下内容:
packages/auth/middleware.ts
8. 更新您的应用
从这里开始,您需要用 Better Auth 替换应用中剩余的 Clerk 实现。 Here is some inspiration:webhooks/stripe/route.ts