Creare un'integrazione dell'app per ThingWorx in Okta
SAML
1. Accedere a Okta Admin Console.
|
È necessario essere un amministratore.
|
2. Passare a > . Fare quindi clic su Create App Integration.
3. Nella finestra Create a new application integration selezionare SAML 2.0 come Sign-in method, quindi fare clic su Next:
4. Nella scheda General Settings della pagina Create SAML Integration immettere le seguenti informazioni, quindi fare clic su Next.
◦ App name - Assegnare un nome all'app (ad esempio, ThingworxSAML).
◦ App logo - (facoltativo) Aggiungere un logo all'app.
◦ App visibility - Selezionare se si desidera rendere visibile l'icona dell'applicazione agli utenti.
5. Nella scheda Configure SAML immettere e selezionare le seguenti informazioni:
◦ Single Sign On URL - Immettere http://<FQDN ThingWorx>:<porta>/Thingworx/saml/SSO
| Lasciare selezionata la casella di controllo Use this for Recipient URL and Destination URL. |
◦ Audience URI (SP Entry ID) - Immettere ThingWorxSP.
◦ Default RelayState - Lasciare questo campo vuoto.
◦ Name ID format - Selezionare Unspecified.
◦ Application username - Selezionare Okta username.
◦ Update application username on - Selezionare Create and update.
6. Sempre nella scheda Configure SAML scorrere verso il basso fino a ATTRIBUTE STATEMENTS.
7. Immettere user.firstName nel campo Name, lasciare Unspecified in Name format e selezionare user.firstName in Value. Fare clic su Add another.
8. Nel nuovo insieme di campi per le istruzioni degli attributi immettere user.email nel campo Name, lasciare Unspecified in Name format e selezionare user.email in Value.
9. In Group Attribute Statements (optional) immettere role nel campo Name, lasciare Unspecified in Name format e immettere gr in Starts with.
10. Fare clic su Next. Nella scheda Feedback fare clic su Finish.
11. L'integrazione dell'app viene creata e viene visualizzata la scheda Sign On della nuova applicazione.
12. Nella scheda Sign On fare clic su Copy alla voce Metadata URL, quindi incollare l'URL in una nuova scheda del browser. Quando viene visualizzato il contenuto del file, fare clic con il pulsante destro del mouse sulla pagina e selezionare Save As o Save Page As a seconda del browser in uso. Se si utilizza Chrome o Edge, il file viene scaricato come file XML.
| Un semplice copia e incolla dell'output può creare problemi di formattazione, pertanto utilizzare Save As. |
13. Passare alla cartella ThingworxPlatform nel sistema in uso e aprire il file platform-settings.json. Verificare che nel file siano presenti le informazioni mostrate di seguito.
14. Nella stessa cartella ThingworxPlatform del sistema in uso, aprire la cartella ssoSecurityConfig, quindi aprire il file sso-settings.json. Verificare la presenza delle seguenti configurazioni alla voce BasicSettings.
◦ idpMetadataFilePath - Specificare il percorso del file metadata_okta.xml copiato al passo 11.
◦ metadataEntityId - Immettere il valore del campo Audience Restriction (come mostrato al passo 4) dalla sezione SAML Settings nella scheda General dell'applicazione in Okta.
◦ samlAssertionUserNameAttributeName - Immettere il nome user.email dall'istruzione dell'attributo creata al passo 8.
15. Sempre nel file sso-settings.json, verificare che il parametro enabled alla voce ApplicationKeySettings sia impostato su true.
16. Successivamente, nel file sso-settings.json scorrere fino a KeyManagerSettings e verificare che siano specificate le seguenti informazioni:
17. Salvare e chiudere il file sso-settings.json.
18. Riavviare ThingWorx.
19. Verificare che l'autenticazione di Okta sia stata configurata correttamente utilizzando le credenziali appropriate per accedere a ThingWorx Composer come amministratore.
20. Dopo avere eseguito l'accesso, passare alla scheda Configurazione di ThingworxSSOAuthenticator, immettere role nel campo Gruppi per l'attributo del gruppo creato al passo 9.
| Se il tentativo di accesso non riesce e viene restituito l'errore 403 App Not Assigned, assegnare gli utenti all'applicazione ThingWorx in Okta e riprovare a eseguire l'accesso. |
OAuth 2.0
1. Accedere a Okta Admin Console.
2. Passare a > .
3. Nella finestra Create App Integration selezionare OIDC - OpenID Connect. Dopo avere selezionato questa opzione, viene visualizzata la sezione Application type. Selezionare Web Application e fare clic su Next.
4. Nella sezione General Settingsi immettere le seguenti informazioni, quindi fare clic su Save.
◦ App name - Assegnare un nome all'app (ad esempio, ThingworxResourceProvider).
◦ Logo - (facoltativo) Aggiungere un logo all'app.
◦ Proof of possession - Selezionare se si desidera richiedere l'intestazione Demonstrating Proof of Possession (DPoP) nelle richieste di token.
◦ Grant type - Per default, la casella di controllo Authorization Code è selezionata in Client acting on behalf of a user.
◦ Sign-in redirect URIs - Immettere l'URI di reindirizzamento di accesso. Ad esempio: http://localhost:8515/Thingworx/oauth2_authorization_code_redirect
◦ Assignments - Selezionare Skip group assignments for now.
5. Successivamente, passare a > . Nella scheda Authorization Servers fare clic su default.
6. Nella scheda Scopes fare clic su Add Scope. Assegnare all'ambito il nome THINGWORX e fare clic su Create.
8. Passare alla cartella ThingworxPlatform nel sistema in uso e aprire il file resourceServerSettings.json. Specificare i valori seguenti:
Attributo | Valore |
userAuthenticationConverterUserNameAttribute | sub Questo valore è il nome dell'attestazione creata nel server di autorizzazione default in Okta. Per trovare questo valore, fare clic su > > > > . |
oathTokenEndPoint | Questo valore è uguale al valore di token_endpoint nell'URL dei metadati. Per trovare questo valore, aprire Okta Admin Console e fare clic su > > > > . Fare clic su Metadata URI e trovare il valore di token_endpoint. Dovrebbe essere simile al seguente: https://<nome_server_univoco>.okta.com/oauth2/default/v1/token |
checkTokenEndpointUrl | Questo valore è uguale al valore di introspection_endpoint nell'URL dei metadati. Per trovare questo valore, aprire Okta Admin Console e fare clic su > > > > . Fare clic su Metadata URI e trovare il valore di introspection_endpoint. Dovrebbe essere simile al seguente: https://<nome_server_univoco>.okta.com/oauth2/default/v1/introspect |
clientId | Questo valore è uguale al valore del campo Client ID dell'applicazione ThingworxResourceProvider in Okta. Per trovare questo valore, aprire Okta Admin Console e fare clic su > nel riquadro di navigazione a sinistra. Fare clic sull'applicazione ThingworxResourceProvider. Nella scheda General trovare il campo Client ID alla voce Client Credentials. |
clientSecret | Questo valore è uguale al valore del campo Client secret dell'applicazione ThingworxResourceProvider in Okta. Per trovare questo valore, aprire Okta Admin Console e fare clic su Applications nel pannello di navigazione a sinistra. Fare clic sull'applicazione ThingworxResourceProvider. Nella scheda General trovare la sezione CLIENT SECRETS alla voce Client Credentials. |