用途:为 Next.js 15+(App Router)与 Cloudflare Workers 项目搭建 Auth.js v5 认证,覆盖 OAuth、邮箱密码凭据、魔法链接等登录方式,并规避常见配置错误。
主要能力:提供 Next.js 与 Cloudflare Workers 两套快速开始流程;讲解 JWT 与数据库两种会话策略及选择建议;给出 GitHub、Google、Credentials、Resend 魔法链接等 Provider 配置;提供 Prisma(PostgreSQL/MySQL)与 Cloudflare D1 适配器用法及数据库表结构;包含中间件模式与边缘运行时兼容方案;汇总 AUTH_SECRET 缺失、CallbackRouteError、路由路径错误、PKCE、D1 绑定、令牌刷新等已知问题及修复。
使用方式:Next.js 侧执行 npm install next-auth@latest 与 @auth/core@latest,按需安装 @auth/prisma-adapter 或 @auth/d1-adapter;创建 auth.ts 与 app/api/auth/[...nextauth]/route.ts,可选 middleware.ts,并配置 AUTH_SECRET 等环境变量(npx auth secret 生成)。Cloudflare Workers 侧执行 npm install @auth/core@latest @auth/d1-adapter@latest hono,用 npx wrangler d1 create 建库并执行 schema.sql,通过 npx wrangler secret put 写入密钥后 npx wrangler deploy。
适用场景:需要快速接入认证的 Next.js 应用、边缘部署的 Workers 服务、需要会话失效或审计的数据库会话场景。
限制:Credentials 仅支持 JWT 会话;魔法链接必须配置数据库适配器;authorize() 中应返回 null 而非抛错;非边缘兼容适配器不能在边缘运行时使用数据库会话,需拆分配置并强制 strategy: "jwt"。具体版本兼容与部署细节以官方文档为准。