文档中心 访问控制 用户指南 使用Keycloak进行SAML SSO的示例

使用Keycloak进行SAML SSO的示例

更新时间:2026-03-25 15:25:41

操作指南

Keycloak 发布与安装

详细信息请参见 安装与发布流程

登录 Keycloak 并配置应用

  1. 使用管理员账号登录 Keycloak 平台。

Update to Chinese Display Name for Security Products

  1. 新建 Realm

Update to Chinese Display Name for Security Products

  1. 创建完成后,进入 Realm 设置,下载初始元数据,并点击 [SAML 2.0 Identity Provider Metadata]。

Update to Chinese Display Name for Security Products

  1. 登录 CDNetworks控制台,配置 Item provider
    选择 SSO 类型Role SSO,并上传第3步下载的 IdP 元数据文件。

注意: 完成所有配置后需重新更新一次元数据文档。

Update to Chinese Display Name for Security Products

  1. 获取 SP 元数据
    CDNetworks控制台,点击“查看”进入 Provider 视图页面,下载 SP 元数据文档。
    Update to Chinese Display Name for Security Products

  2. 创建推流端。可通过“导入推流端”功能快速创建并上传 SP 元数据。

注意: 推流端导入功能仅支持 Chrome 浏览器,否则会报错 “Object.hasOwn is not a function”。

Update to Chinese Display Name for Security Products

导入成功后,Client ID 会自动识别。请点击 保存 并进入推流端配置页面。

Update to Chinese Display Name for Security Products

您也可以在推流端列表中找到对应的 Client ID,进入配置页面。

Update to Chinese Display Name for Security Products

  1. 配置访问设置。
    导入 XML 文件后,系统会自动生成 Client ID 和有效的重定向 URI。本页需配置的信息包括:
  • Root URL
  • Home URL
  • IDP 发起的 SSO URL 名称。直接填写 Realm 名称,完整的 IDP 发起 SSO URL 会在下方显示。
  • 将主域名填写到 Root URL,URI 部分填写到 Home URL,参考下图:

Update to Chinese Display Name for Security Products

  1. 配置 SAML 功能
    选择 username 作为 Name ID 格式,其他参数保持默认,点击 保存 完成配置。

Update to Chinese Display Name for Security Products

  1. 进入 Client scopes 选项卡修改相关配置。
    role_listAssigned typedefault 修改为 Optional

Update to Chinese Display Name for Security Products

进入当前客户端专用配置文件,将 Full scope allowed 设置为关闭,见下图:

Update to Chinese Display Name for Security Products
Update to Chinese Display Name for Security Products

  1. 创建用于登录 Keycloak 的用户。
    Users 功能中创建用户,并设置密码。此处的 Username 必须与CDNetworks控制台中的同名账号一致。
    参考:创建用户

Update to Chinese Display Name for Security Products

凭据 选项卡中可设置密码。

Update to Chinese Display Name for Security Products

  1. 进入 Clients 配置页面,找到 Client scopes 选项卡,进入专用配置文件。

Update to Chinese Display Name for Security Products

Mappers 中,新增两个自定义配置。点击 配置新的映射器,在弹窗中选择 Hardcoded 属性

Update to Chinese Display Name for Security Products
Update to Chinese Display Name for Security Products

第一个配置:

  • 名称:https://login.cdnetworks.com/SAML/Attributes/RoleSessionName
  • 属性值可填写任意值,建议使用 Realm 名称(如 KeycloakMock)。
    点击 保存

Update to Chinese Display Name for Security Products

返回 Mappers 页面,点击 添加映射器 并选择 按配置。在弹窗中选择 硬编码属性

Update to Chinese Display Name for Security Products

第二个配置:

  • 名称:https://login.cdnetworks.com/SAML/Attributes/LoginName
  • 属性值:
    • wsc:iam::web host account:login-name/当前登录账号
    • wsc:iam::web host account:saml-provider/身份提供商名称

示例:
主账号为 keycloak,子账号为 keycloakMock,身份提供商名称为 Mock
若所有用户均为子账号 keycloakMock,则配置为
wsc:iam::keycloak:login-name/keycloakMock,wsc:iam::keycloak:saml-provider/Mock
若所有用户均为主账号 keycloak,则配置为
wsc:iam::keycloak:login-name/keycloak,wsc:iam::keycloak:saml-provider/Mock

  1. 完成所有配置后,下载新的元数据文件并上传至 CDNetworks控制台。操作与第3步相同。

Update to Chinese Display Name for Security Products

访问测试

Clients 列表中,找到新添加的 Client ID 对应的 Home URL,点击 Access,跳转至 Keycloak 登录页面。

Update to Chinese Display Name for Security Products

输入已创建的用户名和密码,检查能否正常跳转至 CDNetworks控制台

Update to Chinese Display Name for Security Products

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!