跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

authentik (OIDC)

最后更新 查看 MarkdownAgent 设置

使用 OpenID Connect (OIDC) 将 authentik 连接到 Cloudflare Access。如果你的身份提供商同时支持 OIDC 和 SAML,建议使用 OIDC。

先决条件

  • 具有管理员访问权限的 authentik 账户
  • 具有 Zero Trust 访问权限的 Cloudflare 账户
  • 可公开访问且具有受信任 TLS 证书的 authentik 部署

1. 在 authentik 中创建应用

Cloudflare Access 团队名称是重定向 URI 的一部分。配置 authentik 之前,请先找到团队名称。

您可以在 Cloudflare 仪表板 ↗ 的 Settings(设置)> Team name and domain(团队名称和域名)> Team name(团队名称) 下找到您的团队名称。

  1. 以管理员身份登录 authentik 并打开 Admin 界面。
  2. 前往 Applications > Applications 并选择 New Application。
  3. 输入应用详情,然后选择 Next。
  4. 对于提供商类型,选择 OAuth2/OpenID Connect。
  5. 配置提供商:
    1. 输入提供商名称。

    2. 选择授权流程。

    3. 添加重定向 URI,并将匹配模式设为 Strict、类型设为 Authorization:

      https://<YOUR_TEAM_NAME>.cloudflareaccess.com/cdn-cgi/access/callback
    4. 选择签名密钥。Access 会通过 authentik JSON Web Key Set (JWKS) 端点验证 token,该签名密钥用于此验证。

    5. 确保提供商包含 openid、email 和 profile 范围映射。

  6. 记录 Client ID、Client Secret 和应用 slug。
  7. 选择 Submit。

有关 authentik 提供商设置的更多信息,请参阅 OAuth 2.0 provider ↗。

2. 将 authentik 添加到 Cloudflare Access

  1. 在 Cloudflare Zero Trust 中,前往 Integrations > Identity providers。

    前往 Identity providers(身份提供商) ↗
  2. 选择 Add new identity provider > OpenID Connect。

  3. 输入以下值。将 <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/
  4. 选择 Save(保存)。

Token 和证书端点必须允许来自 Cloudflare 的请求。这些端点上的交互式质询或防火墙规则可能会导致 Access 无法完成身份验证。

3. 测试集成

  1. 在 Cloudflare Zero Trust 中,前往 Integrations > Identity providers。

    前往 Identity providers(身份提供商) ↗
  2. 找到 authentik 身份提供商并选择 Test。

  3. 完成 authentik 登录流程。

  4. 确认 Cloudflare 显示测试成功,并显示预期邮箱地址。

这篇文档对您有帮助吗?