Package
|
Descrizione
|
---|---|
com.thingworx.security.authentication.sso
|
Package per tutti i componenti di autenticazione dell'SSO ThingWorx. Gli esempi riportati di seguito costituiscono le voci presenti nei package di logger:
• Per i messaggi che vengono registrati nel log applicazioni, ad esempio:
LogUtilities.getInstance().getApplicationLogger([class name]):
<logger name="com.thingworx.security.authentication.sso" level="DEBUG"/> • I logger di protezione vengono utilizzati in molte classi di questo package. Ad esempio:
LogUtilities.getInstance().getSecurityLogger(ThingworxSSOAuthenticator.class);
Per attivare questi logger, aggiungere SecurityLog come logger padre radice:
<logger name="SecurityLog.com.thingworx.security.authentication.sso" level="DEBUG"/>
|
SecurityLog.com.thingworx.security.sso
|
Package per i workflow di autorizzazione delegata utilizzati dai connettori integrati quando ottengono i token di accesso e le relative configurazioni.
|
com.thingworx.ptc.eauth.identity
|
Package valido per tutti i componenti principali della libreria SSO PTC.
|
com.springframework.security
|
Package valido per tutti i componenti di protezione del framework Spring.
|
com.springframework.jdbc
|
Package valido per tutti i componenti di autenticazione JDBC del framework Spring.
|
Problema
|
L'amministratore di ThingWorx non riesce ad accedere - È stato ricevuto l'errore invalid_scope
|
Descrizione
|
Dopo l'accesso, l'utente viene reindirizzato a una pagina di errore di ThingWorx che indica che il sistema sta riscontrando un errore di configurazione di autenticazione.
|
Soluzione
|
Uno o più ambiti registrati in un'entità multimediale o in un connettore di integrazione ThingWorx non corrispondono agli ambiti registrati in PingFederate (o nel CAS scelto). Questa mancata corrispondenza con gli ambiti di PingFederate può determinare il blocco dell'amministratore di ThingWorx. Gli ambiti del server delle risorse che sono stati registrati in ThingWorx possono essere visualizzati nel log di protezione. Per risolvere questo problema, attenersi alla procedura descritta di seguito.
1. Accedere a PingFederate e confrontare gli ambiti segnalati dal log di protezione ThingWorx con gli ambiti registrati in PingFederate. Per gli ambiti di ThingWorx che non sono registrati in PingFederate o che hanno nomi non corrispondenti, aggiungere l'ambito in PingFederate oppure modificare il nome in modo che corrisponda esattamente a quello di ThingWorx (anche se l'ortografia non è corretta).
2. Ora la pagina di approvazione delle concessioni funziona correttamente ed è possibile accedere ad ThingWorx come amministratore. In ThingWorx Composer passare al connettore di integrazione o all'entità multimediale che sta provando a utilizzare l'ambito. Rimuoverlo dalla tabella di registrazione degli ambiti per il connettore di integrazione o l'entità multimediale. Accedere a una nuova sessione di ThingWorx per verificare che l'accesso riesca.
3. Se ThingWorx prova a utilizzare un ambito non registrato, in PingFederate rimuovere l'ambito indesiderato dalla pagina di gestione degli ambiti. Se i nomi di ambito non corrispondono, eliminare l'ambito e registrarlo di nuovo con l'ortografia corretta in PingFederate e nell'entità multimediale o nel connettore di integrazione ThingWorx.
|
Problema
|
Il servizio su un connettore di integrazione o su un'entità multimediale non funziona - Non è stato possibile recuperare il token di accesso.
|
Descrizione
|
È stato eseguito l'accesso ad ThingWorx Composer e si dispone già di un token di accesso. È stato importato o creato un connettore con un ambito ed è stato effettuato il tentativo di eseguire un servizio sul connettore ma non ha funzionato.
|
Soluzione
|
Disconnettersi ed accedere nuovamente per aprire la pagina di approvazione delle concessioni per gli ambiti del connettore. Per consentire il funzionamento dei servizi, è necessario approvare la concessione per l'ambito appena registrato.
Ciò vale anche se si importano o si creano le entità multimediali che contengono gli ambiti.
|
Problema
|
Errori di inizializzazione bean e di contesto SSO all'avvio di ThingWorx.
|
Descrizione
|
Non è possibile avviare ThingWorx.
|
Soluzione
|
Per individuare il problema, fare riferimento ai log degli errori. Il testo alla fine del log degli errori o dell'avvertenza relativi all'inizializzazione bean e di contesto descrive il problema. Ad esempio, la descrizione di un errore possibile può essere come quella riportata di seguito.
SSOConfigurationException: BasicSettings > idpMetadataFilePath cannot be null or empty
Controllare il valore del parametro idpMetadataFilePath nel file sso-settings.json e aggiungere il valore appropriato.
|
Problema
|
L'applicazione o il mashup ThingWorx non si carica dopo che l'utente ha fatto clic su Don’t allow per gli ambiti richiesti nella pagina Request Grant Approval di PingFederate.
|
Descrizione
|
Dopo avere fatto clic su Don’t Allow nella pagina Request Grant Approval, il mashup non si carica e l'URL del browser termina con un hash "#" e un punto ".".
|
Soluzione
|
Per default, PingFederate utilizza un punto "." come segnaposto per un frammento e questo determina il problema. Per risolverlo, attenersi alla procedura descritta di seguito.
1. Nella posizione di installazione di PingFederate passare a <InstallazionePingFederate>\server\default\data\config-store\sanitize-fragments.xml.
2. Modificare questo file XML e rimuovere il punto "." dal segnaposto del frammento. La riga dovrebbe essere tipo <con:item name="FragmentPlaceholder"></con:item>
3. Riavviare il server di PingFederate.
|
Problema
|
L'autenticazione SAML in http://<server utente>:<porta>/Thingworx/runtime/index.html#mashup=<mashup utente> reindirizza a http://<server utente>:<porta>/Thingworx/runtime/index.html dopo l'accesso.
|
Descrizione
|
Durante l'accesso con un URL di mashup, la parte frammento dell'URL (ovvero #mashup=<mashuputente>) non viene inviata al server ThingWorx o al server di autorizzazione per il reindirizzamento appropriato dopo l'accesso perché il browser conserva i dati per consentirne l'utilizzo solo da parte del client. Pertanto, il server ThingWorx e il server di autorizzazione ricevono l'URL senza il frammento, ovvero http://<server utente>:<porta>/Thingworx/runtime/index.html.
|
Soluzione
|
Se gli URL di mashup vengono utilizzati come punto di autenticazione iniziale, crearli con parametri di interrogazioni anziché con parametri di frammenti.
In questo caso, quindi, utilizzare l'URL http://<server utente>:<porta>/Thingworx/runtime/index.html?mashup=<mashuputente>.
|
Problema
|
A ogni accesso viene mostrata la pagina Request Grant Approval di PingFederate.
|
Descrizione
|
PingFederate non restituisce ambiti durante il processo di approvazione delle concessioni.
|
Soluzione
|
In PingFederate:
1. Creare o modificare il file oauth-scope-settings.xml, disponibile nelle posizioni <Cartella di installazione di PingFederate>/server/default/data/config-store, come descritto di seguito.
<?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. Riavviare PingFederate.
|
Problema
|
L'autenticazione SAML in http://<server utente>:<porta>/Thingworx/runtime/index.html#mashup=<mashup utente> reindirizza a http://<server utente>:<porta>/Thingworx/runtime/index.html dopo l'accesso.
|
Descrizione
|
Durante l'accesso con un URL di mashup, la parte frammento dell'URL (ovvero #mashup=<mashuputente>) non viene inviata al server ThingWorx o al server di autorizzazione per il reindirizzamento appropriato dopo l'accesso perché il browser conserva i dati per consentirne l'utilizzo solo da parte del client. Pertanto, il server ThingWorx e il server di autorizzazione ricevono l'URL senza il frammento, ovvero http://<server utente>:<porta>/Thingworx/runtime/index.html.
|
Soluzione
|
Se gli URL di mashup vengono utilizzati come punto di autenticazione iniziale, crearli con parametri di interrogazioni anziché con parametri di frammenti.
In questo caso, quindi, utilizzare l'URL http://<server utente>:<porta>/Thingworx/runtime/index.html?mashup=<mashuputente>.
|
Problema
|
Nel file server.log di PingFederate viene visualizzato l'errore seguente:
ERROR [SpringLdapGuidFormatter] Decoded binary guidAttribute is empty. Please check that the source datastore is configured with 'objectGUID' as a binary attribute. [] Channel: channel1
|
Descrizione
|
A causa delle modifiche in PingFed 11.3, SCIM deve essere configurato manualmente.
|
Soluzione
|
Attenersi alla procedura descritta in Aggiungere attributi binari LDAP.
|
Problema
|
Quando AzureAD è configurato come CAS, l'utente finale non può ottenere i dati dal server delle risorse (RS) utilizzando un tipo di connessione SSO che si basa sui connettori ThingWorx (poiché il token di accesso è scaduto).
|
Descrizione
|
Il file SecurityLog.log visualizza l'errore riportato di seguito.
ERROR: [ Failed to retrieve access token. ][ A redirect is required to get the users approval ]
|
Soluzione
|
Impostare la proprietà mandatoryScopes in AuthorizationServersSettings nel file sso-settings.json in modo che includa offline_access.
|