Keycloak 是由 JBoss 构建的开源身份和访问管理解决方案。如果您需要用于测试的 Keycloak 实验室环境,请参考此示例 ↗。
将 Keycloak (SAML) 设置为身份提供商:
-
在 Keycloak 中,选择导航栏中的 **Clients(客户端)**并创建一个新客户端。
-
在 **Client ID(客户端 ID)**下,输入以下 URL:
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback您可以在 Cloudflare 仪表板 ↗ 的 Settings(设置)> Team name and domain(团队名称和域名)> **Team name(团队名称)**下找到您的团队名称。

-
将
Name ID Format更改为email。 -
接下来,将有效重定向 URI 设置为您使用的 Keycloak 域,例如
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback。 -
使用相同的 Keycloak 域设置 Master SAML Processing URL:
https://<keycloak_domain>/auth/realms/master/protocol/saml。 -
如果您希望启用客户端签名,请启用
Client Signature Required并选择 Save(保存)。-
将您下载的 Access 证书导入 **SAML Keys(SAML 密钥)**选项卡。使用
Certificate PEM作为格式。
-
为
email属性设置内置协议映射器。
接下来,您需要与 Cloudflare Access 集成。
-
在 Cloudflare 仪表板 ↗中,前往 Zero Trust > Integrations(集成) > Identity providers(身份提供商)。
-
在 **Your identity providers(您的身份提供商)**下,选择 Add new identity provider(添加新身份提供商)。
-
在下一页选择 SAML(SAML)。
您需要手动输入 Keycloak 详细信息。以下示例应替换为 Keycloak 和 Cloudflare Access 使用的具体域。
字段 示例 Single Sign-On URL https://<keycloak_domain>/auth/realms/master/protocol/samlIdP Entity ID or Issuer URL https://<unique_id>.cloudflareaccess.com/cdn-cgi/access/callbackSigning certificate 使用 Keycloak 中 Realm Settings 的 X509 证书 -
选择 Save(保存)。
要测试连接是否正常,请前往 Integrations(集成)> Identity providers(身份提供商),然后选择要测试的登录方法旁的 Test(测试)。