微软广告文件系统

先决条件

在将 Microsoft Active Directory 联合身份验证服务 (AD FS) 配置为使用 Postman 单点登录 (SSO) 之前,您必须具备:

  • 所有用户都有一个电子邮件地址属性的 Active Directory 实例。
  • 来自 AD FS 服务器的 SSL 证书。
  • 运行 Microsoft Server 2012 或 2008 的服务器。注意:本指南使用 Server 2012R2 的屏幕截图,

但在其他版本中应该可以执行类似的步骤。

满足这些基本要求后,在您的服务器上安装 AD FS。

要配置和安装 AD FS,请参阅Microsoft 知识库中的部署和配置 AD FS 。

配置

按照以下步骤配置 Microsoft AD FS 以使用 Postman SSO。

步骤 1 - 在 Postman 中创建 AD FS 身份验证方案。

要创建此方案身份验证,请参阅为团队配置 SSO

创建方案后,在“团队”页面中收集这些字段的值。

字段 AD FS 等效
断言消费者服务 URL SAML 2.0 SSO 服务 URL
加密证书 令牌加密证书

第 2 步- 添加信赖方信任。

信赖方信任 (RPT) 定义 AD FS 和 Postman 之间的连接。

要添加信赖方信任:

从“AD FS 管理”中选择信赖方信任文件夹。

在操作侧边栏上,选择“添加信赖方信任”以启动新信任的配置向导。

在欢迎屏幕中选择声明感知按钮,然后选择开始按钮。

信赖方信任

在“选择数据源”屏幕中,选择最后一个选项“手动输入有关当事人的数据”。

选择数据源

输入您稍后会识别的“显示名称”。您可以选择添加注释。

显示名称

团队页面上传加密证书或使用默认证书设置。

加密证书

为 SAML 2.0 WebSSO 协议选中标有“启用支持”的框。

从团队页面收集服务 URL (ACS URL) 。

网址

添加此信赖方信任标识符:https://identity.getpostman.com

回复方信任标识符

选择“允许所有人”。

允许所有人

在接下来的两个屏幕中,向导会显示您的设置概览。

在最后一个屏幕中,使用关闭按钮退出并打开“索赔规则”编辑器。

第 3 步- 创建声明规则。

创建依赖方信任后,您可以创建声明规则。

索赔规则

要创建新规则:

选择“添加规则”。然后创建“将 LDAP 属性作为声明发送”规则。

添加规则

使用 Active Directory 作为属性存储,执行以下操作:

在 LDAP 属性列中,选择“电子邮件地址”。在传出声明类型中,选择“电子邮件地址”。

活动目录

选择完成按钮以保存新规则。

选择“添加规则”以创建另一个新规则并选择“转换传入声明”作为模板。

传入索赔

在下一个屏幕中执行以下操作:

在“传入索赔类型”中,选择“电子邮件地址”。

在“Outgoing Claim Type”中,选择“Name ID”。

在“Outgoing Name ID Format”中,选择“Email”。

注意:使用默认设置:“通过所有声明值”。

通过索赔值

选择完成按钮以创建声明规则。

您应该看到两个转换规则。选择“编辑索赔签发政策”进行确认。

编辑索赔签发

第 4 步- 调整信任设置。

要调整信任设置,请选择“RPT”,然后在“操作”侧栏中选择“属性”。

在“高级”选项卡中,将“SHA-1”指定为安全哈希算法。

调整信任

第 5 步- 向 Postman 提交身份提供者详细信息。

设置完成后,您必须将身份提供者的详细信息提交给 Postman。

下载 FederationMetadata.xml。您通常可以在以下位置找到此文件:https://<Federation Service name>/FederationMetadata/2007-06/FederationMetadata.xml

从元数据文件中收集身份提供者单点登录 URL、身份提供者颁发者和 X.509 证书,并在 AD FS 身份提供者详细信息对话框的团队页面中输入这些值。

步骤 6在您的 ADFS 服务器上启用 RelayState 参数。

  • 对于 ADFS 2.0,在文本编辑器中打开以下文件:
%systemroot%\inetpub\adfs\ls\web.config
  • 对于 ADFS 3.0,在文本编辑器中打开以下文件:
%systemroot%\ADFS\Microsoft.IdentityServer.Servicehost.exe.config

在该<microsoft.identityServer.web>部分中,为useRelyStateForIdpInitiatedSignOn添加一行,如下所示,并保存更改:

<microsoft.identityServer.web>    ... <useRelayStateForIdpInitiatedSignOn enabled="true" />    ...</microsoft.identityServer.web>
  • 对于 ADFS 2.0,运行 IISReset 以重新启动 IIS。
  • 对于这两个平台,重新启动 Active Directory 联合服务 (adfssrv) 服务。

如果您使用的是 ADFS 3.0,您只需在您的 ADFS 3.0 服务器上执行上述操作,而不是 WAP 服务器。

确保<useRelayStateForIdpInitiatedSignOn enabled="true" />已在 处添加microsoft.identityServer.web,然后从中继状态和实体 ID 生成 URL 编码字符串,如下所示。

  • 生成 RelayState URL 需要两条信息。第一个是依赖方的标识符,可以在 AD FS 管理控制台中找到。查看依赖方属性页面上的标识符选项卡。
  • 第二部分是您需要发送给依赖方的实际 RelayState 值。下面的示例使用 的依赖方标识符https://identity-example.getpostman.com和 的中继状态35ef7ab89gh99hh00

起始值:

  • 射频识别https://identity-example.getpostman.com
  • 继电器状态35ef7ab89gh99hh00

建议您使用受信任的 URL 编码器来生成编码值。

URL 编码每个值。

  • 射频识别https%3A%2F%2Fidentity-example.getpostman.com
  • 继电器状态35ef7ab89gh99hh00

将 URL 编码值与下面的字符串合并,并对整个字符串进行 URL 编码。

  • 字符串RPID=<URL encoded RPID>&RelayState=<URL encoded RelayState>
  • 带值的字符串RPID=https%3A%2F%2Fidentity-example.getpostman.com&RelayState=35ef7ab89gh99hh00
  • URL 编码字符串RPID%3Dhttps%253A%252F%252Fidentity-example.getpostman.com%26RelayState%3D+35ef7ab89gh99hh00

获取最后一个字符串并将其附加到 IDP 启动的登录 URL。

  • IDP 发起的登录 URL 示例将具有以下结构:https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx
  • 最终网址https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252Fidentity-example.getpostman.com%26RelayState%3D+35ef7ab89gh99hh00

首次从 Azure AD 登录时导航到浏览器中的最终 URL,这将启用设置中继状态并允许将来无缝 SSO 登录。