SuperAPI AI 工具集

auth0-nuxt

通用与其它

查看项目

更新于 10-15 17:21

技能介绍

用途:为 Nuxt 3/4 应用接入 Auth0 登录、登出、会话管理和受保护路由,采用服务端加密 Cookie 会话,而非客户端令牌,与 @auth0/auth0-vue 不同。

主要能力:模块自动挂载 /auth/login、/auth/callback、/auth/logout、/auth/backchannel-logout 路由,支持自定义或关闭;提供服务端 useAuth0(event) 的 getUser、getSession、getAccessToken、logout,以及客户端 useUser()(仅展示用户数据,不可用于安全校验)。可配置 audience 获取 API 访问令牌,支持无状态默认 Cookie 会话,也可通过 sessionStoreFactoryPath 接管态会话。

使用方式:安装 npm install @auth0/auth0-nuxt,用 openssl rand -hex 64 生成会话密钥,配置 NUXT_AUTH0_ 前缀环境变量(domain、clientId、clientSecret、sessionSecret、appBaseUrl、可选 audience),在 nuxt.config.ts 加入模块并将 runtimeConfig 值留空由环境变量填充。通过路由中间件、server middleware 和 API 处理器三层保护路由,服务端用 getSession 判断会话。

适用场景:Nuxt 3/4 SSR(Node.js 20 LTS+)、需要安全加密会话、保护服务端路由与 API、访问 Auth0 Management API 或自定义 API。

限制:不支持 Nuxt 2;纯客户端 SPA 应使用 @auth0/auth0-vue;仅静态生成且无服务端运行时、非 Auth0 提供方不适用。需在 Auth0 使用 Regular Web Application 类型并配置回调 URL,生产环境启用 HTTPS,切勿提交 .env 文件。