管理整合
概觀與使用方法
PTC Admin Center 中的「整合」頁會向客戶管理員和操作員顯示用戶端組態資訊,管理員與操作員可以使用此資訊在其協力廠商應用程式與 PTC 產品 (如 Windchill+) 之間建立信任關係。
用戶端整合可用來提供使用者從一個系統到另一個系統的委派授權。這些整合可讓使用者在協力廠商應用程式 (如 web 應用程式或原生編碼應用程式) 中存取 PTC 系統。這些通常是可從 PTC 產品監視或耗用資料的 ERP 系統。
整合用戶端會註冊至 PTC 識別服務,以代表使用者擷取授權權杖。然後,協力廠商應用程式便可使用此權杖來請求協力廠商應用程式所需的 PTC 資源的存取權。
|
目前,欲檢視「整合」頁並使用此功能,您的組織必須擁有 Windchill+ 的存取權。作為 Windchill+ 授權的一部份,PTC 將為所有 Windchill+ 組織提供用戶端。
|
PTC 支援建立機密應用程式 (此應用程式能夠安全保留認證而不將其暴露給未經授權的一方),以提供與協力廠商系統的整合。
「整合」頁可讓組織管理員管理其組織的用戶端整合。從本頁中,您可以:
• 管理用戶端整合
• 存取所有必需的用戶端認證
• 透過提供用戶端認證來設定用戶端與外部協力廠商應用程式的整合
事前準備
• 您必須是組織中的管理員,才能檢視或管理用戶端整合。
用戶端整合內容
提供下列資訊以設定用戶端整合:
• 「用戶端 ID」- 用於配置 PTC 驗證的應用程式唯一識別元。您的應用程式會在請求 OAuth 2.0 存取權杖時使用它。
• 「密鑰」- 用於簽署及驗證 ID 權杖以供驗證以及為特定 PTC 端點提供存取權的字串。金鑰預設存在且需要輪替才能檢視。
• 「反呼叫 URL」- 用來對 PTC 產品進行使用者驗證的重新導向 URL。
• 「驗證 URL」- 用來授與用戶端應用程式存取其受保護資源之許可權的端點。將用戶端應用程式連線至 PTC 資源時需要此端點。
• 「存取權杖 URL」- 可讓用戶端交換存取權杖的授權碼,進而允許存取使用者的受保護資源的端點。
• Audience - 用來識別此存取權杖的目標群體 (資源 URI 或伺服器)。這是使用方驗證特定 JSON Web Token (JWT) 是否為其所指定的一種方法。
目前,接受的目標群體是 https://windchill-plus
• Scope - 用來授與此存取權杖之範圍的陣列。
目前允許的範圍是 WINDCHILL_READ.
管理用戶端整合
組織管理員可以建立多個外部整合,以使用這些外部整合配置協力廠商與 PTC 產品 (例如 Windchill+) 的整合。「整合」頁會顯示這些應用程式,且每個應用程式都有其自己的對應詳細資訊頁。
欲管理用戶端整合:
1. 在左側導覽窗格中,按一下「整合」。
2. 在「整合」頁上,按一下應用程式名稱或按一下「管理」。
|
會從建立 Auth0 應用程式時設定的值提取「名稱」的預設值。
|
所選應用程式的頁面會在相同瀏覽器標籤中開啟。在此頁面上執行的所有動作僅影響所選 OAuth 2.0 用戶端及其資料。
建立整合
執行下列步驟來設定整合:
1. 登入 PTC Admin Center。
2. 轉至「整合」頁。
3. 從 PTC Admin Center「整合」頁,將下列參數的值複製到剪貼簿,然後將其貼上到協力廠商應用程式頁的適用部份:
◦ 用戶端 ID
◦ 密鑰
a. 欲檢視密鑰,必須對密鑰進行輪替。在 PTC Admin Center「整合」頁的「密鑰」部份下,按一下「輪替金鑰」。
|
輪替金鑰會產生新金鑰,並使目前的金鑰無效,進而中斷任何關聯的整合。此動作無法復原。
|
b. 從「新金鑰已產生」對話方塊中複製密鑰,然後按一下「關閉」。
|
• 關閉此對話方塊之後,您將無法再檢視此密鑰。
• 密碼是機密的,只要您想要 (以管理員/操作員身分) 使用金鑰,就必須始終輪替密碼並產生新密碼。目的是防止以任何惡意意圖嘗試濫用密碼。
• 使用者必須依據「軟體開發生命週期作法」輪替密碼。維護安全的應用程式整合是共同的責任。請確保每次輪替密碼時,所有關聯的應用程式都會更新為目前的密碼。
|
◦ 應用程式 URL
在「應用程式 URL」部份,按一下「反呼叫 URL」旁邊的鉛筆圖示,輸入協力廠商應用程式的反呼叫 URL,然後按一下「儲存」。
◦ 驗證 URL
◦ 存取權杖 URL
請參閱
產生應用程式的存取權杖中使用此資訊整合協力廠商應用程式的詳細步驟。
產生應用程式的存取權杖
本節描述存取權杖產生流程。
1. 具有授權碼流程的委派授權將首先對授權伺服器之 Auth 端點進行 GET REST API 呼叫。例如,GET https://<AUTHORIZATION_SERVER>/authorize?audience=<AUDIENCE>&response_type=code&client_id=<Client ID>&scope=<SCOPE>&redirect_uri=Callback URL>&state=<STATE> 其中,
◦ audience - 存取權杖的目標使用者。此參數必填,且必須設定為 https://windchill-plus
◦ response_type - 指示授權伺服器會傳回授權碼。此參數必填,且必須設定為 code。
◦ client_id - 您收到的來自 PTC Admin Center 的用戶端 ID。
◦ scope - 一或多個範圍值,指示您要存取之應用程式的那些部份。此參數必填,且必須設定為 WINDCHILL_READ。
◦ redirect_uri - 應用程式反呼叫 URL。
◦ state- 由您的應用程式產生且會在稍後進行核對的隨機字串。
例如,GET https://ptc-atlas-dev.us.auth0.com/authorize?audience=https://windchill-plus&response_type=code&client_id=rOTYOu4jQrKynCOZqvS9Pah6rVTxlGZi&scope=WINDCHILL_READ&redirect_uri=https://oauth.pstmn.io/v1/browser-callback&state=4000194150204c968a165f6fab08afa8 PTC 登入頁即會顯示出來。
2. 輸入您的認證以登入。
3. 成功驗證之後,流程會在授權伺服器以授權 code 與 state 作為查詢參數重新導向至回撥 URL 時繼續:<Callback URL>?code=<AUTH_CODE>&state=<STATE>
| 應用程式必須先比較此狀態值,以確保其與您一開始使用的狀態值相符。您可以將狀態值儲存在 cookie 或工作階段中,並在使用者返回時進行比較。這有助於確保您的重新導向端點能夠安全,防止嘗試交換任意授權代碼。 |
例如,https://oauth.pstmn.io/v1/browser-callback?code=wWR_mPfnggMSC694bf10bekymLYP6opBXNxmR3QYjIAPn&state=4000194150204c968a165f6fab08afa8
4. 然後,應用程式會交換授權碼以透過對權杖端點發出 POST 請求來取得存取權杖:POST https://<AUTHORIZATION_SERVER>/oauth/token
請求有效負載:
grant_type: "authorization_code"
code: <AUTH_CODE>
redirect_uri: "<Callback URL>"
client_id: "<Client ID>"
client_secret: "<CLIENT_SECRET>"
其中,
◦ grant_type=authorization_code - 此流程的授與類型為授權碼授與。
◦ code=AUTH_CODE_HERE - 這是您在查詢字串中接收到的代碼。
◦ redirect_uri=REDIRECT_URI - 必須與原始連結中提供的重新導向 URI 相同。
◦ client_id=CLIENT_ID- 您從 PTC Admin Center 接收到的相同用戶端 ID。
◦ client_secret=CLIENT_SECRET - 由於此請求是由伺服器端程式碼建立的,因此會包括密碼。
回應本文:{"access_token":"<Access Token>","scope":"WINDCHILL_READ","expires_in":3600,"token_type":"Bearer"}
5. 使用存取權杖對 PTC 系統進行 API 呼叫,方法是將其作為授權標題的一部份傳送:/Windchill/oauth/servlet/odata/ProdMgmt/Parts?$filter=startswith(Name,'Axle')&ptc.search.latestversion=true
請求標題:<Authorization: Bearer Access Token>