用途:在 Next.js 应用中集成 Auth0 认证,包括登录、登出、受保护页面与中间件。适用于 Next.js 13+ 的 App Router 或 Pages Router,基于 @auth0/nextjs-auth0(v4)。不适用于纯客户端 React 应用、React Native、非 Next.js 框架或仅做无状态 API 的场景。
主要能力:通过 middleware 自动挂载认证路由 /auth/login、/auth/logout、/auth/callback、/auth/profile;客户端用 useUser() 获取用户与加载状态,服务端用 auth0.getSession()、auth0.getAccessToken()。
必要用法:先执行 npm install @auth0/nextjs-auth0。在 .env.local 配置 AUTH0_SECRET、APP_BASE_URL、AUTH0_DOMAIN、AUTH0_CLIENT_ID、AUTH0_CLIENT_SECRET,AUTH0_SECRET 用 openssl rand -hex 32 生成,且 .env.local 需加入 .gitignore。创建 lib/auth0.ts(存在 src/ 时放 src/lib/auth0.ts)导出 Auth0Client 实例;再创建 middleware.ts(存在 src/ 时放 src/middleware.ts),Next.js 16 也可改用 proxy.ts,并配置 matcher。Auth0 Dashboard 需将应用设为 Regular Web Application,并把 /auth/callback 加入 Allowed Callback URLs。
注意事项:v4 使用 APP_BASE_URL 与 AUTH0_DOMAIN,路由不带 /api 前缀;已移除 withPageAuthRequired 和 withApiAuthRequired;useUser 仅限客户端组件。
限制:具体收费、价格、平台支持等资料暂未提供。