Zum Inhalt springen

Salesforce JWT OAuth-Verbindungshandbuch für Jitterbit App Builder

Notiz

Diese Verbindungsanleitung ist der empfohlene Prozess für die Service-Account-Authentifizierung zwischen App Builder und Salesforce. Siehe Sicherheitsanbieter - Salesforce / OpenID Connect Artikel, wenn Sie die Kontoauthentifizierung auf Benutzerebene konfigurieren möchten.

Voraussetzungen

  • Sie müssen über ein Salesforce Konto mit mindestens einer aktiven Salesforce Benutzerlizenz und einer Sandbox Umfeld verfügen, mit der Sie eine Verbindung herstellen können.

Einschränkungen

  • Sie können nur eine Salesforce JWT-Verbindung pro App Builder Instanz haben.

Erstellen eines Zertifikats

Salesforce akzeptiert nur mit RSA SHA256 signierte JWTs, Sie benötigen also ein x509-Zertifikat und den zugehörigen privaten Schlüssel.

  1. Laden Sie OpenSSL herunter und installieren Sie es

    • OpenSSL ist ein voll funktionsfähiges Tool für Kryptografie und sichere Kommunikation. Sie können es kostenlos herunterladen: https://www.openssl.org/

    • Sie können auch Git installieren, da OpenSSL bereits vorinstalliert ist: https://git-scm.com/

  2. Erstellen Sie nach der Installation von OpenSSL ein X509-Zertifikat und einen Schlüssel.

    • Öffnen Sie ein Terminal oder eine Befehlszeile, führen Sie OpenSSL aus und führen Sie anschließend den folgenden Befehl aus, um ein Zertifikat und eine Schlüsseldatei zu erstellen:

      req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myKey.key -out myCertificate.crt
      
    • Sie werden aufgefordert, Angaben wie Land, allgemeiner Name oder Email-Adresse einzugeben. Sie müssen nicht alle Informationen ausfüllen, der allgemeine Name ist jedoch obligatorisch.

    Beispiel einer Administrator-Eingabeaufforderung

  3. Nach Ausführung des obigen Befehls sollten Sie zwei erstellte Dateien finden:

    Beispiel der generierten Dateien

Hinweis

Notieren oder kopieren Sie die Zertifikats- und Schlüsseldateien an einen leicht zugänglichen Ort.

Konfiguration in Salesforce

Da wir nun unser Zertifikat haben, müssen wir eine verbundene App in Salesforce erstellen.

Erstellen einer benutzerdefinierten OAuth-App

  1. Melden Sie sich bei Salesforce oder Ihrer Salesforce-Sandbox Umfeld an
  2. Gehen Sie auf der Startseite zu Plattform-Tools > Apps > App-Manager
  3. Klicken Sie auf die Schaltfläche Neue verbundene App und geben Sie Folgendes ein:
    • Name der verbundenen App - Der Name sollte den Namen des Systems und der Integration enthalten, z. B. * App Builder Integration*, um es leicht zu identifizieren, aber dies kann beliebig sein
    • API -Name - Salesforce kann dies anhand des Namens der verbundenen App ausfüllen.
    • Kontakt Email - Jede gewünschte Email
    • OAuth-Einstellungen aktivieren - Aktivieren Sie dieses Kontrollkästchen. Anschließend werden die folgenden Einstellungen angezeigt
    • Rückruf URL - sfdc://oauth/jwt/success
    • Digitale Signaturen verwenden - Aktivieren Sie dieses Kontrollkästchen und laden Sie dann die zuvor erstellte Datei myCertificate.crt hoch
    • Ausgewählte OAuth-Bereiche - Wählen Sie „Benutzerdaten über APIs verwalten (API)“, „Vollzugriff (voll)“ und „Anfragen jederzeit ausführen (Refresh_Token, Offline-Zugriff)“
  4. Klicken Sie auf Speichern und dann auf Weiter
  5. Nachdem die verbundene App erstellt wurde, müssen wir die Client-ID und das Client-Geheimnis für diese App kopieren
  6. Klicken Sie auf der Hauptseite der verbundenen App auf die Schaltfläche „Kundendaten verwalten“. Nach einer Sicherheitsabfrage sollte sich eine neue Seite öffnen, die die Client-ID und das Client-Geheimnis der App enthält. Notieren Sie sich diese Informationen, da wir sie später benötigen.
  7. Als nächstes müssen wir die Einstellungen der verbundenen App anpassen, um unseren Benutzer vorab zu genehmigen
  8. Klicken Sie auf der Seite der verbundenen App oben auf dem Bildschirm auf die Schaltfläche „Verwalten“ und dann auf der nächsten Seite auf die Schaltfläche „Richtlinien bearbeiten“.
  9. Im Abschnitt OAuth-Richtlinien wurde das Dropdown-Menü Zugelassene Benutzer von „Alle Benutzer dürfen sich selbst autorisieren“ in „Vom Administrator genehmigte Benutzer sind vorab autorisiert“ geändert.
  10. Klicken Sie auf Speichern
  11. Sobald die Seite aktualisiert ist, sollte unten der Bereich „Profile“ angezeigt werden. Klicken Sie auf die Schaltfläche „Profile verwalten“.
  12. Fügen Sie das Profil hinzu, mit dem Sie sich verbinden. In diesem Beispiel verwenden wir das Profil Systemadministrator
  13. Klicken Sie auf Speichern
  14. Damit ist der Salesforce Konfigurationsabschnitt abgeschlossen

Konfiguration auf dem App-Server

Nachdem wir die App in Salesforce erstellt und unser Zertifikat darauf hochgeladen haben, müssen wir die Schlüsseldatei auf dem App-Server platzieren, auf dem App Builder ausgeführt wird, damit App Builder darauf zugreifen kann.

  1. Erstellen oder verwenden Sie auf dem Anwendungs- oder App Builder Server einen vorhandenen Ordner, um das zuvor generierte Zertifikat und die Schlüsseldatei zu speichern. In diesem Beispiel wird ein Ordner mit dem Namen JWT erstellt.

    JWT_folder.png

  2. Klicken Sie mit der rechten Maustaste auf den Ordner, in dem sich diese Dateien befinden, und klicken Sie auf Eigenschaften und dann auf die Tab Sicherheit. Stellen Sie sicher, dass dieser Ordner die volle Kontrolle über den Anwendungspool hat, in dem App Builder bereitgestellt wird.

    JWT_properties.png

  3. Damit ist die Konfiguration auf dem Anwendungsserver abgeschlossen.

Konfiguration im App Builder

Erstellen Sie die Salesforce ADO.NET-Datenquelle im App Builder

Nachdem wir die App in Salesforce erstellt und unser Zertifikat hochgeladen haben, können wir mit der Erstellung der Salesforce Datenquelle im App Builder fortfahren.

  1. Gehen Sie zur App Builder IDE und klicken Sie auf Datenserver
  2. Klicken Sie auf die Schaltfläche + Server, um eine neue Datenquelle hinzuzufügen
  3. Weisen Sie einen Servernamen zu
  4. Legen Sie den Typ als Salesforce ADO.NET fest
  5. Klicken Sie auf Speichern. Aktivieren Sie das Kontrollkästchen Sandbox, wenn Sie eine Verbindung zu einer Sandbox-Instanz herstellen.

    JWT_server.png

  6. Nachdem die Datenquelle gespeichert wurde, klicken Sie auf das Aktenkoffer-Symbol „Erweiterte Einstellungen“.

  7. Klicken Sie anschließend auf „Bearbeiten“ und erweitern Sie den Bereich „Erweitert“.

    serveradvanced.png

  8. Konfigurieren Sie die folgenden Einstellungen:

    • AuthScheme - OAuthJWT
    • OAuthJWTCertType - PEMKEY_FILE
    • OAuthJWTCert - Der Speicherort der zuvor erstellten Schlüsseldatei sollte sich in einem Ordner befinden. Beispiel: C:\JWT\myKey.key
    • OAuthJWTIssuer - Dies ist der Client-ID-Wert, den wir zuvor von Salesforce erhalten haben.
    • OAuthJWTSubject - Dies sollte Ihre Salesforce Email oder die Email des Salesforce Benutzers sein, als der wir uns authentifizieren.

    Hinweis

    Geben Sie die Einstellungen im Feld „Erweitert“ in einer Zeile ohne Leerzeichen ein und trennen Sie die Einstellungen durch ein Semikolon. (;). Hier ist ein Beispiel:

    advancedsettings.png

  9. Nachdem alles konfiguriert ist, scrollen Sie nach unten und testen Sie die Verbindung. Wenn alles korrekt konfiguriert wurde, erhalten Sie eine Erfolgsmeldung.

  10. Sie können jetzt Tabellen importieren und auf Daten aus Salesforce zugreifen