CAS 配置示例 > PingFederate 作为中央身份验证服务器 > SSO 配置示例 > 示例:以 PingFederate 为代理的 Windchill SSO 实施
示例:以 PingFederate 为代理的 Windchill SSO 实施
本示例提供了有关如何配置环境的详细步骤,该环境已将 Windchill PDMLink 和 Shibboleth SP 配置为单点登录,其中 PingFederate 作为中央身份验证服务器 (CAS),Active Directory 联合身份验证服务 (AD FS) 作为标识提供者 (IdP)。
下表显示了该示例中配置的应用程序及其角色:
角色
应用程序
服务提供者
Windchill PDMLink + Shibboleth SP
中央身份验证服务器
PingFederate
标识提供者
AD FS
资源服务器
Windchill
下图显示了本示例中所讨论的配置。
第 1 部分:先决条件 
1. 确保已设置 Windchill。有关详细信息,请参阅相应的 Windchill 帮助中心
2. 设置和配置 AD FS,并确保已包括如下属性值和文件:
uid
email
group
元数据文件
第 2 部分:手动配置 AD FS 的身份验证 
步骤 1:创建 PingFederate 全局 SSL 证书
1. 以管理员身份登录 PingFederate。搜索 SSL Server Certificates 并打开搜索结果。
2. 单击 Create New 以创建全局 SSL 证书,然后执行以下操作:
1. Common Name 字段中,提供 PingFederate 计算机的 FQDN。
2. 在该页面上提供其他详细信息,然后单击 Next
3. 确保选中以下复选框,然后单击 Save
4. 单击 SSL Server Certificates
5. 对于所创建的 SSL 证书,请在 Select Action 列表中选择 Activate Default for Runtime Server,然后选择 Activate Default for Admin Console。单击 Save
此 SSL 证书将被标记为管理控制台和运行时服务器的 default
3. 对于 localhost 证书,请执行以下操作:
1. Select Action 列表中,相继选择 Deactivate for Runtime ServerDeactivate for Admin Console
2. 删除 localhost 证书,然后单击 Save
步骤 2:创建服务提供者合同
1. PingFederate 中,搜索 Policy Contract 并打开搜索结果。
2. 单击 Create New Contracts,然后执行以下操作:
1. Contract Info 字段中,输入合同名称,例如 SPContract,然后单击 Next
2. Contract Attributes 下,若要延长以下属性的合同期限,请针对每个属性单击 Add
uid
email
group
默认情况下会提供 subject 属性。
3. 单击 Next,然后在 Summary 页面上,单击 Save
4. Authentication Policy Contracts 页面上,单击 Save
步骤 3:下载 AD FS FederationMetadata.xml 文件
1. 在 AD FS 计算机的浏览器中,输入以下 URL 以下载联合元数据文件:
https://ADSF_Host.ADFS_Domain/FederationMetadata/2007-06/FederationMetadata.xml
2. 将所下载文件复制到 PingFederate 计算机。
步骤 4:创建 PingFederate IdP 连接
A) 指定用于创建 IdP 连接的常规信息
1. PingFederate 中,搜索 IdP Connections 并打开搜索结果。单击 Create Connection
2. Connection Type 选项卡上,选中 BROWSER SSO Profiles 复选框,然后单击 Next
3. Connection Options 选项卡上,选中 BROWSER SSOOAUTH ATTRIBUTE MAPPING 复选框,然后单击 Next
4. Import Metadata 选项卡上,选择 File,然后单击 Choose File 并浏览至 FederationMetadata.xml 文件,然后单击 Next
5. Metadata Summary 选项卡上,单击 Next
6. General Info 选项卡预填充有数据。您可根据需要更改 CONNECTION NAME。验证其余信息,然后单击 Next
7. Browser SSO 选项卡上,单击 Configure Browser SSOBrowser SSO 页面随即打开,在此页面中您需要为您的浏览器指定单一登录设置。
B) 配置浏览器 SSO 设置
1. Browser SSO 页面的 SAML Profiles 选项卡上,选择以下选项,然后单击 Next
IDP-INITIATED SSO
SP-INITIATED SSO
2. User-Session Creation 选项卡上,单击 Configure User-Session CreationUser-Session Creation 页面随即打开,在此页面中您需要指定设置以配置用户创建。
C) 配置用户会话创建设置
1. Identity Mapping 选项卡上,接受默认设置,然后单击 Next
2. Attribute Contract 选项卡上,验证自动填充的属性,然后单击 Next
3. Target Session Mapping 选项卡上,单击 Map New Authentication PolicyAuthentication Policy Mapping 页面随即打开,在此页面中您需要为身份验证策略映射指定设置。
D) 配置身份验证策略映射设置
1. Authentication Policy Contract 列表中,选择您在第 2 部分 - 步骤 2 中创建的合同,即 SPContract。验证是否显示了所有属性,然后单击 Next
2. Attribute Retrieval 选项卡上,接受默认设置,然后单击 Next
3. Contract Fulfillment 选项卡上,为 emailgroupsubjectuid 身份验证策略合同选择以下值:
Source 列表中,选择 Assertion
Value 列表中,从列表内选择相应条目。
单击 Next
4. Issuance Criteria 选项卡上,单击 Next
5. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 DoneUser-Session Creation 页面随即打开,在此页面中您需要查看用户会话创建的配置设置。
E) 查看用户会话创建配置设置
1. User-Session Creation 页面上的 Target Session Mapping 选项卡显示了映射新身份验证策略期间所选择的信息。单击 Next
2. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 DoneBrowser SSO 页面随即打开。
3. Browser SSO 页面上的 User-Session Creation 选项卡显示了配置用户会话创建期间所输入的信息。单击 Next
4. OAuth Attribute Mapping 选项卡上,相继选择 Map Directly Into Persistent GrantConfigure OAuth Attribute Mapping,然后执行以下操作:
1. Data Store 选项卡上,单击 Next
2. Contract Fulfilment 选项卡中,将 USER_KEYUSER_NAMESource 选为 AssertionValue 选为 name attribute from ADFS,然后单击 Next
3. Issuance Criteria 选项卡上,单击 Next
5. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 Done。在 OAuth Attribute Mapping Configuration 页面上,单击 Next
6. Protocol Settings 选项卡上,单击 Configure Protocol SettingsProtocol Settings 页面随即打开,在此页面中您需要指定协议设置。
F) 配置和查看协议设置
1. SSO Service URLs 选项卡上,单击 Next
2. Allowable SAML Bindings 选项卡上,执行以下操作,然后单击 Next
1. 选中以下复选框:
POST
REDIRECT
2. 清除以下复选框:
ARTIFACT
POST
3. 跳过 Overrides 选项卡上的设置,然后单击 Next
4. Signature Policy 选项卡上,单击 SPECIFY ADDITIONAL SIGNATURE REQUIREMENTS 并选中其下的两个复选框,然后单击 Next
5. Encryption Policy 选项卡上,单击 ALLOW ENCRYPTED SAML ASSERTIONS AND SLO MESSAGES 并选中 THE ENTIRE ASSERTION 复选框,然后单击 Next
6. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 DoneBrowser SSO 页面随即打开。
7. Browser SSO 页面上的 Protocol Settings 选项卡显示了配置协议设置时所选择的信息。单击 Next
8. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 DoneIdP Connection 页面随即打开。
9. IdP Connection 页面的 Browser SSO 选项卡上,单击 Next
10. Credentials 选项卡上,单击 Configure CredentialsCredentials 页面随即打开,在此页面中您需要指定设置以配置凭据。
G) 配置凭据
1. Digital Signature Settings 选项卡上,单击 Manage Certificates
2. 要创建签名证书,请单击 Create New 并提供以下值,然后单击 Next
COMMON NAME
ORGANIZATION
COUNTRY
VALIDITY (DAYS)365
KEY ALGORITHMRSA
KEY SIZE (BITS)2048
SIGNATURE ALGORITHMRSA SHA256
3. 查看 Summary 选项卡中的信息。如果信息正确无误,请相继单击 SaveDone
4. Digital Signature Settings 选项卡上,针对所创建的 SIGNING CERTIFICATE,选中 INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT 复选框,然后单击 Next
此应用程序层证书可用于以数字方式签署从 PingFederate 到 IdP 的请求。
5. Signature Verification Settings 选项卡上,单击 Manage Signature Verification Settings
a. Trust Model 选项卡上,选择 UNANCHORED,然后单击 Next
b. Signature Verification Certificate 上,验证 IdP 签名证书是否已显示,然后单击 Next
此应用程序层证书可用于从 IdP 到 PingFederate 请求的签名验证。当从 IdP 导入 metadata.xml 文件时,此证书会被自动导入 PingFederate
c. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 Done
d. Signature Verification Settings 选项卡上,单击 Next
e. Select Decryption Keys 中,选择 PingFederate 证书,然后单击 Next
f. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 Done
g. Credentials 页面上,单击 Next
H) 激活 IdP 连接
Activation & Summary 页面上,确保 SSO Application Endpoint 已激活,然后单击 Save
IdP 连接现已创建并激活。
I) 验证 IdP 连接
单击所创建的 IdP 连接、复制 SSO Application Endpoint URL、将其粘贴到浏览器中,然后验证其是否重定向至 IdP。这样一来,PingFederate 中的这一 URL 必将重定向至 AD FS。您将看到类似于下图的页面,其中包含了一条错误消息。
第 3 部分:配置 AD FS 信赖方 
步骤 1:从 PingFederate 导出元数据 XML 文件
1. PingFederate 中,转至 Service Provider,然后在 IDP Connections 下单击 Manage All
2. 对于 IdP 连接,请在 Select Action 列表中单击 Export Metadata
3. Metadata Signing 页面上,单击 Next
4. Export & Summary 页面上,单击 Export 以将元数据文件下载至计算机上的 Downloads 文件夹,然后单击 Done
5. 将元数据 XML 文件复制到 AD FS 计算机。
步骤 2:在 AD FS 中添加信赖方
1. 登录到 AD FS 服务器,然后打开 Server Manager
2. 转至 Tools > AD FS Management
3. AD FS 下,右键单击 Relying Party Trusts,然后选择 Add Relying Party Trust。这可确保 AD FS 信任相关连接来自于 PingFederate
4. Add Relying Party Trust Wizard 窗口中,执行以下操作:
1. 单击 Start
2. 在下一个屏幕上,单击 Import data about the relying party from a file
3. 单击 Browse,导航至从 PingFederate 复制的 Metadata.xml 文件所在位置,以在 AD FS 中创建信赖方,然后单击 Next
4. 提供一个 Display name,然后单击 Next
请记下此名称以便后续使用。
5. 在以下窗口中单击 Next,直至到达 Finish 屏幕。然后,单击 Close
当前条目随即将被添加至 Relying Part Trusts 列表。
您还应看到以下窗口 (它可能隐藏在当前窗口后面):
5. 要将 AD FS 属性映射至 Active Directory,请执行以下操作:
1. Edit Claim Issuance Policy for <Relying Part Trust Name> 窗口中,单击 Add Rule,然后单击 Next
2. 提供 Claim rule name,并将 Attribute store 设置为 Active Directory
3. Mapping of LDAP attributes to outgoing claim types 表中,从列表内选择值以将 AD FS 属性映射至 Active Directory 属性:
* 
如果未正确映射上述属性,则单一登录将无法使用。
显示-名称
名称
SAM-帐户-名称
名称 ID
电子邮件地址
电子邮件地址
为 DL 成员
4. 单击 Finish,然后单击 OK
步骤 3:设置 AD FS 以加密完整消息和断言
1. 在 AD FS 计算机上,以管理员身份打开 Windows PowerShell
2. 在 AD FS 计算机上运行以下命令以使通信正常工作:
Set-ADFSRelyingPartyTrust -TargetName <Relying Party Trust Name> -SamlResponseSignature "MessageAndAssertion"
其中,<Relying Party Trust Name> 为上述步骤 2 中创建并记下的信赖方信任名称。
此命令通过 Windows PowerShell 配置 SAML 响应签名。
第 4 部分:验证 IdP 连接终结点 URL 
1. PingFederate 中,复制 SSO Application Endpoint URL,然后将其粘贴到匿名窗口中。
2. 使用为 AD FS 创建的域名和管理员用户登录。
随即应收到以下消息:
第 5 部分:设置 Shibboleth SP 和 PingFederate 
要使用 Shibboleth Service Provider 2.6.0 为 Windchill 启用 SAML 功能,请完成 Windchill 帮助中心以下部分中的步骤:安全断言标记语言 (SAML) 身份验证。请按照上述 Windchill 帮助中心页面以下部分中的说明进行操作:
Shibboleth 服务提供者故障排除和调试
重新启动 Shibboleth 服务提供者和 PTC HTTP Server
第 6 部分:设置 JNDI LDAP 条目 
要配置 JNDI 适配器,请完成 Windchill 帮助中心以下部分中的步骤:JNDI 适配器配置条目
第 7 部分:其他配置 
如果 Windchill 工作流需要使用电子签名,则在部署 SSO 前还需进行一些额外配置。有关详细信息,请参阅 Windchill 帮助中心的以下部分:
有关其他注意事项,请参阅 Windchill 帮助中心安全断言标记语言 (SAML) 身份验证的“客户端兼容性”部分:
这对您有帮助吗?