Vorbereitung für Single Sign-On (SSO) > Konfigurationsbeispiel für Okta > App-Integration für ThingWorx in Okta erstellen
  
App-Integration für ThingWorx in Okta erstellen
SAML
1. Melden Sie sich bei der Okta Admin Console an.
* 
Sie müssen Administrator sein.
2. Navigieren Sie zu Applications > Applications. Klicken Sie dann auf Create App Integration.
3. Wählen Sie im Fenster Create a new application integrationSAML 2.0 für Sign-in method aus, und klicken Sie anschließend auf Next:
4. Geben Sie auf der Registerkarte General Settings auf der Seite Create SAML Integration die folgenden Informationen ein, und klicken Sie anschließend auf Next:
App name – Geben Sie der App einen Namen (z.B. ThingworxSAML).
App logo – Fügen Sie ein Logo für die App hinzu (optional).
App visibility – Wählen Sie aus, ob Benutzern das Anwendungssymbol angezeigt werden soll.
5. Geben Sie auf der Registerkarte Configure SAML die folgenden Informationen ein bzw. wählen Sie sie aus:
Single Sign On URL – Geben Sie http://<ThingWorx FQDN>:<Port>/Thingworx/saml/SSO ein.
* 
Lassen Sie das Kontrollkästchen Use this for Recipient URL and Destination URL aktiviert.
Audience URI (SP Entry ID) – Geben Sie ThingWorxSP ein.
Default RelayState – Lassen Sie dieses Feld leer.
Name ID format – Wählen Sie Unspecified aus.
Application username – Wählen Sie Okta username aus.
Update application username on – Wählen Sie Create and update aus.
6. Blättern Sie auf der Registerkarte Configure SAML nach unten zu ATTRIBUTE STATEMENTS.
7. Geben Sie user.firstName in das Feld Name ein, lassen Unspecified für Name format unverändert, und wählen Sie user.firstName für Value aus. Klicken Sie auf Add Another.
8. Geben Sie in den Feldern für den neuen Satz von Attributanweisungen user.email im Feld Name ein, lassen Sie Unspecified für Name format unverändert, und wählen Sie user.email für Value aus.
9. Geben Sie unter Group Attribute Statements (optional)role in das Feld Name ein, lassen Sie Unspecified für Name format unverändert, und geben Sie gr für Starts with ein.
10. Klicken Sie auf Next. Klicken Sie auf der Registerkarte Feedback auf Finish.
11. Ihre App-Integration wird erstellt, und Sie werden zur Registerkarte Sign On der neuen Anwendung weitergeleitet.
12. Klicken Sie auf der Registerkarte Sign On unter Metadata URL auf Copy, und fügen Sie die Metadaten-URL auf einer neuen Browser-Registerkarte ein. Wenn der Inhalt der Datei angezeigt wird, klicken Sie mit der rechten Maustaste auf die Seite, und wählen Sie je nach verwendetem Browser Save As oder Save Page As aus. Bei Verwendung von Chrome oder Edge wird die Datei als XML-Datei heruntergeladen.
* 
Durch einfaches Kopieren und Einfügen der Ausgabe können Formatierungsprobleme auftreten. Verwenden Sie daher Save As.
13. Navigieren Sie zum Ordner ThingworxPlatform auf Ihrem System, öffnen Sie die Datei platform-settings.json, und stellen Sie sicher, dass die nachfolgenden Angaben gemacht wurden.
14. Öffnen Sie im selben ThingworxPlatform Ordner auf Ihrem System den Ordner ssoSecurityConfig und öffnen Sie anschließend die Datei sso-settings.json. Stellen Sie sicher, dass die folgenden Konfigurationen unter BasicSettings vorgenommen wurden:
* 
Weitere Informationen zum Ordner ssoSecurityConfig folder und der Datei sso-settings.json finden Sie unter Verzeichnis "ssoSecurityConfig" erstellen und Datei "sso-settings.json" konfigurieren im ThingWorx Hilfe-Center.
idpMetadataFilePath – Geben Sie den Pfad zu der Datei metadata_okta.xml an, die Sie in Schritt 11 kopiert haben.
metadataEntityId – Geben Sie den Wert für das Feld Audience Restriction (wie in Schritt 4 gezeigt) aus dem Abschnitt SAML Settings auf der Registerkarte General der Anwendung in Okta ein.
samlAssertionUserNameAttributeName – Geben Sie den user.email-Namen aus der Attributanweisung, die Sie (in Schritt 8) erstellt haben, ein.
15. Stellen Sie, während Sie sich noch in der Datei sso-settings.json befinden, sicher, dass der Parameter enabled unter ApplicationKeySettings auf true festgelegt ist.
16. Führen Sie als Nächstes in der Datei sso-settings.json einen Bildlauf zu KeyManagerSettings durch, und stellen Sie sicher, dass Folgendes angegeben ist:
17. Speichern und schließen Sie die Datei sso-settings.json.
18. Starten Sie ThingWorx neu.
19. Verifizieren Sie, dass die Okta-Authentifizierung ordnungsgemäß konfiguriert wurde, indem Sie die entsprechenden Anmeldeinformationen verwenden, um sich bei ThingWorx Composer als Administrator anzumelden.
20. Navigieren Sie nach erfolgreicher Anmeldung zur Registerkarte Konfiguration im ThingworxSSOAuthenticator und geben Sie role unter Gruppen für das Gruppenattribut, das Sie in Schritt 9 erstellt haben, ein.
* 
Schlägt der Anmeldeversuch mit dem Fehler 403 App Not Assigned fehl, weisen Sie die Benutzer der ThingWorx Anwendung in Okta zu, und versuchen Sie erneut, sich anzumelden.
OAuth 2.0
1. Melden Sie sich bei der Okta Admin Console an.
2. Navigieren Sie zu Applications > Applications.
3. Wählen Sie im Fenster Create App IntegrationOIDC – OpenID Connect aus. Sobald Sie diese Option ausgewählt haben, wird der Abschnitt Application type angezeigt. Wählen Sie Web Application aus, und klicken Sie auf Next.
4. Geben Sie unter General Settings die folgenden Informationen ein, und klicken Sie dann auf Save.
App name – Geben Sie der App einen Namen (z.B. ThingworxResourceProvider).
Logo – Fügen Sie ein Logo für die App hinzu (optional).
Proof of possession – Wählen Sie aus, ob der DPoP-Header (Demonstrating Proof of Possession) in Token-Anforderungen erforderlich sein soll.
Grant type – Standardmäßig ist das Kontrollkästchen Authorization Code unter Client acting on behalf of a user aktiviert.
Sign-in redirect URIs – Geben Sie die Umleitungs-URI für die Anmeldung ein. Beispiel: http://localhost:8515/Thingworx/oauth2_authorization_code_redirect
Assignments – Wählen Sie Skip group assignments for now aus.
5. Navigieren Sie als Nächstes zu Security > API. Klicken Sie auf der Registerkarte Authorization Servers auf default.
6. Klicken Sie auf der Registerkarte Scopes auf Add Scope. Nennen Sie den Bereich THINGWORX, und klicken Sie anschließend auf Create.
7. Stellen Sie sicher, dass ThingWorx als Ressourcenserver konfiguriert wurde, bevor Sie fortfahren. Weitere Informationen finden Sie unter ThingWorx als Ressourcenserver konfigurieren im ThingWorx Hilfe-Center.
8. Navigieren Sie zum Ordner ThingworxPlatform auf Ihrem System, und öffnen Sie die Datei resourceServerSettings.json. Geben Sie die folgenden Werte an:
Attribut
Wert
userAuthenticationConverterUserNameAttribute
sub
Dieser Wert ist der Name des Anspruchs, der auf dem default-Autorisierungsserver in Okta erstellt wird. Sie können diesen Wert abrufen, indem Sie zu Security > API > Authorization Servers > default > Claims navigieren.
oathTokenEndPoint
Dieser Wert entspricht dem Wert für token_endpoint in der Metadaten-URL. Sie können diesen Wert finden, indem Sie die Okta Admin Console öffnen und zu Security > API > Authorization Servers > default > Settings navigieren. Klicken Sie auf den Metadata URI, und suchen Sie nach dem Wert token_endpoint. Der Wert sollte dem folgenden Wert ähneln.
https://<unique_server_name>.okta.com/oauth2/default/v1/token
checkTokenEndpointUrl
Dieser Wert entspricht dem Wert für introspection_endpoint in der Metadaten-URL. Sie können diesen Wert finden, indem Sie die Okta Admin Console öffnen und zu Security > API > Authorization Servers > default > Settings navigieren. Klicken Sie auf den Metadata URI, und suchen Sie nach dem Wert introspection_endpoint. Der Wert sollte dem folgenden Wert ähneln.
https://<unique_server_name>.okta.com/oauth2/default/v1/introspect
clientId
Dies entspricht dem Wert für das Feld Client ID für die Anwendung ThingworxResourceProvider in Okta.
Öffnen Sie, um diesen Wert abzurufen, die Okta Admin Console und navigieren Sie im linken Navigationsbereich zu Applications > Applications. Klicken Sie auf die Anwendung ThingworxResourceProvider. Suchen Sie auf der Registerkarte General unter Client Credentials nach dem Feld Client ID.
clientSecret
Dies entspricht dem Wert für das Feld Client secret für die Anwendung ThingworxResourceProvider in Okta.
Sie können diesen Wert finden, indem Sie die Okta Admin Console öffnen und im linken Navigationsbereich auf Applications klicken. Klicken Sie auf die Anwendung ThingworxResourceProvider. Suchen Sie auf der Registerkarte General unter Client Credentials nach dem Abschnitt CLIENT SECRETS.
9. Rufen Sie ein OAuth-Zugriffstoken mit Postman ab. Weitere Informationen finden Sie unter OAuth-Zugriffstoken für den ThingWorx Administrator unter Verwendung von Postman erwerben.
10. Als Nächstes erstellen wir eine App-Integration für Experience Service.