Zum Inhalt springen

3-beiniger OAuth 2.0-Komponente des Jitterbit Connector SDK

Übersicht

Die 3-beinige OAuth 2.0 (3LO) Komponente ist erforderlich, um 3LO in einem Connector zu unterstützen. Sie ermöglicht die Verwendung von 3LO-Authentifizierung mit Anwendungen (Cloud und privat), die in Harmony registriert sind. Weitere Informationen zu 3LO finden Sie unter Connector 3-legged OAuth 2.0.

Die 3LO-Komponente ist für die Konfiguration des Connector-Endpunkts konzipiert und muss nur zum endpoint in der adapter.json hinzugefügt werden. Wenn sie implementiert ist, erscheint die 3LO-Komponente so, wenn die zugehörigen Elemente sichtbar sind:

3LO Auth Komponente

Wichtig

Bei Verwendung eines privaten Agents erfordern 3LO-fähige Connectoren die Agent-Version 10.83 / 11.21 oder höher.

Komponentenmerkmale

Die 3LO-Komponente umfasst Definitionen für Authentifizierungstypen und einen Anmelde-Button:

  • Dropdown für Authentifizierungstyp: Benutzer wählen aus einer Liste von vom Entwickler definierten Authentifizierungstypen. Mindestens eine enumValues-Definition mit 1 als realValue ist erforderlich. 1 wird immer die 3LO-Authentifizierung darstellen.

    3LO Typ Dropdown

  • Dropdown für OAuth-Anwendung: Benutzer wählen aus einer Liste von zugehörigen Cloud-Anwendungen und Privaten Anwendungen, die vom Integration Studio generiert wurden. Dieses UI-Element wird im Integration Studio angezeigt, wenn eine private Anwendung mit dem 3LO-fähigen Connector verknüpft ist. So sieht das Dropdown aus, wenn es sichtbar und erweitert ist:

    3LO App Dropdown

    Wichtig

    Private Anwendungen können im Management Console App Registrierungen Seite frei definiert und modifiziert werden. Jitterbit-Partner können möglicherweise Cloud-Anwendungen konfigurieren, indem sie direkt mit Jitterbit zusammenarbeiten.

  • Login-Button: Benutzer klicken, um sich bei einem Drittanbieter-OAuth-Anbieter zu authentifizieren.

    3LO Login-Button

Komponentens JSON

Die 3LO-Komponente wird implementiert, indem zwei Eigenschaften zum endpoint in der adapter.json hinzugefügt werden. Beide sind erforderlich, damit 3LO wie erwartet mit einem Connector funktioniert.

3LO Aktivierung und erforderlicher Authentifizierungstyp
{
    "name": "3lo_auth_type", // Required
    "displayName": "{{To Be Replaced}}", // Authentication Type dropdown name
    "enumValues": [
        {
            "enumValue": "3LO",
            "realValue": "1" // Required
        }
    ]
}
3LO Login-Button
{
    "name": "oauth_login", // Required
    "displayName": "Log in with {{To Be Replaced}}", // Login button name
    "widgetHint": "component:oauth-login", // Required
}

Tipp

Wenn 3LO der einzige geplante Authentifizierungstyp für den Connector ist, können Sie das Dropdown im UI mit hidden ausblenden, solange defaultValue 1 ist:

{
    "name": "3lo_auth_type",
    "hidden": true,
    "displayName": "Authentication Type",
    "enumValues": [
        {
            "enumValue": "3LO",
            "realValue": "1"
        }
    ],
    "defaultValue": "1"
}

Um zusätzliche Authentifizierungstypen über 3LO hinaus zu definieren, geben Sie diese als zusätzliche enumValues-Definitionen an, beginnend mit 2 für realValue:

{
    "name": "3lo_auth_type",
    "displayName": "Authentication Type",
    "enumValues": [
        {
            "enumValue": "Token-based Auth",
            "realValue": "2"
        },
        {
            "enumValue": "3LO",
            "realValue": "1"
        }
    ],
    "defaultValue": "2"
}

Wichtig

Damit ein 3LO-fähiger Connector wie erwartet funktioniert, muss eine Anwendung (Cloud oder privat) mit dem 3LO-fähigen Connector verknüpft sein.

Private Anwendungen können im Management Console App Registrierungen Seite frei definiert und modifiziert werden. Jitterbit-Partner können möglicherweise Cloud-Anwendungen konfigurieren, indem sie direkt mit Jitterbit zusammenarbeiten.

Komponentenwerte

Während der Konfiguration des Connectors und zur Laufzeit wird der Agent automatisch access_token als Teil der props (Eigenschaften) Parameter in die Connector SDK-Methoden einfügen.

Zum Beispiel wird die access_token-Eigenschaft im ConnectionFactory Teil von props in der Methode createConnection sein:

@Override
public Connection createConnection(Map<String, String> props) {
  // The props parameter contains "access_token" as a key-value pair.
}

Ausnahmebehandlung

3LO-fähige Connectoren müssen eine ConnectionException auslösen, wenn der HTTP-Aufruf mit access_token einen Unauthorized Status Code (HttpStatusCode 401) zurückgibt.

Die Ausnahme führt dazu, dass der Agent den Wert von access_token aktualisiert und einen Wiederholungsprozess zwischen dem Agenten und dem Connector ausführt. Zum Beispiel:

Wichtig

Connectoren sollten den Prozess zur Aktualisierung des access_token nicht manuell handhaben, da dies bereits vom Agenten übernommen wird.

public void exampleMethod() throws Connection.ConnectionException {
  try {
    // Method implementation...
  } catch (Exception ex) {
    throw new Connection.ConnectionException(Param1, Param2, Param3);
  }
}

App-Registrierungskonfiguration

Nachdem der 3LO-fähige Connector bereitgestellt wurde, wird er eine Connector Dropdown-Option im Management Console App Registrierungen werden.

Voraussetzungen

Bevor Sie eine Anwendung mit dem 3LO-fähigen Connector konfigurieren, erfüllen Sie bitte diese Voraussetzungen:

  • Wenn Sie einen privaten Agenten verwenden, installieren Sie den 3LO-fähigen Connector auf dem Agenten.
  • Erstellen Sie die OAuth-Anwendung beim entsprechenden Drittanbieter-OAuth-Anbieter. Dies liefert die notwendigen Informationen für die nächsten Schritte, wie die Werte für Client ID und Client Secret. Wenn Sie beispielsweise einen Jira-Connector entwickeln, müssten Sie zuerst eine zugehörige OAuth-App im Atlassian Portal erstellen.

Konfiguration

Verweisen Sie auf unsere Dokumentation auf der Management Console App Registrierungen Seite, um die relevanten Informationen für eine neue private Anwendung bereitzustellen, einschließlich aller relevanten Erweiterte Optionen basierend auf den Anforderungen oder Einstellungen des gewählten Drittanbieteranbieters.