![]() |
請確定有依照需求來編輯每個參數的值。您的實行可能會有所不同且它取決於若干因素,比如 ThingWorx 的主控位置、貴組織的安全性原則,以及用於聯合的 CAS。使用下列表格中的資訊作為指引,設定不同參數的值。
|
參數
|
描述
|
值
|
||
---|---|---|---|---|
clientBaseUrl
|
指定 ThingWorx 伺服器實例的 URL。
將此參數設定為 ThingWorx 伺服器的完整網域名稱 (FQDN)。
如果您已將 ThingWorx 配置為在「高可用性」(HA) 環境中運作,則請指定負載平衡器的主機與埠。
|
http://<ThingWorx-FQDN>:<port-number>/Thingworx
或者
針對 ThingWorx Flow,為 https://<ThingWorx Flow Nginx 主機名稱>:<ThingWorx Flow Nginx 埠號>/Thingworx
或者
在高可用性環境中,為 https://<負載平衡器主機名稱>:<負載平衡器埠號>/Thingworx
|
||
idpMetadataFilePath
|
指定 IdP 中繼資料檔案的絕對檔案路徑位置。
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||
metadataEntityId
|
指定服務提供者連線的實體 ID。
• 將 PingFederate 作為 CAS:使用您在配置服務提供者連線時選擇的具唯一性 ID。
|
—
|
||
metadataEntityBaseUrl
|
指定 ThingWorx 伺服器完全合格的網域名稱。
如果您已將 ThingWorx 配置為在「高可用性」(HA) 環境中運作,則請指定負載平衡器的主機與埠。
|
http://<ThingWorx-FQDN>:<port-number>/Thingworx
或者
針對 ThingWorx Flow,為 https://<ThingWorx Flow Nginx 主機名稱>:<ThingWorx Flow Nginx 埠號>/Thingworx
或者
在高可用性環境中,為 https://<負載平衡器主機名稱>:<負載平衡器埠號>/Thingworx
|
||
webSSOProfileConsumerResponseSkew
|
指定 SAML 2.0 WebSSO Assertion Consumer 回應偏斜公差。
設定此值時,請考量您本身的安全性需求,以及您企業網路中的延遲情況。
使用此設定來建立允許讓登入請求回應從 CAS 傳回至 ThingWorx 的時間量 (以秒計)。如果登入請求回應所花的時間長於此值,則登入嘗試失敗。
偏斜公差是接收者因假設系統時鐘之間存在差異而允許回應有效性具有的偏差。最佳作法是經由確定涉及的每個系統時鐘均已適當同步處理來盡量減少偏斜效應。
|
300
|
||
webSSOProfileConsumerReleaseDOM
|
決定安全性架構在驗證完成後是否繼續保留 SAML 宣告。
如果設定為 false,會在驗證完成後保留 SAML 宣告。
|
true
|
||
webSSOProfileResponseSkew
|
指定 SAML 2.0 Web SSO 設定檔回應偏斜公差。
設定此值時,請考量您本身的安全性需求,以及您企業網路中的延遲情況。
偏斜公差是接收者因假設系統時鐘之間存在差異而允許回應有效性具有的偏差。最佳作法是經由確定涉及的每個系統時鐘均已適當同步處理來盡量減少偏斜效應。
|
300
|
||
retriggerOnScopesRemoval
|
指定必要範圍清單是否已變更且必須重新整理。
如果將值設定為 true,表示已從必要範圍清單新增或移除範圍。
如果將值設定為 false,則表示已將範圍新增至必要範圍清單。
|
true
|
||
samlAssertionUserNameAttributeName
|
指定哪個 SAML 屬性擁有會在 ThingWorx 使用者登入時儲存其使用者名稱的值。請確保識別提供者中此屬性的值與您將用於 ThingWorx 使用者名稱的使用者名稱值一致。
|
• 將 PingFederate 或 Azure AD 作為 CAS:
uid
• 將 AD FS 作為 CAS:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
|
||
samlAssertionMaxAuthenticationAge
|
指定 SAML 2.0 宣告在到期前的最長存留期 (以秒計)。這也會指定驗證宣告的最長工作階段時間。
請將值設定為符合在識別提供者中指定的工作階段逾時值。根據使用中的 IdP 而定,此值將會有所不同。
|
• 將 PingFederate 作為具有 LDAP IdP 的 CAS (Windchill):7200 (這是預設)
• 將 AD FS 作為 IdP (且將 AD FS 或 PingFederate 作為 CAS):28800
• 將 Azure AD 作為 IdP (且將 Azure AD 或 PingFederate 作為 CAS):86400
|
||
ptcOperatorsGroupName
|
選用。
設定此參數以將群組 (如 IDP 中所定義) 自動配置為 ThingWorx 管理員群組的一部份
|
|||
administratorAlias
|
選用。
在 CAS[IDP] 中配置的管理員使用者名稱。
|
|||
administratorInternalName
|
若已定義 administratorAlias,則為必填。
在 ThingWorx 中配置的管理員使用者名稱。
|
例如,Administrator。
|
||
samlGroupClaimName
|
選用。
此參數僅在定義 ptcOperatorsGroupName 時相關。
輸入在 CAS 中配置的 IDP SAML Group Claim Name 以完成 ThingWorx SSO 驗證器中該群組的自動化。如需詳細資訊,請造訪 ThingworxSSOAuthenticator。
|
範例:
針對 PingFederate CAS:group
針對 ADFS CAS:http://schemas.xmlsoap.org/claims/Group
|
||
authnContextAsPassword
|
選用。在某些少數情況下,IdP 需要您將下一個宣告置於 SAML 請求中。
<saml2p:RequestedAuthnContext Comparison="exact">
<saml2:AuthnContextClassRef xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"> urn:oasis:names:tc:SAML:2.0:ac:classes:Password </saml2:AuthnContextClassRef> </saml2p:RequestedAuthnContext> 在這些情況下,您應該定義此內容。
|
false
|
![]() |
如果您想在啟用 SSO 時啟用應用程式金鑰驗證器,必須將下列 ApplicationKeySettings 組態部份新增至 BasicSettings 下的 sso-settings.json 設定。只有在您要使用應用程式金鑰來透過 REST API 請求進行驗證時,才需要執行此操作。無論是啟用還是禁用此設定,都仍然可以透過 WebSocket,從邊裝置使用「應用程式金鑰」。
{
"BasicSettings": { ... }, "ApplicationKeySettings": { "enabled": true }, ... } |
參數
|
描述
|
值
|
---|---|---|
dbType
|
指定已配置且用於 ThingWorx 安裝的資料庫類型。
• 欲使用與在 platform-settings.json 檔案中所設定相同的資料庫,請指定與在 platform-settings.json 中所設定相同的資料庫類型與認證。
|
postgres
|
mssql
|
||
driverClassName
|
指定您在 platform-settings.json 檔案中使用的驅動程式類別名稱。
|
針對設定為 postgres 的 dbType,請設定為 org.postgresql.Driver。
|
針對設定為 mssql 的 dbType,請設定為 com.microsoft.sqlserver.jdbc.SQLServerDriver。
|
||
url
|
指定用於 ThingWorx 安裝的資料庫位置 URL。
|
針對設定為 postgres 的 dbType,請設定為 jdbc:postgresql://<主機名稱>:<連接埠>/thingworx。
|
針對設定為 mssql 的 dbType,請設定為 jdbc:sqlserver://<主機名稱>:<連接埠>;databaseName=thingworx;applicationName=Thingworx。
|
||
username
|
指定您系統用來儲存存取權杖之資料庫的使用者名稱。此名稱應符合您在 platform-settings.json 檔案中指定的使用者名稱。
|
—
|
password
|
指定您系統用來儲存存取權杖之資料庫的密碼。此密碼應符合您在 platform-settings.json 檔案中指定的密碼。
|
—
|
encryptTokenInDatabase
|
設定為 true 可在將存取權杖保留在資料庫中之前對其進行加密。
若將此值設定為 true,系統將在 ThingWorx 啟動時自動建立 private-keyset.cfg 檔案並將其儲存在 ssoSecurityConfig 資料夾中。此金鑰集檔案僅建立一次。
|
true
|
dbType
|
資料庫中用來儲存授與核准的位置
|
---|---|
postgres
|
在 ThingWorx PostgreSQL 資料庫的 oauth_client_token 表中。
|
mssql
|
在 ThingWorx MS SQL 資料庫的 oauth_client_token 表中。
|
參數
|
描述
|
值
|
||
---|---|---|---|---|
keyStoreFilePath
|
指定金鑰庫的絕對檔案路徑位置。可根據您的環境,路徑改為使用儲存您的金鑰庫檔案的目錄。
|
針對 Windows:<磁碟機>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-keystore.jks
其中,<磁碟機> 指定您安裝 ThingWorx 的磁碟機。
針對 Linux:<完整路徑>/ThingworxPlatform/ssoSecurityConfig/sso-keystore.jks
|
||
keyStoreStorePass
|
指定金鑰庫密碼。
|
—
|
||
keyStoreKey
|
指定預設金鑰。
|
—
|
||
keyStoreKeyPass
|
指定用來存取私密金鑰的密碼。
|
—
|
![]() |
AuthorizationServersSettings 設定可能包含用於多部授權伺服器的資訊。每部伺服器均依 sso-settings.json 檔案中的唯一識別元加以識別。
|
參數
|
描述
|
值
|
||
---|---|---|---|---|
<AuthorizationServerId1>.clientId
|
指定從授權伺服器取得存取權杖時所要使用的用戶端識別元。
|
—
|
||
<AuthorizationServerId1>.clientSecret
|
指定用來透過授權伺服器執行驗證的用戶端認證。
設定為網路上完全合格的網域名稱伺服器 URL。
|
—
|
||
<AuthorizationServerId1>.authorizeUri
|
指定將使用者重新導向以便授權存取權杖的 URI。
|
• 將 PingFederate 作為 CAS:
https://<PingFederate 主機名稱>:<PingFederate 埠號>/as/authorization.oauth2
• 將 Azure AD 作為 CAS:請參閱「Azure AD 授權」文件集中的更新 ThingWorx 組態檔案。
• 將 FS 作為 CAS:請參閱「AD FS 授權」文件集中的更新 ThingWorx 組態檔案。
|
||
<AuthorizationServerId1>.tokenUri
|
指定用來取得 OAuth2 存取權杖的 URI。
設定為網路上完全合格的網域名稱伺服器 URL。
|
https://<PingFederate 主機名稱>:<PingFederate 埠號>/as/token.oauth2
|
||
<AuthorizationServerId1>.clientAuthScheme
|
指定用來驗證用戶端的配置。允許的值包括:
• form
• header
• query
• none
|
form
|
||
<AuthorizationServerId1>.mandatoryScopes
|
對除了 AzureAD 與 ADFS 以外的 CAS 而言為選用。當定義此參數時,會將此範圍自動新增至任何請求的 accessToken。
|
若將 AzureAD 作為 CAS,則為必填。所需值為 "offline_access"。
對 ADFS 而言為必填:這可以是未在 ADFS 伺服器上範圍清單中定義的任何值。
|