ThingWorx als Ressourcen-Anbieter konfigurieren
Datei "resourceServerSettings.json" konfigurieren
1. Halten Sie den ThingWorx Server an.
2. Erstellen Sie die Datei resourceServerSettings.json im selben Verzeichnis wie sso-settings.json.
Nachfolgend sehen Sie eine Beispielstruktur der Datei resourceServerSettings.json:
{
"ResourceServerSettings": {
"accessTokenServicesSettings": {
"tokenUsernameAttribute": "See information in the table below",
"tokenPublicKeyUrl": "See information in the table below",
"administratorAlias": "See information in the table below",
"administratorInternalName": "Administrator",
"issuer": "See information in the table below",
"tokenValidationType": "local"
},
"globalScopes": "See information in the table below",
"uriScopes": [
{
"uri": "See information in the table below",
"scopes": "See information in the table below",
"method": "See information in the table below"
}
]
}
}
3. Stellen Sie sicher, dass Sie den Wert jedes Parameters gemäß Ihrer Anforderung bearbeiten. Ihre Implementierung sieht möglicherweise anders aus und hängt von mehreren Faktoren ab, z.B. den Sicherheitsrichtlinien Ihrer Organisation und dem CAS für Ihren Verbund. Verwenden Sie die Informationen in den folgenden Tabellen als Leitfaden, um Werte für die verschiedenen Parameter festzulegen.
4. Starten Sie den ThingWorx Server.
ResourceServerSettings.accessTokenServicesSettings-Einstellungen
Parameter
Beschreibung
Wert
tokenUsernameAttribute
Optional: Der Name des Anspruchs, der den Benutzernamen für die Ressourcenanforderung enthält.
Standardwert: “unique_name”
tokenPublicKeyUrl
Obligatorisch: Der Microsoft Entra-ID-Endpunkt des öffentlichen Schlüssels (wird verwendet, um die Zugriffs-Token zu validieren).
Der Wert wird wie folgt konstruiert:
https://login.microsoftonline.com/<Mandanten-ID von Microsoft Entra-ID>/discovery/keys?appid=<Anwendungs-ID der ThingWorx Ressourcenserver-Anwendung>
administratorAlias
Optional.
Obligatorisch nur, wenn Sie als ThingWorx Administrator auf den RP zugreifen möchten.
* 
Falls bereits in der Datei sso-settings.json konfiguriert, muss der Wert hier nicht festgelegt werden.
Der Benutzername des Administrators, wie in Microsoft Entra ID konfiguriert.
administratorInternalName
Optional: Der Benutzername des Administrators, wie in ThingWorx konfiguriert.
Administrator
tokenValidationType
Obligatorisch: Der Eigenschaftspunkt des Zugriffs-Tokens (JWT).
local
issuer
Optional: Ausstellerwert für zusätzliche Token-Validierungsprüfung.
Der Ausstellerwert, wie er im ISS-Anspruch im Token angezeigt wird.
ResourceServerSettings.globalScopes-Einstellungen
Parameter
Beschreibung
Wert
globalScopes
Liste der durch Kommas getrennten globalen Bereiche. Schließt den minimalen Satz von Bereichen ein, die für den Zugriff auf eine Ressource erforderlich sind. Wenn dieser Parameter fehlt oder leer ist, wird THINGWORX als globaler Standardbereich festgelegt. Lassen Sie diesen Parameter nicht leer. Wenn kein dedizierter Bereich vorhanden ist, legen Sie THINGWORX als Wert fest.
Im Fall der Konfiguration von ThingWorx als Ressourcenserver ist dies der Bereich, der in Schritt 2 von "ThingWorx als Ressourcenserver konfigurieren" erstellt wurde.
"globalScopes": "THINGWORX_APP1,THINGWORX_APP2"
ResourceServerSettings.uriScopes-Einstellungen
Parameter
Beschreibung
Wert
uri
URI-Muster. Definiert die Ressource oder Ressourcengruppe, die zusätzliche Bereiche zu den globalen Bereichen erfordert.
Thingworx/Things/** - control all Things
Thingworx/Things/Thing1 – control Thing1
scopes
Durch Kommas getrennte Liste mit zusätzlichen Bereichen. Lediglich Benutzer, die Rechte für alle aufgelisteten Bereiche (einschließlich global) besitzen, können die Ressource abrufen.
method
Optional. Definiert die URI-Methode, auf die der Bereich angewendet wird.
* 
Wenn keine Methodeneigenschaft angegeben ist, wird davon ausgegangen, dass der angegebene URI durch den gegebenen Umfang für die gesamte HTTP-Methode geschützt ist.
Mögliche Werte sind alle Methoden, die im REST-Protokoll zulässig sind, wie GET oder POST.
Wenn Bereiche für einen URI definiert sind, müssen die globalen Bereiche sowie die definierten URI-Bereiche für den Zugriff auf diese Ressource gewährt werden. Wenn mehr als eine geltende URI-Regel für die angeforderte Ressource verfügbar ist, müssen allen relevanten Bereichen Rechte für den Zugriff auf diese Ressource gewährt werden. Wenn der Zugriff auf eingeschränkte Ressourcen vermieden werden soll, fügen Sie URIscope zu diesen REST-Endpunkten mit einem Bereich hinzu, der nicht auf dem Autorisierungsserver vorhanden ist. Neben dem Bereichsschutz verfügt ThingWorx über eigene benutzerbasierte Berechtigungen, die zusätzlich zu den Bereichen angewendet werden. Beispiel: In einem Fall, in dem Benutzer A eine Ressource mit den richtigen Bereichen anfordert, aber keine Berechtigung hat, schlägt die Anforderung mit einem 403-Fehler fehl.
Beispieldatei:
Beispieldatei
War dies hilfreich?