設定 ThingWorx 的公用存取
在 Vuforia Studio 中,將專案的「存取」屬性設定為「公用」,即讓已發佈專案中的體驗可公用存取。如此一來,無需驗證即可存取發佈至 Experience Service 的內容。如果公用體驗需要存取 ThingWorx 中的資料,則必須設定 Experience Service,允許公用體驗以匿名方式存取 ThingWorx。
Experience Service 可作為 ThingWorx 伺服器的 Proxy。當體驗請求 ThingWorx 擷取屬性值或叫用服務時,會先透過 Experience Service 連接請求。如果體驗為公用,則 Experience Service Proxy 會將應用程式金鑰附加至請求,再將請求轉送至 ThingWorx 伺服器。此應用程式金鑰可識別用來執行請求的 ThingWorx 認證。必須為 Experience Service 設定適當的應用程式金鑰,以便授與體驗必要的 ThingWorx 公用存取權限。
如果體驗提供 ThingWorx 中的資料,則也必須提供公用存取 ThingWorx 資料的權限。
應用程式金鑰組態設定
|
在某些情況下,支援公用存取的應用程式金鑰可能是安裝 Experience Service 程序的一部分。在此情況下,名稱為 es-public-access 的使用者和具有相同名稱的應用程式金鑰在您的 ThingWorx 伺服器中已存在,且您的 Experience Service 已設定為使用該應用程式金鑰來公用存取 ThingWorx。此外,名稱為 es-public-access-org 的組織已存在,且 es-public-access 使用者將成為該組織的成員。若是這種情況,您可以略過此章節。欲完成 ThingWorx 伺服器的公用存取組態設定,請完成 授與使用者權限〈啟用屬性、服務和事件存取權限〉一節中的步驟。
|
欲允許公用體驗存取 ThingWorx 而不提示使用者進行驗證,則必須將 Experience Service 與關聯的 ThingWorx 伺服器設定為啟用公用存取。欲允許公用存取 ThingWorx,則必須在 ThingWorx 中建立應用程式金鑰,該金鑰可用來在 ThingWorx 中存取公用連線體驗請求的任何屬性或服務。遵循下列步驟,在 ThingWorx 中建立中必要的應用程式金鑰。
1. 建立名稱為 es-public-access 的使用者。
2. 建立名稱為 es-public-access-org 的組織。
3. 新增 es-public-access 使用者至 es-public-access-org 組織。
4. 設定使用者,使其擁有存取公用體驗所請求的 ThingWorx 資料的必要權限。如需關於必須授與 es-public-access 使用者之權限的詳細資訊,請參閱下文的〈使用者授權〉一節。
5. 設定 es-public-access-org 組織,使其擁有存取公用體驗所請求的 ThingWorx 資料的必要可見度權限。如需關於必須授與 es-public-access-org 組織之權限的詳細資訊,請參閱下文的〈使用者授權〉一節。
6. 建立應用程式金鑰並將其與 es-public-access 使用者關聯。
7. 導覽至管理控制台以使用 Experience Service。
8. 編輯 ThingWorx Proxy 設定並設定匿名的應用程式金鑰參數,使其與步驟 3 中所建立應用程式金鑰的 keyId 屬性值相等。
使用者授權
欲允許公用體驗使用者存取 ThingWorx 中的必要屬性和服務,必須授與上文中定義之 es-public-access 使用者的下列 ThingWorx 執行時間權限,以便建立 WebSocket 連線並取得體驗資料。
• WebSocket 連線:
◦ 可見度 - EntityServices 資源的權限
◦ 執行時間服務執行 - EntityServices 資源的 GetClientApplicationKey 服務權限
◦ 可見度 - SDKGateway 項目範本的權限
◦ 可見度實例 - SDKGateway 項目範本的權限
◦ 執行時間實例服務執行 - SDKGateway 項目範本的權限
如需關於授與這些權限的詳細資訊,請參閱
授與使用者權限 中的〈啟用 WebSocket 連線〉一節。
• 體驗資料︰
◦ 可見度 - 公用體驗存取之任何實體的權限
◦ 執行時間屬性讀取 - 其值顯示於公用體驗中的任何額外屬性的權限
◦ 執行時間服務執行 - 公用體驗使用的任何額外服務的權限
◦ 執行時間事件訂閱 - 其屬性值設定為自動重新整理的任何項目 DataChange 事件的權限
如需關於授與這些權限的詳細資訊,請參閱
授與使用者權限 中的〈啟用屬性、服務和事件存取權限〉一節。
此外,必須授與 es-public-access-org 組織下列 ThingWorx 可見度權限,以便建立 WebSocket 連線及取得體驗資料。
• WebSocket 連線:
◦ 可見度 - EntityServices 資源的權限
◦ 可見度實例 - SDKGateway 項目範本的權限
• 體驗資料︰
◦ 可見度 - 公用體驗存取之任何實體的權限