|
如果您已在您要針對 SSO 配置的 ThingWorx Core 實例上安裝 ,您必須先停止包括 RabbitMQ 與 Nginx 在內的所有 ThingWorx Core 與 服務,然後再配置 sso-settings.json 檔案。配置完此檔案之後,您必須先重新啟動 RabbitMQ,然後再重新啟動所有 ThingWorx Core 與 服務,包括 Nginx。
|
|
請確定有依照需求來編輯每個參數的值。您的實行可能會有所不同且它取決於若干因素,比如 ThingWorx 的主控位置、貴組織的安全性原則,以及用於聯合的 CAS。使用下列表格中的資訊作為指引,設定不同參數的值。
|
參數
|
描述
|
值
|
||
---|---|---|---|---|
clientBaseUrl
|
指定 ThingWorx 伺服器實例的 URL。
將此參數設定為 ThingWorx 伺服器完全合格的網域名稱。
如果您已安裝 ,請指定 Nginx URL。
|
http://<主機名稱>:<port-number>/Thingworx
或者
https://<ThingWorx Flow Nginx host-name>:<ThingWorx Flow Nginx port-number>/Thingworx
|
||
idpMetadataFilePath
|
指定 IdP 中繼資料檔案的絕對檔案路徑位置。
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||
metadataEntityId
|
指定服務提供者連線的實體 ID。
這是您在 PingFederate 中配置服務提供者連線時所選擇的唯一 ID。
|
—
|
||
metadataEntityBaseUrl
|
指定 ThingWorx 伺服器完全合格的網域名稱。此值與 ThingWorx 瀏覽器 URL 相同。
如果您已安裝 ,請指定 Nginx URL。
|
http://<主機名稱>:<port-number>/Thingworx
或者
https://<ThingWorx Flow Nginx host-name>:<ThingWorx Flow Nginx port-number>/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 使用者名稱的使用者名稱值一致。
|
uid
|
||
samlAssertionMaxAuthenticationAge
|
指定 SAML 2.0 宣告在到期前的最長存留期 (以秒計)。這也會指定驗證宣告的最長工作階段時間。
請將值設定為符合在識別提供者中指定的工作階段逾時值。
|
7200 seconds
|
||
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> 在這些情況下,您應該定義此內容。
|
true
|
|
如果您想在啟用 SSO 時啟用應用程式金鑰驗證器,必須將下列 ApplicationKeySettings 組態部份新增至 BasicSettings 下的 sso-settings.json 設定。只有在您要使用
應用程式金鑰來透過 REST API 請求進行驗證時,才需要執行此操作。無論是啟用還是禁用此設定,都仍然可以透過 WebSocket,從 Edge 裝置使用「應用程式金鑰」。
{
"BasicSettings": { ... }, "ApplicationKeySettings": { "enabled": true }, ... } |
參數
|
描述
|
值
|
||
---|---|---|---|---|
dbType
|
指定已配置且用於 ThingWorx 安裝的資料庫類型。
• 欲使用與在 platform-settings.json 檔案中所設定相同的資料庫,請指定與在 platform-settings.json 中所設定相同的資料庫類型與認證。
• 欲針對授權權杖使用專用資料庫,請指定 "default" 值。配置為 "default" 之後,會建立一個新的專用 H2 資料庫。
|
default
|
||
H2
|
||||
postgres
|
||||
mssql
|
||||
hana
|
||||
driverClassName
|
指定您在 platform-settings.json 檔案中使用的驅動程式類別名稱。
|
針對設定為 default 的 dbType,請設定為 org.h2.Driver。
|
||
針對設定為 h2 的 dbType,請設定為 org.h2.Driver。
|
||||
針對設定為 postgres 的 dbType,請設定為 org.postgresql.Driver。
|
||||
針對設定為 mssql 的 dbType,請設定為 com.microsoft.sqlserver.jdbc.SQLServerDriver。
|
||||
針對設定為 hana 的 dbType,請設定為 com.sap.db.jdbc.Driver
|
||||
url
|
指定用於 ThingWorx 安裝的資料庫位置 URL。
|
針對設定為 default 的 dbType,請設定為 jdbc:h2:\\<磁碟機>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-oauth2-client-db。
|
||
針對設定為 h2 的 dbType,不需要此參數。
|
||||
針對設定為 postgres 的 dbType,請設定為 jdbc:postgresql://<主機名稱>:<連接埠>/thingworx。
|
||||
針對設定為 mssql 的 dbType,請設定為 jdbc:sqlserver://<主機名稱>:<連接埠>;databaseName=thingworx;applicationName=Thingworx。
|
||||
針對設定為 hana 的 dbType,請設定為 jdbc:sap://<IP 位址>:39041/?databaseName=thingworx¤tschema=TWADMIN。
|
||||
username
|
指定您系統用來儲存存取權杖之資料庫的使用者名稱。此名稱應符合您在 platform-settings.json 檔案中指定的使用者名稱。
|
—
|
||
password
|
指定您系統用來儲存存取權杖之資料庫的密碼。此密碼應符合您在 platform-settings.json 檔案中指定的密碼。
|
—
|
||
encryptTokenInDatabase
|
設定為 true 可在將存取權杖保留在資料庫中之前對其進行加密。
|
true
|
||
keyczarKeyFolderPath
|
如果將 encryptTokenInDatabase 參數的值設定為 true,則此路徑必須指向有效的 keyCzarKey 位置。修改路徑來使用您的 ThingworxPlatform\ssoSecurityConfig\symmetric 資料夾所在的目錄。
|
針對 Windows:<磁碟機>:\\ThingworxPlatform\\ssoSecurityConfig\\symmetric
其中,<磁碟機> 指定您安裝 ThingWorx 的磁碟機。
針對 Linux:\\ThingworxPlatform\\ssoSecurityConfig\\symmetric
|
dbType
|
資料庫中用來儲存授與核准的位置
|
---|---|
「預設」
|
會根據 url 參數路徑的指定,建立子集 H2 資料庫。依預設,會將資料庫置於相對於 Tomcat 目錄的目錄中。
如果您將 dbType 設定為 default,建議指定 JDBC URL 的完全合格路徑,而不是僅指定相對路徑。
例如:jdbc:h2:./ThingworxPlatform/ssoSecurityConfig/sso-oauth2-client-db
|
H2
|
ThingworxStorage/database H2 資料庫檔案中的 H2 ThingWorx war 檔案。
|
postgres
|
在 ThingWorx PostgreSQL 資料庫的 oauth_client_token 表中。
|
mssql
|
在 ThingWorx MS SQL 資料庫的 oauth_client_token 表中。
|
hana
|
在 ThingWorx SAP HANA 資料庫的 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。
|
https://<PingFederate 主機名稱>:<PingFederate 埠號>/as/authorization.oauth2
|
||
<AuthorizationServerId1>.tokenUri
|
指定用來取得 OAuth2 存取權杖的 URI。
設定為網路上完全合格的網域名稱伺服器 URL。
|
https://<PingFederate 主機名稱>:<PingFederate 埠號>/as/token.oauth2
|
||
<AuthorizationServerId1>.clientAuthScheme
|
指定用來驗證用戶端的配置。允許的值包括:
• form
• header
• query
• none
|
form
|