Zum Inhalt springen

Salesforce JWT OAuth-Verbindungsanleitung für Jitterbit App Builder

Hinweis

Diese Verbindungsanleitung ist der empfohlene Prozess für die Authentifizierung mit Servicekonten zwischen App Builder und Salesforce. Siehe den Artikel Sicherheitsanbieter - Salesforce / OpenID Connect, wenn du die Authentifizierung auf Benutzerebene konfigurieren möchtest.

Voraussetzungen

  • Du musst ein Salesforce-Konto mit mindestens 1 aktiver Salesforce-Benutzerlizenz und einer Sandbox-Umgebung haben, um eine Verbindung herzustellen.

Einschränkungen

  • Du kannst nur eine Salesforce JWT-Verbindung pro App Builder-Instanz haben.

Erstellen eines Zertifikats

Salesforce akzeptiert nur RSA SHA256 signierte JWTs, daher benötigst du ein x509-Zertifikat und den zugehörigen privaten Schlüssel.

  1. Lade OpenSSL herunter und installiere es

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

    • Du kannst auch Git installieren, da es OpenSSL im Hintergrund installiert hat: https://git-scm.com/

  2. Nachdem OpenSSL installiert ist, fahre fort, ein X509-Zertifikat und einen Schlüssel zu erstellen

    • Öffne ein Terminal oder die Eingabeaufforderung, führe OpenSSL aus und führe dann den folgenden Befehl aus, um eine Zertifikats- und Schlüsseldatei zu erstellen:

      req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myKey.key -out myCertificate.crt
      
    • Du wirst aufgefordert, Details wie Land, allgemeinen Namen oder Email-Adresse auszufüllen. Du musst nicht alle Informationen ausfüllen, aber der allgemeine Name ist obligatorisch.

    Beispiel für die Eingabeaufforderung des Administrators

  3. Nach dem Ausführen des obigen Befehls solltest du zwei erstellte Dateien finden

    Beispiel der generierten Dateien

Hinweis

Stelle sicher, dass du die Zertifikats- und Schlüsseldateien an einem leicht zugänglichen Ort notierst oder kopierst

Konfiguration in Salesforce

Jetzt, da wir unser Zertifikat haben, müssen wir eine verbundene App in Salesforce erstellen.

Erstellen einer benutzerdefinierten OAuth-App

  1. Melden Sie sich bei Salesforce.com oder Ihrer Salesforce-Sandbox-Umgebung an.
  2. Gehen Sie von der Startseite zu Platform 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, wie z. B. App Builder Integration, um ihn leicht identifizieren zu können, aber dies kann beliebig sein.
    • 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, und dann erscheinen die folgenden Einstellungen.
    • Callback-URL - sfdc://oauth/jwt/success
    • Digitale Signaturen verwenden - Aktivieren Sie dieses Kontrollkästchen und laden Sie die zuvor erstellte Datei myCertificate.crt hoch.
    • Ausgewählte OAuth-Berechtigungen - Wählen Sie "Benutzerdaten über APIs verwalten (api)", "Vollzugriff (full)" und "Anfragen jederzeit durchführen (refresh_token, offline_access)".
  4. Klicken Sie auf Speichern und dann auf Weiter.
  5. Jetzt, da die verbundene App erstellt wurde, müssen wir die Client-ID und das Client-Geheimnis für diese App notieren.
  6. Klicken Sie auf der Hauptseite der verbundenen App auf die Schaltfläche mit der Bezeichnung "Verbraucherdetails verwalten". Dies sollte eine neue Seite öffnen, nachdem eine Sicherheitsaufforderung abgeschlossen wurde, die die Client-ID und das Client-Geheimnis für die App enthält. Notieren Sie dies, da wir es 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 auf die Schaltfläche "Verwalten" oben auf dem Bildschirm, und klicken Sie dann auf der nächsten Seite auf die Schaltfläche "Richtlinien bearbeiten".
  9. Ändern Sie im Abschnitt OAuth-Richtlinien das Dropdown-Menü Erlaubte Benutzer von "Alle Benutzer dürfen sich selbst autorisieren" auf "Von Admin genehmigte Benutzer sind vorab autorisiert".
  10. Klicken Sie auf Speichern.
  11. Nachdem die Seite aktualisiert wurde, sollten Sie unten einen Abschnitt mit der Bezeichnung "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 Abschnitt zur Konfiguration von Salesforce abgeschlossen.

Konfiguration auf dem Anwendungsserver

Nachdem wir die App in Salesforce erstellt und unser Zertifikat hochgeladen haben, müssen wir die Schlüsseldatei auf dem Anwendungsserver platzieren, auf dem App Builder läuft, um App Builder den Zugriff zu ermöglichen.

  1. Erstellen Sie auf dem Anwendungs- oder App Builder-Server einen neuen Ordner oder verwenden Sie einen vorhandenen Ordner, um das zuvor generierte Zertifikat und die Schlüsseldatei abzulegen. 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 Registerkarte Sicherheit. Stellen Sie sicher, dass dieser Ordner vollständige Kontrolle für den Anwendungspool hat, in dem App Builder bereitgestellt ist.

    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 die App in Salesforce erstellt und unser Zertifikat hochgeladen haben, können wir fortfahren, die Salesforce-Datenquelle in App Builder zu erstellen.

  1. Gehen Sie zum 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. Setzen Sie den Typ auf Salesforce ADO.NET
  5. Klicken Sie auf Speichern. Stellen Sie sicher, dass Sie das Kontrollkästchen Sandbox aktivieren, wenn Sie eine Sandbox-Instanz verbinden.

    JWT_server.png

  6. Nachdem die Datenquelle gespeichert wurde, klicken Sie auf das Aktentaschen-Symbol für 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 - Speicherort der Schlüsseldatei, die wir zuvor erstellt haben, sollte sich in einem Ordner befinden. Zum 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, mit dem wir uns authentifizieren.

    Hinweis

    Geben Sie jede Einstellung im erweiterten Feld in einer Zeile ohne Leerzeichen ein und trennen Sie jede Einstellung mit einem Semikolon (;). Hier ist ein Beispiel:

    advancedsettings.png

  9. Jetzt, da alles konfiguriert ist, scrollen Sie nach unten und testen Sie die Verbindung. Wenn alles korrekt konfiguriert wurde, erhalten Sie eine Erfolgs-Nachricht.

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