设置电子签名的重新身份验证
对电子签名功能进行重新验证的目的是提供一种从 Windchill 外部执行电子签名批准的机制。在批准电子签名活动之前,您需要在 Windchill 端对您自己的身份重新进行验证。
请按以下说明设置身份验证所需的配置:
1. 要配置 SSO,请执行以下操作:
|
除了对 Windchill 启用 SSO 的配置外,还需要以下配置。PTC 建议对在此配置中修改的每个文件进行备份。
|
如需了解用于启用 SSO 的配置,请参阅 《Windchill 安装和配置指南 - 更新现有安装》中的“单一登录身份验证”一节。
a. 通过在指定的 *.conf 文件中添加以下条目来配置 apache:
a. 在 {WT_HOME}/HTTPServer/conf/conf.d/00-1mod_shib.conf 中,在 <Location/reauthsecure> section: 之后:
Alias /Windchill/TokenGenerator/ "/TokenGenerator/Shibboleth.sso/Login"
<Location /TokenGenerator>
AuthType shibboleth
ShibRequestSetting applicationId jwt
require shib-session
</Location>
b. 在 {WT_HOME}/HTTPServer/conf/conf.d/30-app-Windchill-1Auth.conf 中,在 <LocationMatch ^/+Windchill/reauthsecure?> 部分之后:
<LocationMatch ^/+Windchill/TokenGenerator?>
AuthType shibboleth
ShibRequestSetting applicationId jwt
ShibUseHeaders on # mod_jk doesn't pass environment, so useHeaders is required
require shib-session
</LocationMatch>
b. 按如下所述配置 Shibboleth SP:
a. 浏览至 <SHIBBOLETH_INSTALL_DIRECTORY>/etc/shibboleth/shibboleth2.xml。 在下面的配置中,提供在 PingFederate 站点上创建的 SP 连接名称作为 entityID。在 <ApplicationDefaults> 部分内添加以下部分:
<ApplicationOverride id="jwt" entityID="SP CONNECTION NAME"
REMOTE_USER="uid eppn persistent-id targeted-id"
cipherSuites="ECDHE+AESGCM:ECDHE:!aNULL:!eNULL:!LOW:!EXPORT:!RC4:!SHA:!SSLv2">
<Sessions lifetime="5" timeout="5" checkAddress="false"
relayState="ss:mem" handlerURL="/TokenGenerator/Shibboleth.sso"
maxTimeSinceAuthn="2" handlerSSL="false" cookieProps="https"
redirectLimit="exact" postData="ss:mem"
postExpire="true" postLimit="512000" postTemplate="postTemplate.html">
<SSO entityID="IDP CONNECTION NAME" discoveryProtocol="SAMLDS"
discoveryURL="https://ds.example.org/DS/WAYF" forceAuthn="true"
postArtifact="true" template="bindingTemplate.html"
outgoingBindings="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST">
SAML2 SAML1
</SSO>
<!-- SAML and local-only logout. -->
<Logout>SAML2 Local</Logout>
<!-- Extension service that generates "approximate" metadata
based on SP configuration. -->
<Handler type="MetadataGenerator" Location="/Metadata"
signing="false"/>
<!-- Status reporting service. -->
<Handler type="Status" Location="/Status" acl="127.0.0.1 ::1"/>
<!-- Session diagnostic service. -->
<Handler type="Session" Location="/Session"
showAttributeValues="true"/>
<!-- JSON feed of discovery information. -->
<Handler type="DiscoveryFeed" Location="/DiscoFeed"/>
</Sessions>
</ApplicationOverride>
b. 在 <Sessions> 部分中添加以下属性:
postData="ss:mem" postExpire="true" postLimit="512000" postTemplate="postTemplate.html"
例如:
<Sessions lifetime="28800" timeout="3600" relayState="ss:mem"
checkAddress="false" handlerSSL="false"
cookieProps="https" redirectLimit="exact" postData="ss:mem"
postExpire="true" postLimit="512000"
postTemplate="postTemplate.html">
c. 在 <HOST> 部分中添加以下条目:
<Path name="TokenGenerator" authType="Shibboleth" requireSession="true" forceAuthn="true" applicationId="jwt" />
例如:
<Host name="sp.example.org">
<Path name="secure" authType="shibboleth"
requireSession="true"/>
<Path name="reauthsecure" authType="shibboleth"
requireSession="true" forceAuthn="true"
applicationId="reauthsecure" />
<Path name="TokenGenerator" authType="Shibboleth"
requireSession="true" forceAuthn="true" applicationId="jwt" />
</Host>
d. 使用 <SHIBBOLETH_INSTALL_DIRECTORY>/shibboleth-sp/etc/shibboleth/postTemplate.html 位置的以下代码更新现有 postTemplate.html:
<html>
<head>
</head>
<body onload="submit();">
<script language="Javascript">
function submit() {
document.forms[0].submit();
}
</script>
<noscript>
<p>A form submission to this site was interrupted by the login
process.
If you would like to complete it now, submit this form.</p>
</noscript>
<form method="POST" action="<shibmlp action/>">
<shibmlpfor PostedData>
<input type="hidden" name="<shibmlp $name/>" value="<shibmlp
$value/>"/>
</shibmlpfor>
</form>
</body>
</html>
c. 配置 PingFederate 以生成 JWT 令牌:
a. 登录 PingFederate。
b. 单击 > > > > 。
c. 单击 Assertion consumer Service URL。
d. 选择 Binding 作为 POST,EndPoint URL 作为 "/TokenGenerator/Shibboleth.sso/SAML2/POST。
e. 单击 Add、Save 和 Done。
d. 配置 Azure Active Directory 以生成 JWT 令牌:
a. 在 Microsoft Azure 门户中创建新的企业应用程序。
b. 浏览到 > > 。
c. 单击 Basic SAML Configuration 部分下的 Edit。
d. 在 Reply URL 中添加以下链接:
https://<hostname:port>/TokenGenerator/Shibboleth.sso/SAML2/POST
e. 单击 Ok。
2. 通过在 wt.idp.allowlisturls property 中指定外部应用程序 (如 ThingWorx 或 ThingWorx Navigate) 来配置 site.xconf 文件。
3. 重新启动 Shibboleth Daemon、Apache 和 Windchill 服务器,以使配置生效。