先决条件
在将 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。
创建方案后,在“团队”页面中收集这些字段的值。
第 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 登录。
|