Konfiguration > Öffentlichen Zugriff auf ThingWorx konfigurieren
  
Öffentlichen Zugriff auf ThingWorx konfigurieren
In ThingWorx Studio können Erlebnisse in einem veröffentlichten Projekt zugänglich gemacht werden, indem die Eigenschaft Zugriff des Projekts auf Öffentlich gesetzt wird. Dadurch wird der Inhalt, der in experience service veröffentlicht wird, ohne Authentifizierung zugänglich. Wenn die öffentlichen Erlebnisse Zugriff auf Daten in ThingWorx benötigen, muss experience service so konfiguriert sein, dass die öffentlichen Erlebnisse anonym auf ThingWorx zugreifen können.
Der experience service fungiert als Proxy für den ThingWorx Server. Wenn ein Erlebnis eine Anforderung an ThingWorx zum Abrufen eines Eigenschaftswerts oder zum Aufrufen eines Dienstes sendet, wird die Anforderung zunächst über den experience service geleitet. Wenn das Erlebnis öffentlich ist, hängt der experience service Proxy einen Anwendungsschlüssel an die Anforderung an, bevor sie an den ThingWorx Server weitergeleitet wird. Dieser Anwendungsschlüssel identifiziert die Anmeldeinformationen für ThingWorx, die zum Ausführen der Anforderung verwendet werden. Der experience service muss mit einem entsprechenden Anwendungsschlüssel für den erforderlichen öffentlichen Zugriff auf ThingWorx konfiguriert sein, um Erlebnisse zu erhalten.
Wenn ein Erlebnis Daten aus ThingWorx bereitstellt, muss auch ein öffentlicher Zugriff auf die Daten in ThingWorx bereitgestellt werden.
Anwendungsschlüssel-Konfiguration
* 
In einigen Fällen wurde die Anwendungsschlüssel-Konfiguration zur Unterstützung des öffentlichen Zugriffs bereits beim Installieren des experience service abgeschlossen. In diesem Fall sind bereits ein Benutzer namens es-public-access und ein Anwendungsschlüssel mit demselben Namen auf Ihrem ThingWorx Server vorhanden, und Ihr experience service ist bereits so konfiguriert, dass dieser Anwendungsschlüssel für den öffentlichen Zugriff auf ThingWorx verwendet wird. Außerdem ist bereits eine Organisation namens es-public-access-org vorhanden, und der Benutzer es-public-access ist Mitglied dieser Organisation. Wenn dies der Fall ist, können Sie diesen Abschnitt überspringen. Um die Konfiguration Ihres ThingWorx Servers für den öffentlichen Zugriff abzuschließen, führen Sie die Schritte im Abschnitt "Zugriff auf Eigenschaften, Dienste und Ereignisse aktivieren" in Benutzerberechtigungen gewähren durch.
Um den öffentlichen Zugriff von Erlebnissen auf ThingWorx zuzulassen, ohne dass die Benutzer zur Authentifizierung aufgefordert werden, müssen der experience service und der zugehörige ThingWorx Server so konfiguriert sein, dass der öffentliche Zugriff ermöglicht wird. Um den öffentlichen Zugriff auf ThingWorx zu ermöglichen, muss ein Anwendungsschlüssel in ThingWorx erstellt werden, mit dem auf Eigenschaften oder Dienste in ThingWorx zugegriffen werden kann, die für öffentlich verbundene Erlebnisse erforderlich sind. Gehen Sie wie folgt vor, um den notwendigen Anwendungsschlüssel in ThingWorx zu erstellen.
1. Erstellen Sie einen Benutzer namens es-public-access.
2. Erstellen Sie eine Organisation namens es-public-access-org.
3. Fügen Sie den Benutzer es-public-access der Organisation es-public-access-org hinzu.
4. Konfigurieren Sie den Benutzer so, dass er über die erforderlichen Berechtigungen zum Zugriff auf die ThingWorx Daten verfügt, die für die öffentlichen Erlebnisse erforderlich sind. Weitere Informationen zu den Berechtigungen, die dem Benutzer es-public-access gewährt werden müssen, finden Sie im nachfolgenden Abschnitt "Benutzerautorisierung".
5. Konfigurieren Sie die Organisation es-public-access-org so, dass sie über die erforderlichen Sichtbarkeitsberechtigungen zum Zugriff auf die ThingWorx Daten verfügt, die für die öffentlichen Erlebnisse erforderlich sind. Weitere Informationen zu den Sichtbarkeitsberechtigungen, die der Organisation es-public-access-org gewährt werden müssen, finden Sie im nachfolgenden Abschnitt "Benutzerautorisierung".
6. Erstellen Sie einen Anwendungsschlüssel, und ordnen Sie ihn dem Benutzer es-public-access zu.
7. Navigieren Sie zur Verwaltungskonsole für den experience service.
8. Bearbeiten Sie die Proxy-Einstellungen für ThingWorx, und legen Sie den Anwendungsschlüssel-Parameter für den anonymen Zugriff so fest, dass er gleich der Eigenschaft keyId für den in Schritt 3 erstellten Anwendungsschlüssel ist.
Benutzerautorisierung
Damit Benutzer von öffentlichen Erlebnissen auf die erforderlichen Eigenschaften und Dienste in ThingWorx zugreifen können, müssen dem oben definierten Benutzer es-public-access die folgenden Laufzeit-Berechtigungen in ThingWorx für WebSocket-Verbindungen und für Erlebnisdaten gewährt werden.
WebSocket-Verbindungen:
Berechtigung "Sichtbarkeit" für die Ressource EntityServices
Laufzeit-Berechtigung "Ausführen des Dienstes" für den Dienst GetClientApplicationKey in der Ressource EntityServices
Berechtigung "Sichtbarkeit" für die Dingvorlage SDKGateway
Berechtigung "Sichtbarkeitsinstanz" für die Dingvorlage SDKGateway
Laufzeitinstanz-Berechtigung "Ausführen des Dienstes" für die Dingvorlage SDKGateway
Weitere Informationen zum Gewähren dieser Berechtigungen finden Sie im Abschnitt "WebSocket-Verbindungen aktivieren" in Benutzerberechtigungen gewähren.
Erlebnisdaten:
Berechtigung "Sichtbarkeit" für alle Entitäten, auf die ein öffentliches Erlebnis zugreift
Laufzeit-Berechtigung "Lesen der Eigenschaft" für alle zusätzlichen Eigenschaften, deren Werte in einem öffentlichen Erlebnis angezeigt werden
Laufzeit-Berechtigung "Ausführen des Dienstes" für alle zusätzlichen Dienste, die von einem öffentlichen Erlebnis verwendet werden
Laufzeit-Berechtigung "Abonnieren des Ereignisses" für das Ereignis DataChange in jedem Ding, dessen Eigenschaftswerte für automatische Aktualisierung konfiguriert sind
Weitere Informationen zum Gewähren dieser Berechtigungen finden Sie im Abschnitt "Zugriff auf Eigenschaften, Dienste und Ereignisse aktivieren" in Benutzerberechtigungen gewähren.
Darüber hinaus müssen der Organisation es-public-access-org die folgenden Sichtbarkeitsberechtigungen in ThingWorx für WebSocket-Verbindungen und für Erlebnisdaten gewährt werden.
WebSocket-Verbindungen:
Berechtigung "Sichtbarkeit" für die Ressource EntityServices
Berechtigung "Sichtbarkeitsinstanz" für die Dingvorlage SDKGateway
Erlebnisdaten:
Berechtigung "Sichtbarkeit" für alle Entitäten, auf die ein öffentliches Erlebnis zugreift
Benutzerberechtigungen gewähren
Konfiguration