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:
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 mit1
alsrealValue
ist erforderlich.1
wird immer die 3LO-Authentifizierung darstellen. -
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:
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.
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.
{
"name": "3lo_auth_type", // Required
"displayName": "{{To Be Replaced}}", // Authentication Type dropdown name
"enumValues": [
{
"enumValue": "3LO",
"realValue": "1" // Required
}
]
}
{
"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.