面向 ADFS 的 SAML 设置指南
本主题提供有关在使用 Active Directory 联合身份验证服务 (ADFS) 作为身份提供程序 (IdP) 的 Blackboard 实例上设置 SAML 身份验证的说明。您的 Blackboard 环境充当服务提供商 (SP)。虽然以下步骤在 Windows Server 2012 R2 上使用 ADFS 3.0 版本,但其也适用于 ADFS 2.0。
Blackboard 服务提供商
以管理员身份登录 Blackboard,然后导航至系统管理员>身份验证。
依次选择创建提供程序 > SAML。
输入以下设置:
名称 > 键入 ADFS SAML 或所需的任何内容。
验证提供程序 > 设为非活动。
用户查找方法 > 用户名
受主机名限制 > 将此提供程序用于任何主机名。
链接文本 > 键入 ADFS 登录或所需的任何内容。
选择保存并配置。
在实体 ID 字段,确保其中的值与 ACS URL 相同。
选择启用自动单点登录单注销服务类型 POST 和 ALLOW ADFS LogoutResponse。取消选择或未选中“重定向”。
在服务提供程序元数据下方,选择生成,然后将 XML 文件保存到您的桌面。
如果您使用的是 JIT,建议为这个名为 SAML 的提供程序新建一个 数据源,否则,使用 SYSTEM 或您所选的任何内容。
选中启用 JIT 配置复选框,以允许系统在未知用户试图通过此 SAML 验证提供程序登录时自动创建帐户。如果未选择,则首先需要在 Blackboard 中手动创建用户帐户。
在兼容数据源列表中,务必选择应与此验证提供程序兼容的数据源。
为身份验证提供程序类型选择单点身份验证提供程序。
对于“标识提供者元数据”,选择“元数据 URL”,并将 URL 设置为 ADFS 元数据 URL 之一。https://[adfs 服务器主机名]/FederationMetadata/2001-03/FederationMetadata.xml,然后选择“验证”。
注意
ADFS 服务器理想情况下需要商业证书。如果使用自签名证书,则验证将失败。您需要下载FederationMetadata.xml文件并改用“元数据文件”选项。
选择“提交”。
ADFS 身份验证提供程序
在 ADFS 服务器上,访问 ADFS 管理控制台。
导航到信任关系 > 信赖方信任 > 添加信赖方信任。
在添加信赖方信任向导页面上选择开始。
选择从文件导入有关信赖方的数据。
选择浏览,然后上传在 Blackboard SP 部分的步骤 6 中创建的文件。选择下一步。
输入显示名称(如 yourlearnserver.blackboard.com)并选择下一步。
选择我不想配置多重身份验证设置…,然后选择下一步。
选择允许所有用户访问此信赖方并选择下一步。
选择准备好添加信任这一步骤中的下一步,然后在完成步骤中选择关闭。
创建完信赖方信任之后,如果最后一个复选框被选中,则其应该会打开编辑声明规则。否则,右键单击信赖方信任并选择编辑声明。
为信赖方信任添加声明规则
为信赖方信任添加声明规则会将 LDAP 属性作为声明从 ADFS 服务器发送到 Blackboard。在 ADFS 管理控制台中,右键单击“信赖方信任”。
在颁发转换规则标签上,选择添加规则。
在选择规则模板页面上,将以声明方式发送 LDAP 特性选为声明规则模板,然后选择下一步。
在配置规则页面的声明规则名称框中,键入将用户名转换为 NameID。
在特性存储下拉列表中,选择 Active Directory。
在左侧的映射框中,选择 SAM-Account-Name 或公司。
在右侧的映射框中,键入 SamAccountName,然后选择完成。
注意
“名称 ID”属性的长度需至少为 6 个字符
如果在 Blackboard SAML 身份验证设置页面上选择了JIT 预配选项,这意味着如果用户帐户不存在,则将在 Blackboard 中创建用户帐户,则 名字和姓氏 LDAP 属性也可以通过相应地映射属性从 ADFS 发送到 Blackboard。
在颁发转换规则标签上,选择添加规则。
在选择规则模板页面上,将以声明方式发送 LDAP 特性选为声明规则模板,然后选择下一步。
在配置规则页面的声明规则名称框中,键入发送名字。
在特性存储下拉列表中,选择 Active Directory。
在左侧的映射框中,选择 Given-Name。
在右侧的映射框中,键入
urn:oid:2.5.4.42,然后选择完成。在颁发转换规则标签上,选择添加规则。
在选择规则模板页面上,将以声明方式发送 LDAP 特性选为声明规则模板,然后选择下一步。
在配置规则页面的“声明规则名称”框中,键入发送姓氏。
在特性存储下拉列表中,选择 Active Directory。
在左侧的映射框中,选择姓氏。
在右侧的映射框中,键入
urn:oid:2.5.4.4,然后选择完成。
选择添加规则。
在选择规则模板页面上,为声明规则模板选择转换传入声明,然后选择下一步。
在配置规则页面的声明规则名称框中,键入将电子邮件转换为名称 ID。
传入声明类型应该为 SamAccountName。它必须与在之前规则中创建的传出声明类型匹配。
传出声明类型为名称 ID。
传出名称 ID 格式为未指定。
确认已选择传递所有声明值,然后选择完成。
选择确定以保存规则,再选择一次确定以完成属性映射。
为信赖方信任添加上文所述的所有声明规则后,规则会显示在颁发转换规则标签中。

Subject 和 AttributeStatement 在用户通过身份验证后,将在 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 验证提供程序设为活动状态
在 Blackboard 中,导航至系统管理员>身份验证。
打开 SAML 验证提供程序名称旁边的菜单,然后将其设为活动。
然后,ADFS IdP 将成功配置为 SAML 身份验证提供程序,并可用于登录 Blackboard。

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