SuperAPI AI 工具集

auth0-fastify

通用与其它

查看项目

更新于 10-15 17:21

技能介绍

用途:为 Fastify Web 应用添加基于会话的登录、登出与受保护路由,集成 @auth0/auth0-fastify。适用前提为 Fastify v5.x 及以上、Node.js 20 LTS 及以上,并已配置 Auth0 账户与应用;尚未配置时可先用 auth0-quickstart 技能。不适用场景:单页应用改用 auth0-react、auth0-vue、auth0-angular;Next.js 用 auth0-nextjs;移动端用 auth0-react-native;无状态 API 用 @auth0/auth0-fastify-api;微服务间认证使用 JWT 校验。

主要能力:注册插件后自动创建 /auth/login、/auth/logout、/auth/callback 端点;通过 fastify.auth0Client.getSession({ request, reply }) 获取会话,getUser 获取用户资料,getAccessToken 获取访问令牌,logout 登出。插件选项包括 domain、clientId、clientSecret、appBaseUrl、sessionSecret(必填,至少 64 字符)及可选 audience。

使用方式:安装依赖 npm install @auth0/auth0-fastify fastify @fastify/view ejs dotenv;在 .env 中配置 AUTH0_DOMAIN、AUTH0_CLIENT_ID、AUTH0_CLIENT_SECRET、SESSION_SECRET(用 openssl rand -hex 64 生成)、APP_BASE_URL;注册视图引擎与 fastifyAuth0 插件(需 await);公开路由用 getSession 判断登录状态,受保护路由在 preHandler 中检查会话,无会话则 redirect('/auth/login');随后 node server.js 启动并访问本地地址测试登录流程。

限制与注意事项:Auth0 应用类型必须为 Regular Web Application,回调地址需在 Allowed Callback URLs 中添加 /auth/callback;SESSION_SECRET 需足够强且经环境变量注入,不可硬编码;生产环境 APP_BASE_URL 需改为实际域名;Fastify v4+ 注册插件需 await。相关资料未提供收费、价格或性能数据。