本主题提供了相关说明,用于通过 Active Directory 联合身份验证服务 (ADFS) 在 Blackboard Learn 实例上将 SAML 验证设置为身份验证提供程序。您的 Blackboard Learn 环境充当服务提供程序 (SP)。虽然以下步骤在 Windows Server 2012 R2 上使用 ADFS 3.0 版本,但其也适用于 ADFS 2.0。

Learn 服务提供程序

  1. 以管理员身份登录到 Blackboard Learn 并导航到系统管理员 > 验证
  2. 依次选择创建提供程序 > SAML
  3. 输入以下设置:
    • 名称 > 键入 ADFS SAML 或所需的任何内容。
    • 验证提供程序 > 设为非活动
    • 用户查找方法 > 用户名
    • 受主机名限制 > 将此提供程序用于任何主机名。
    • 链接文本 > 键入 ADFS 登录或所需的任何内容。
  4. 选择保存并配置
  5. 实体 ID 字段,确保其中的值与 ACS URL 相同。
  6. 选择启用自动 SSO单点注销服务类型发布和允许 ADFS LogoutResponse将重定向保持取消选中状态。      
  7. 服务提供程序元数据下方,选择生成,然后将 XML 文件保存到您的桌面。
  8. 如果您使用的是 JIT,建议为这个名为 SAML 的提供程序新建一个 数据源,否则,使用 SYSTEM 或您所选的任何内容。
  9. 选中启用 JIT 配置复选框,以允许系统在未知用户试图通过此 SAML 验证提供程序登录时自动创建帐户。如果未选中此框,则首先需要在 Blackboard Learn 中手动创建用户帐户。
  10. 兼容数据源列表中,务必选择应与此验证提供程序兼容的数据源。
  11. 身份验证提供程序类型选择单点身份验证提供程序
  12. 对于身份验证提供程序元数据,请选择元数据 URL 并将 URL 设置为您的 ADFS 元数据 URL 之一。 https://[adfs server hostname]/FederationMetadata/2001-03/FederationMetadata.xml and select Validate.

    ADFS 服务器理想情况下需要商业证书。如果使用的是自签名证书,则验证会失败。您需要下载 FederationMetadata.xml 文件并使用元数据文件选项。

  13. 选择提交。

ADFS 身份验证提供程序

  1. 在 ADFS 服务器上,访问 ADFS 管理控制台
  2. 导航到信任关系 > 信赖方信任 > 添加信赖方信任
  3. 添加信赖方信任向导页面上选择开始
  4. 选择从文件导入有关信赖方的数据
  5. 选择浏览,然后上传在 Learn SP 部分第 6 步创建的文件。选择下一步
  6. 输入显示名称(如 yourlearnserver.blackboard.com)并选择下一步
  7. 选择我不想配置多重身份验证设置…,然后选择下一步
  8. 选择允许所有用户访问此信赖方并选择下一步
  9. 选择准备好添加信任这一步骤中的下一步,然后在完成步骤中选择关闭
  10. 创建完信赖方信任之后,如果最后一个复选框被选中,则其应该会打开编辑声明规则。否则,右键单击信赖方信任并选择编辑声明

为信赖方信任添加声明规则

以声明方式发送属性

为信赖方信任添加声明规则会以声明方式将 LDAP 属性从 ADFS 服务器发送到 Blackboard Learn。在 ADFS 管理控制台中,右键单击“信赖方信任”。

发送用户名

  1. 颁发转换规则标签上,选择添加规则
  2. 选择规则模板页面上,将以声明方式发送 LDAP 特性选为声明规则模板,然后选择下一步
  3. 配置规则页面的声明规则名称框中,键入将用户名转换为 NameID
  4. 特性存储下拉列表中,选择 Active Directory
  5. 在左侧的映射框中,选择 SAM-Account-Name公司
  6. 在右侧的映射框中,键入 SamAccountName,然后选择完成

“名称 ID”属性的长度需至少为 6 个字符

发送名字和姓氏(可选)

如果 Blackboard Learn SAML 验证设置页面上的 JIT 配置选项处于选中状态,也就是说,用户帐户会在不存在时在 Blackboard Learn 中创建,则通过映射相应的属性,名字姓氏 LDAP 属性也可以从 ADFS 发送到 Blackboard Learn。

  1. 颁发转换规则标签上,选择添加规则
  2. 选择规则模板页面上,将以声明方式发送 LDAP 特性选为声明规则模板,然后选择下一步
  3. 配置规则页面的声明规则名称框中,键入发送名字
  4. 特性存储下拉列表中,选择 Active Directory
  5. 在左侧的映射框中,选择 Given-Name
  6. 在右侧的映射框中,键入 urn:oid:2.5.4.42,然后选择完成
  7. 颁发转换规则标签上,选择添加规则
  8. 选择规则模板页面上,将以声明方式发送 LDAP 特性选为声明规则模板,然后选择下一步
  9. 配置规则页面的“声明规则名称”框中,键入发送姓氏
  10. 特性存储下拉列表中,选择 Active Directory
  11. 在左侧的映射框中,选择姓氏
  12. 在右侧的映射框中,键入 urn:oid:2.5.4.4,然后选择完成

转换传入声明

  1. 选择添加规则
  2. 选择规则模板页面上,为声明规则模板选择转换传入声明,然后选择下一步
  3. 配置规则页面的声明规则名称框中,键入将电子邮件转换名称 ID
  4. 传入声明类型应该为 SamAccountName。它必须与在之前规则中创建的传出声明类型匹配。
  5. 传出声明类型名称 ID
  6. 传出名称 ID 格式未指定
  7. 确认已选择传递所有声明值,然后选择完成
  8. 选择确定以保存规则,再选择一次确定以完成属性映射。

示例属性语句

信赖方信任添加上文所述的所有声明规则后,规则会显示在颁发转换规则标签中。

主题AttributeStatement 元素(类似于下文)会在用户经过验证后通过 SAML POST 从 ADFS 发送到 Blackboard Learn:

<Subject>
    <NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified ">luke.skywalker</NameID>
    [SNIP]
</Subject>
 
<AttributeStatement>
    <Attribute Name="SamAccountName">
        <AttributeValue>luke.skywalker</AttributeValue>
    </Attribute>
    <Attribute Name="urn:oid:2.5.4.42">
        <AttributeValue>Luke</AttributeValue>
    </Attribute>
    <Attribute Name="urn:oid:2.5.4.4">
        <AttributeValue>Skywalker</AttributeValue>
    </Attribute>
</AttributeStatement>

如果来自 IdP 的属性在 SAML 响应中未经过加密,则 Firefox 浏览器 SAML 跟踪器附加组件Chrome SAML Message Decoder 可用于查看此类属性(即从 IdP 发出并在验证过程中发送给 Blackboard Learn)。


将 SAML 验证提供程序设为活动状态

  1. 在 Blackboard Learn 中,导航到“系统管理员”>“验证”。
  2. 打开 SAML 验证提供程序名称旁边的菜单,然后将其设为活动

随后,ADFS IdP 会成功配置为 SAML 验证提供程序,可用于登录到 Blackboard Learn。

  1. 在 Blackboard Learn 登录页面,选择使用第三方帐户登录
  2. 选择 SAML 验证提供程序。
  3. 在 ADFS 登录页面输入登录凭证。