适合场景
内网后台、SSH/RDP、管理面板、SaaS 前置鉴权
Wrangler 配置
// Access 应用通过 Dashboard / Terraform / API 配置,不在 wrangler.jsonc Worker 代码
// 在 Worker 里校验 Access JWT
import * as jose from "jose";
const jwt = req.headers.get("cf-access-jwt-assertion");
if (!jwt) return new Response("forbidden", { status: 403 });
const jwks = jose.createRemoteJWKSet(
new URL(`https://<team>.cloudflareaccess.com/cdn-cgi/access/certs`),
);
const { payload } = await jose.jwtVerify(jwt, jwks, {
audience: env.ACCESS_AUD,
});
// payload.email / payload.sub 拿到身份 实现注意事项
- ● 不是 SSO 替代;Access 是访问代理,仍需 IdP(Google/Okta/...)
- ● 服务到服务用 Service Tokens;用户登录走浏览器流
- ● 策略是并集;多条放行规则任一命中就放行
已复制