建立 PingFederate 連線
請在 PingFederate 中建立用戶端端點,讓 SSO 解決方案中的應用程式在取得或核對存取權杖或驗證使用者時可連線至這些端點。建議針對應用程式將在 SSO 解決方案裡執行的每個角色各別建立一個用戶端。這麼做讓您可針對該角色微調用戶端裡的設定。
至於 ThingWorx SSO,則必須在 PingFederate 中建立下列用戶端:
用於 ThingWorx 作為服務提供者的 SP 連線
用於 ThingWorx 作為服務提供者的 OAuth 用戶端
如需有關建立和配置 PingFederate 連線的深入資訊,請參閱 PingFederate 文件集或連絡 PingIdentity 客戶支援。下列程序包含 ThingWorx SSO 所需的設定,但貴企業的 SSO 解決方案可能還需要其他設定。
用於 ThingWorx 作為服務提供者的 SP 連線
此連線用於 SAML 驗證。ThingWorx 會將使用者登入請求導向至 PingFederate。
1. IDP Configuration 頁上選取 SP Connections,然後按一下 Create New
2. Connection Type 部份,選取 Browser SSO Profiles 來指定 SAML 2.0 通訊協定。
3. Connection Options 部份,選取 Browser SSO
4. General Info 部份,執行下列步驟:
a. Partner’s Entity ID (Connection ID) 設定為具唯一性的值。請記下此 ID,因為您將在配置 sso-settings.json 檔案時用到它。
b. 針對 Connection Name 欄位提供具描述性的名稱。這是會顯示在 SP 連線清單中的名稱。
c. Base URL 設定為主控您 Web 應用程式 (ThingWorx) 服務提供者的 URL。
5. Protocol Settings 部份,將 Assertion Consumer Service URL Endpoint 設定為 URL:/Thingworx/saml/SSO
6. Credentials 部份裡,將 Digital Signature Settings 設定為 Selected Certificate
7. Signature Verification 部份裡,針對下列項目新增憑證:
Signature Verification Certificate: Selected Certificate
Signature Verification Certificate: Selected Encryption Certificate
Select XML Encryption Certificate: Selected Encryption Certificate
8. 請確認新服務提供者處於使用中狀態。請檢視 SP 連線。位於 Activation & Summary 頁頂部的單選按鈕指標應設定為 Active
9. 按一下「儲存」
PingFederate 會使用一項名為原則契約的機制,在服務提供者與 PingFederate 依賴的識別提供者之間橋接連線。您將必須為此 SP 連線建立原則契約。當您這麼做時,請列出應於 SAML 宣告中交換的任何屬性。
如需詳細資訊,請參閱 PTC 單一登入架構與組態概觀指南的〈使用協力廠商識別提供者〉一節。
用於 ThingWorx 作為服務提供者的 OAuth 用戶端
OAuth 用戶端是 PingFederate 向 ThingWorx 提供存取權杖時所用的連線點。ThingWorx 會使用這些存取權杖來從資源提供者請求受 OAuth 保護的資源。
1. OAuth Settings 頁上選取 Clients,然後按一下 Create New
2. Client ID 欄位中,輸入一個值。它會在配置 sso-settings.json 檔案時,作為 AuthorizationServersSettings.<AuthServerId>.clientId 參數的值使用。
3. 選取 Client Secret,然後輸入用戶端密碼值。請記下此值,因為它會在配置 sso-settings.json 檔案時,作為 AuthorizationServersSettings.<AuthServerId>.clientSecret 參數的值使用。
4. Name 欄位中,輸入一個值。它會顯示在 PingFederate 用戶端清單中。
5. Description 欄位中,輸入描述。
6. Redirect URIS 部份,輸入您的 ThingWorx 伺服器重新導向 URI。例如:http://<我的伺服器>:<我的連接埠>/Thingworx/oauth2_authorization_code_redirect,其中 <我的伺服器> 是您的 ThingWorx 伺服器。
* 
如果您已在您要針對 SSO 配置的 ThingWorx Core 實例上安裝 ,請將此值指定為 https://<ThingWorx Flow Nginx host-name>:<ThingWorx Flow Nginx port-number>/Thingworx/oauth2_authorization_code_redirect
7. Allow Grant Types 部份裡,選取 Refresh TokenAuthorization Code
8. Persistent Grants Expiration 部份裡,選取 Grants Do Not Expire
9. Refresh Token Rolling Policy 部份,選取 Roll