Paket
|
Beschreibung
|
---|---|
com.thingworx.security.authentication.sso
|
Paket für alle ThingWorx SSO-Authentifizierungskomponenten. Die folgenden Beispiele sind Einträge in den Protokolliererpaketen:
• Für Meldungen, die in das Anwendungsprotokoll geschrieben werden, beispielsweise:
LogUtilities.getInstance().getApplicationLogger([class name]):
<logger name="com.thingworx.security.authentication.sso" level="DEBUG"/> • Sicherheitsprotokollierer werden in vielen Klassen in diesem Paket verwendet. Beispiel:
LogUtilities.getInstance().getSecurityLogger(ThingworxSSOAuthenticator.class);
Um diese Protokollierer zu aktivieren, fügen Sie SecurityLog als Elternprotokollierer des Stamms hinzu:
<logger name="SecurityLog.com.thingworx.security.authentication.sso" level="DEBUG"/>
|
SecurityLog.com.thingworx.security.sso
|
Paket für Workflows der delegierten Autorisierung, die von Integrations-Konnektoren beim Abrufen von Zugriffs-Token verwendet werden, sowie ihre Konfigurationen.
|
com.thingworx.ptc.eauth.identity
|
Paket für alle zentralen PTC SSO-Bibliothekskomponenten.
|
com.springframework.security
|
Paket für alle Spring Framework-Sicherheitskomponenten.
|
com.springframework.jdbc
|
Paket für alle Spring Framework-JDBC-Authentifizierungskomponenten.
|
Problem
|
ThingWorx Administrator kann sich nicht anmelden – Fehler zu ungültigem Bereich erhalten
|
Beschreibung
|
Nach dem Anmelden wird der Benutzer zu einer ThingWorx Fehlerseite umgeleitet, die angibt, dass auf dem System derzeit ein Fehler mit der Authentifizierungskonfiguration vorliegt.
|
Lösung
|
Mindestens einer der in einem ThingWorx Integrations-Konnektor oder einer Medienentität registrierten Bereiche stimmt nicht mit den in PingFederate (oder Ihrem gewählten CAS) registrierten Bereichen überein. Dieser Bereichskonflikt zwischen PingFederate kann zu einer Aussperrung des ThingWorx Administrators führen. Die Ressourcenserverbereiche, die in ThingWorx registriert wurden, können im Sicherheitsprotokoll angezeigt werden. So lösen Sie dieses Problem:
1. Melden Sie sich bei PingFederate an, und vergleichen Sie die gemeldeten Bereiche aus dem ThingWorx Sicherheitsprotokoll mit den Bereichen, die in PingFederate registriert sind. Fügen Sie für alle Bereiche in ThingWorx, die nicht in PingFederate registriert sind oder deren Namen nicht übereinstimmen, den Bereich in PingFederate hinzu, oder ändern Sie den Namen so, dass er der Schreibweise in ThingWorx entspricht (auch wenn dies nicht die richtige Schreibweise des Bereichs ist).
2. Nun funktioniert die Seite zur Gewährungsgenehmigung korrekt, und Sie können sich bei ThingWorx als Administrator anmelden. Navigieren Sie in ThingWorx Composer zu dem Integrations-Konnektor bzw. der Medienentität, der bzw. die versucht, den Bereich zu verwenden. Entfernen Sie ihn aus der Bereichsregistrierungstabelle für den Integrations-Konnektor oder die Medienentität. Melden Sie sich mit einer neuen ThingWorx Sitzung an, um zu überprüfen, ob die Anmeldung erfolgreich ist.
3. Für den Fall, dass ThingWorx versucht hat, einen nicht registrierten Bereich zu verwenden, entfernen Sie als Nächstes in PingFederate den unerwünschten Bereich von der Bereichsverwaltungsseite. Wenn die Bereichsnamen nicht übereinstimmen, löschen Sie den Bereich, und registrieren Sie ihn mit der korrekten Schreibweise erneut in PingFederate sowie im ThingWorx Integrations-Konnektor oder in der Medienentität.
|
Problem
|
Dienst in einem Integrations-Konnektor oder in einer Medienentität funktioniert nicht – Fehler beim Abruf des Zugriffs-Tokens.
|
Beschreibung
|
Sie sind bei ThingWorx Composer angemeldet und verfügen bereits über ein Zugriffs-Token. Sie haben einen Konnektor mit einem Bereich importiert oder erstellt und versucht, einen Dienst für den Konnektor auszuführen, der jedoch nicht funktionierte.
|
Lösung
|
Melden Sie sich ab und wieder an, um die Seite zur Gewährungsgenehmigung für die Bereiche für Ihren Konnektor zu öffnen. Sie müssen die neu registrierte Bereichsgewährung genehmigen, damit die Dienste funktionieren.
Gleiches gilt, wenn Sie Medienentitäten importieren oder erstellen, die Bereiche enthalten.
|
Problem
|
Initialisierungsfehler für SSO-Kontext und -Bean beim Start von ThingWorx.
|
Beschreibung
|
ThingWorx wird nicht gestartet.
|
Lösung
|
Ermitteln Sie das Problem mithilfe der Fehlerprotokolle. Der Text am Ende des Warnungs- oder Fehlerprotokolls für die Kontext- oder Bean-Initialisierung beschreibt das Problem. Ein möglicher Fehlen kann beispielsweise lauten:
SSOConfigurationException: BasicSettings > idpMetadataFilePath cannot be null or empty
Prüfen Sie den Wert des Parameters idpMetadataFilePath in der Datei sso-settings.json, und fügen Sie den entsprechenden Wert hinzu.
|
Problem
|
ThingWorx Mashup oder Anwendung wird nicht geladen, nachdem der Benutzer auf der PingFederate-Seite Request Grant Approval für die angeforderten Bereiche auf Don’t allow geklickt hat.
|
Beschreibung
|
Nachdem der Benutzer auf der Seite Request Grant Approval auf Don’t allow geklickt hat, wird das Mashup nicht geladen, und die Browser-URL endet mit einem Hash-Zeichen "#" und einem Punkt ".".
|
Lösung
|
Standardmäßig verwendet PingFederate einen Punkt "." als Fragmentplatzhalter, der dieses Problem verursacht. Um dieses Problem zu beheben, gehen Sie wie folgt vor:
1. Navigieren Sie am PingFederate-Installationsspeicherort zu <PingFederateInstallation>\server\default\data\config-store\sanitize-fragments.xml.
2. Bearbeiten Sie diese XML-Datei, und entfernen Sie den Punkt "." aus dem Fragmentplatzhalter. Die Zeile muss folgendermaßen lauten: <con:item name="FragmentPlaceholder"></con:item>
3. Starten Sie den PingFederate-Server neu.
|
Problem
|
SAML-Authentifizierung für http://<Ihr Server>:<Port>/Thingworx/runtime/index.html#mashup=<MeinMashup> wird nach erfolgreicher Anmeldung zu http://<Ihr Server>:<Port>/Thingworx/runtime/index.html umgeleitet.
|
Beschreibung
|
Während einer Anmeldung bei einer Mashup-URL wird der Fragmentteil der URL (d.h. #mashup=<MeinMashup>) nicht zur ordnungsgemäßen Umleitung nach einer erfolgreichen Anmeldung an den ThingWorx Server oder den Authentifizierungsserver gesendet, da der Browser diese Daten nur für die Verwendung durch den Client behält. Daher erhalten der ThingWorx Server und der Authentifizierungsserver die URL ohne das Fragment, d.h. http://<Ihr Server>:<Port>/Thingworx/runtime/index.html.
|
Lösung
|
Für Mashup-URLs, die als ursprünglicher Authentifizierungspunkt verwendet werden, sollten Sie die URLs mit Abfrageparametern anstelle von Fragmentparametern erstellen.
Verwenden Sie daher in diesem Fall diese URL: http://<Ihr Server>:<Port>/Thingworx/runtime/index.html?mashup=<MeinMashup>.
|
Problem
|
Bei jeder einzelnen Anmeldung wird die Seite Request Grant Approval aus PingFederate angezeigt.
|
Beschreibung
|
PingFederate gibt nach einem erfolgreichen Gewährungsgenehmigungsprozess keine Geltungsbereiche zurück.
|
Lösung
|
In PingFederate:
1. Erstellen oder bearbeiten Sie die Datei oauth-scope-settings.xml am Speicherort <PingFederate-Installationsordner>/server/default/data/config-store wie folgt:
<?xml version="1.0" encoding="UTF-8"?>
<z:config xmlns:z="http://www.sourceid.org/2004/05/config"> <z:item name="always-return-scope-for-authz-code">true</z:item> </z:config> 2. Starten Sie PingFederate neu.
|
Problem
|
SAML-Authentifizierung für http://<Ihr Server>:<Port>/Thingworx/runtime/index.html#mashup=<MeinMashup> wird nach erfolgreicher Anmeldung zu http://<Ihr Server>:<Port>/Thingworx/runtime/index.html umgeleitet.
|
Beschreibung
|
Während einer Anmeldung bei einer Mashup-URL wird der Fragmentteil der URL (d.h. #mashup=<MeinMashup>) nicht zur ordnungsgemäßen Umleitung nach einer erfolgreichen Anmeldung an den ThingWorx Server oder den Authentifizierungsserver gesendet, da der Browser diese Daten nur für die Verwendung durch den Client behält. Daher erhalten der ThingWorx Server und der Authentifizierungsserver die URL ohne das Fragment, d.h. http://<Ihr Server>:<Port>/Thingworx/runtime/index.html.
|
Lösung
|
Für Mashup-URLs, die als ursprünglicher Authentifizierungspunkt verwendet werden, sollten Sie die URLs mit Abfrageparametern anstelle von Fragmentparametern erstellen.
Verwenden Sie daher in diesem Fall diese URL: http://<Ihr Server>:<Port>/Thingworx/runtime/index.html?mashup=<MeinMashup>.
|
Problem
|
Der folgende Fehler wird in der Datei server.log von PingFederate angezeigt:
ERROR [SpringLdapGuidFormatter] Decoded binary guidAttribute is empty. Please check that the source datastore is configured with 'objectGUID' as a binary attribute. [] Channel: channel1
|
Beschreibung
|
Aufgrund der Änderungen in PingFed 11.3 muss das SCIM manuell konfiguriert werden.
|
Lösung
|
Führen Sie die unter LDAP-Binärattribute hinzufügen genannten Schritte aus.
|
Problem
|
Wenn AzureAD als CAS konfiguriert ist, kann der Endbenutzer keine Daten vom Ressourcenserver (RS) mit einem auf ThingWorx Konnektoren basierenden SSO-Verbindungstyp abrufen (da das Zugriffs-Token abgelaufen ist).
|
Beschreibung
|
In der Datei SecurityLog.log wird der folgende Fehler angezeigt.
ERROR: [ Failed to retrieve access token. ][ A redirect is required to get the users approval ]
|
Lösung
|
Legen Sie die Eigenschaft mandatoryScopes im Abschnitt AuthorizationServersSettings der Datei sso-settings.json so fest, dass offline_access eingeschlossen ist.
|