Skip to main content

面向 ADFS 的 SAML 设置指南

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

Blackboard 服务提供商

  1. 以管理员身份登录 Blackboard,然后导航至系统管理员>身份验证

  2. 依次选择创建提供程序 > SAML

  3. 输入以下设置:

    • 名称 > 键入 ADFS SAML 或所需的任何内容。

    • 验证提供程序 > 设为非活动

    • 用户查找方法 > 用户名

    • 受主机名限制 > 将此提供程序用于任何主机名。

    • 链接文本 > 键入 ADFS 登录或所需的任何内容。

  4. 选择保存并配置

  5. 实体 ID 字段,确保其中的值与 ACS URL 相同。

  6. 选择启用自动单点登录单注销服务类型 POST 和 ALLOW ADFS LogoutResponse。取消选择或未选中“重定向”。

  7. 服务提供程序元数据下方,选择生成,然后将 XML 文件保存到您的桌面。

  8. 如果您使用的是 JIT,建议为这个名为 SAML 的提供程序新建一个 数据源,否则,使用 SYSTEM 或您所选的任何内容。

  9. 选中启用 JIT 配置复选框,以允许系统在未知用户试图通过此 SAML 验证提供程序登录时自动创建帐户。如果未选择,则首先需要在 Blackboard 中手动创建用户帐户。

  10. 兼容数据源列表中,务必选择应与此验证提供程序兼容的数据源。

  11. 身份验证提供程序类型选择单点身份验证提供程序

  12. 对于“标识提供者元数据”,选择“元数据 URL”,并将 URL 设置为 ADFS 元数据 URL 之一。https://[adfs 服务器主机名]/FederationMetadata/2001-03/FederationMetadata.xml,然后选择“验证”。

    注意

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

  13. 选择“提交”。

ADFS 身份验证提供程序

  1. 在 ADFS 服务器上,访问 ADFS 管理控制台

  2. 导航到信任关系 > 信赖方信任 > 添加信赖方信任

  3. 添加信赖方信任向导页面上选择开始

  4. 选择从文件导入有关信赖方的数据

  5. 选择浏览,然后上传在 Blackboard SP 部分的步骤 6 中创建的文件。选择下一步

  6. 输入显示名称(如 yourlearnserver.blackboard.com)并选择下一步

  7. 选择我不想配置多重身份验证设置…,然后选择下一步

  8. 选择允许所有用户访问此信赖方并选择下一步

  9. 选择准备好添加信任这一步骤中的下一步,然后在完成步骤中选择关闭

  10. 创建完信赖方信任之后,如果最后一个复选框被选中,则其应该会打开编辑声明规则。否则,右键单击信赖方信任并选择编辑声明

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

以声明方式发送属性

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

发送用户名
  1. 颁发转换规则标签上,选择添加规则

  2. 选择规则模板页面上,将以声明方式发送 LDAP 特性选为声明规则模板,然后选择下一步

  3. 配置规则页面的声明规则名称框中,键入将用户名转换为 NameID

  4. 特性存储下拉列表中,选择 Active Directory

  5. 在左侧的映射框中,选择 SAM-Account-Name公司

  6. 在右侧的映射框中,键入 SamAccountName,然后选择完成

注意

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

发送名字和姓氏(可选)

如果在 Blackboard SAML 身份验证设置页面上选择了JIT 预配选项,这意味着如果用户帐户不存在,则将在 Blackboard 中创建用户帐户,则 名字姓氏 LDAP 属性也可以通过相应地映射属性从 ADFS 发送到 Blackboard。

  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. 选择确定以保存规则,再选择一次确定以完成属性映射。

示例属性语句

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

“颁发转换规则”选项卡。

SubjectAttributeStatement 在用户通过身份验证后,将在 SAML POST 中从 ADFS 发送到 Blackboard,类似于以下内容的元素:

<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 消息解码器来查看在身份验证过程中从 IdP 释放并发送到 Blackboard 的属性。

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

  1. 在 Blackboard 中,导航至系统管理员>身份验证。

  2. 打开 SAML 验证提供程序名称旁边的菜单,然后将其设为活动

然后,ADFS IdP 将成功配置为 SAML 身份验证提供程序,并可用于登录 Blackboard。

然后,在 Blackboard 登录页面中,ADFS IdP 已成功配置为 SAML 身份验证提供程序。
  1. 在 Blackboard 登录页面上,选择使用第三方帐户登录

  2. 选择 SAML 验证提供程序。

  3. 在 ADFS 登录页面输入登录凭证。