用途:在 Next.js App Router 项目中配置 Supabase Auth 的服务端渲染(SSR),实现基于安全 Cookie 的会话、中间件路由保护以及完整认证流程。
主要能力:提供浏览器、服务端组件、中间件三种 Supabase 客户端配置模板;通过 middleware.ts 在每次请求刷新会话并保护指定路由;提供 getCurrentUser、requireAuth、getSession 等认证工具;提供登出 Server Action、登录页(邮箱密码、魔法链接、OAuth)、受保护页面示例及 OAuth 回调路由。
使用方式:先安装依赖 npm install @supabase/supabase-js @supabase/ssr;在 .env.local 配置 NEXT_PUBLIC_SUPABASE_URL 与 NEXT_PUBLIC_SUPABASE_ANON_KEY;按模板创建 lib/supabase/client.ts、server.ts、middleware.ts 及根目录 middleware.ts,并通过 matcher 配置受保护路由;再创建认证工具、登出 Action、登录页、受保护页面与 OAuth 回调路由。OAuth 需在 Supabase 控制台启用提供方并添加回调地址。
适用场景:Next.js App Router 项目需要 SSR 认证、路由保护、会话刷新与 OAuth 登录时。
限制:资料未提供具体版本要求、收费信息或性能数据;anon key 可公开,安全性依赖数据库 RLS 策略;排错涉及 Cookie 未持久化、中间件重定向循环、OAuth 回调不匹配、TypeScript 类型与 401 会话过期等。