SuperAPI AI 工具集

auth-scaffold

安全与审计

查看项目

更新于 10-16 01:35

技能介绍

用途:为 Next.js 项目生成基于 Auth.js(NextAuth v5)的完整认证脚手架,涵盖提供方配置、会话处理、中间件路由保护与基于角色的访问控制(RBAC)。生成前需先读取 config/defaults.md,并按用户配置的技术栈调整模式、导入与代码示例。

主要能力:生成 auth.ts 配置(Google、GitHub、Credentials 提供方,Prisma 适配器,JWT 会话策略,jwt/session 回调传递角色);扩展 Prisma schema(User、Account、Session、VerificationToken 四个模型及 Role 枚举);生成路由处理器 app/api/auth/[...nextauth]/route.ts;生成 lib/auth.ts 辅助函数(requireAuth、requireRole);生成 middleware.ts 实现受保护路由、管理员路由与认证页重定向;生成登录/登出客户端组件与 SessionProvider 布局;提供服务端组件、客户端组件、API 路由、Server Action 的会话访问模式;配置环境变量与类型扩展。

使用方式:按生成流程确定认证需求后依次生成各文件;环境变量需在 .env.local 中配置 AUTH_SECRET(可用 npx auth secret 生成)、AUTH_GOOGLE_ID、AUTH_GOOGLE_SECRET、AUTH_GITHUB_ID、AUTH_GITHUB_SECRET。生成后需检查 Prisma schema 是否包含四个模型、路由处理器是否导出 GET 与 POST、中间件 matcher 是否排除 api/auth、JWT 回调是否传递角色、AUTH_SECRET 是否已配置;使用 RBAC 时确认 requireRole 已用于受保护的服务端组件与 API 路由。

适用场景:Next.js 应用需要快速接入多种登录方式、会话管理与角色权限控制时。

限制:资料未提供具体版本兼容范围、部署平台要求、性能或安全审计结论;示例默认使用 Prisma 与 JWT 策略,其他数据库或会话策略需自行适配。