Zum Inhalt springen

Salesforce JWT OAuth-Verbindungshandbuch für Jitterbit App Builder

Hinweis

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.

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 Kryptographie und sichere Kommunikation. Sie können es kostenlos herunterladen: https://www.openssl.org/

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

  2. Nachdem OpenSSL installiert wurde, erstellen Sie ein X509-Zertifikat und einen Schlüssel

    • Öffnen Sie ein Terminal oder eine Befehlszeile, führen Sie OpenSSL aus und führen Sie dann 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 eingeben, aber der allgemeine Name ist obligatorisch.

    Beispiel einer Administrator-Eingabeaufforderung

  3. Nach dem Ausführen des obigen Befehls sollten Sie zwei erstellte Dateien vorfinden

    Beispiel der generierten Dateien

Hinweis

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

Konfiguration in Salesforce

Da wir nun unser Zertifikat haben, müssen wir in Salesforce eine verbundene App 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 zur einfachen Identifizierung, aber das kann alles sein, was Sie wünschen
    • API Name - Lassen Sie Salesforce dies basierend auf dem Namen 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 (Vollzugriff)“ 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 „Kundendetails verwalten“. Nach Abschluss einer Sicherheitsabfrage sollte eine neue Seite geöffnet werden, die die Client-ID und das Client-Geheimnis für die App enthält. Notieren Sie sich diese, da wir sie später benötigen werden.
  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, sollten Sie unten einen Abschnitt „Profile“ sehen. 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 nun die App in Salesforce erstellt und unser Zertifikat hochgeladen haben, müssen wir die Schlüsseldatei auf dem App-Server ablegen, der App Builder läuft, um zu ermöglichen, App Builder um darauf zuzugreifen.

  1. Auf der Anwendung oder App Builder Server, erstellen oder verwenden Sie einen vorhandenen Ordner, um das Zertifikat und die Schlüsseldatei zu platzieren, die wir zuvor generiert haben. Dieses Beispiel zeigt einen erstellten Ordner mit dem Namen JWT.

    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, der App Builder wird eingesetzt in.

    JWT_properties.png

  3. Damit ist die Konfiguration auf dem Anwendungsserver abgeschlossen

Konfiguration in App Builder

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

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

  1. Gehen Sie zu 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 unbedingt 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 Aktenkoffersymbol Erweiterte Einstellungen

  7. Klicken Sie dann auf Bearbeiten und erweitern Sie den Abschnitt Erweitert

    serveradvanced.png

  8. Konfigurieren Sie die folgenden Einstellungen:

    • AuthScheme - OAuthJWT
    • OAuthJWTCertType - PEMKEY_FILE
    • OAuthJWTCert - Der Speicherort der Schlüsseldatei, die wir zuvor erstellt haben, sollte sich irgendwo 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

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

    advancedsettings.png

  9. Nachdem nun alles konfiguriert ist, scrollen Sie nach unten und testen Sie die Verbindung. Wenn alles richtig konfiguriert wurde, erhalten Sie eine Erfolg-Meldung.

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