SuperAPI AI 工具集

cloudflare-zero-trust-access

编程与开发

查看项目

更新于 10-15 22:39

技能介绍

用途:为 Cloudflare Workers 应用接入 Cloudflare Access 的 Zero Trust 认证,让 Access 在请求到达 Worker 前校验用户身份,再由 Worker 校验其签发的 JWT。适用于保护 Worker 路由、管理后台、API、CI/CD 服务调用及多租户 SaaS 等场景。

主要能力:技能提供五类集成模式。一、Hono 中间件(推荐):使用 @hono/cloudflare-access 一行接入,自动校验 JWT 并缓存公钥(1 小时 TTL),类型安全。二、手动 JWT 校验:基于 Web Crypto API 自定义校验签名与 aud、exp、iss 等声明,约 100 行,无额外依赖。三、服务令牌认证:用于机器对机器,客户端发送 CF-Access-Client-Id 与 CF-Access-Client-Secret 头,服务端按同一逻辑校验,可通过是否存在 email、common_name 区分服务与用户。四、CORS + Access:CORS 中间件必须位于 Access 中间件之前,否则 OPTIONS 预检请求会被拦截并返回 401。五、多租户:按子域、路径或请求头确定租户,从 D1 或 KV 读取租户配置动态应用不同 Access。

必要用法:安装 npm install hono @hono/cloudflare-access;在 wrangler.jsonc 中设置 ACCESS_TEAM_DOMAIN 与 ACCESS_AUD;在 Zero Trust 控制台创建 Access 应用与策略,将 Worker 通过 Access URL 访问而非直接 *.workers.dev;本地使用环境变量避免硬编码团队名。参考模板包括 hono-basic-setup.ts、jwt-validation-manual.ts、service-token-auth.ts、cors-access.ts、multi-tenant.ts,以及 types.ts、wrangler.jsonc、.env.example;辅助脚本 test-access-jwt.sh 与 create-service-token.sh。

适用场景:管理后台邮箱认证、公开页面加受保护 API、SPA 跨域调用受保护 API、GitHub Actions 等 CI/CD 服务调用、按组织区分的多租户认证。

限制:仅适用于 Cloudflare Workers 配合 Cloudflare Access;不适用于 Cloudflare Pages(应改用 @cloudflare/pages-plugin-cloudflare-access)、非 Cloudflare 平台、自定义 JWT 认证、Auth.js 等认证库或自托管认证。其余如具体收费、价格等资料未提供。