使用 OpenID Connect (OIDC) 将 authentik 连接到 Cloudflare Access。如果你的身份提供商同时支持 OIDC 和 SAML,建议使用 OIDC。
- 具有管理员访问权限的 authentik 账户
- 具有 Zero Trust 访问权限的 Cloudflare 账户
- 可公开访问且具有受信任 TLS 证书的 authentik 部署
Cloudflare Access 团队名称是重定向 URI 的一部分。配置 authentik 之前,请先找到团队名称。
您可以在 Cloudflare 仪表板 ↗ 的 Settings(设置)> Team name and domain(团队名称和域名)> Team name(团队名称) 下找到您的团队名称。
- 以管理员身份登录 authentik 并打开 Admin 界面。
- 前往 Applications > Applications 并选择 New Application。
- 输入应用详情,然后选择 Next。
- 对于提供商类型,选择 OAuth2/OpenID Connect。
- 配置提供商:
-
输入提供商名称。
-
选择授权流程。
-
添加重定向 URI,并将匹配模式设为 Strict、类型设为 Authorization:
https://<YOUR_TEAM_NAME>.cloudflareaccess.com/cdn-cgi/access/callback -
选择签名密钥。Access 会通过 authentik JSON Web Key Set (JWKS) 端点验证 token,该签名密钥用于此验证。
-
确保提供商包含
openid、email和profile范围映射。
-
- 记录 Client ID、Client Secret 和应用 slug。
- 选择 Submit。
有关 authentik 提供商设置的更多信息,请参阅 OAuth 2.0 provider ↗。
-
在 Cloudflare Zero Trust 中,前往 Integrations > Identity providers。
前往 Identity providers(身份提供商) ↗ -
选择 Add new identity provider > OpenID Connect。
-
输入以下值。将
<AUTHENTIK_DOMAIN>替换为你的 authentik 主机名,并将<APPLICATION_SLUG>替换为 authentik 中的应用 slug。字段 值 名称 authentik应用 ID authentik 的 Client ID 客户端密钥 authentik 的 Client Secret 授权 URL https://<AUTHENTIK_DOMAIN>/application/o/authorize/Token URL https://<AUTHENTIK_DOMAIN>/application/o/token/证书 URL https://<AUTHENTIK_DOMAIN>/application/o/<APPLICATION_SLUG>/jwks/ -
选择 Save(保存)。
Token 和证书端点必须允许来自 Cloudflare 的请求。这些端点上的交互式质询或防火墙规则可能会导致 Access 无法完成身份验证。
-
在 Cloudflare Zero Trust 中,前往 Integrations > Identity providers。
前往 Identity providers(身份提供商) ↗ -
找到 authentik 身份提供商并选择 Test。
-
完成 authentik 登录流程。
-
确认 Cloudflare 显示测试成功,并显示预期邮箱地址。