3-beinige OAuth 2.0-Komponente¶
Übersicht¶
Um 3LO in einem Connector zu unterstützen, ist die Komponente 3-legged OAuth 2.0 (3LO) erforderlich. Sie ermöglicht die Verwendung der 3LO-Authentifizierung mit Anwendungen (Cloud und privat) in Harmony registriert. Weitere Informationen zu 3LO finden Sie unter Connector 3-legged OAuth 2.0.
Die 3LO-Komponente ist für die Konfiguration von Connector-Endpoint vorgesehen und muss dem endpoint
in der Datei adapter.json nur. Wenn die 3LO-Komponente implementiert ist, wird sie folgendermaßen angezeigt, wenn die zugehörigen Elemente sichtbar sind:
Wichtig
Bei Verwendung eines privaten Agenten erfordern 3LO-fähige Konnektoren Agentenversion 10.83 / 11.21 oder höher.
Komponentenfunktionen¶
Die 3LO-Komponente enthält Definitionen für Authentifizierungstypen und eine Anmeldeschaltfläche:
-
Dropdown-Liste „Authentifizierungstyp“: Benutzer wählen aus einer Liste von vom Entwickler definierten Authentifizierungstypen aus. Mindestens ein
enumValues
Definition mit1
als seinerealValue
ist erforderlich.1
stellt immer eine 3LO-Authentifizierung dar. -
Dropdown-Menü für OAuth-Anwendungen: Benutzer wählen aus einer Liste verknüpfter Cloud-Anwendungen und privater Anwendungen aus, die von Integration Studio generiert wurden. Dieses UI-Element wird in Integration Studio angezeigt, wenn dem 3LO-fähigen Connector eine private Anwendung zugeordnet ist. Dies ist das Dropdown-Menü, wenn es sichtbar und erweitert ist:
Wichtig
Private Anwendungen können in der Management Console App-Registrierungen frei definiert und geändert werden Seite. Jitterbit-Partner können möglicherweise Cloud-Anwendungen konfigurieren, indem Sie direkt mit Jitterbit arbeiten.
-
Anmelden-Schaltfläche: Benutzer klicken, um sich bei einem OAuth-Anbieter eines Drittpartei zu authentifizieren.
Komponenten-JSON¶
Die 3LO-Komponente wird implementiert, indem zwei Eigenschaften zur endpoint
in der Datei adapter.json. Beides ist erforderlich, damit 3LO wie erwartet mit einem Connector funktioniert.
{
"name": "3lo_auth_type", // Required
"displayName": "{{Wird ersetzt}}", // Authentication Type dropdown name
"enumValues": [
{
"enumValue": "3LO",
"realValue": "1" // Required
}
]
}
{
"name": "oauth_login", // Required
"displayName": "Log in with {{Wird ersetzt}}", // Login button name
"widgetHint": "component:oauth-login", // Required
}
Tipp
Wenn 3LO der einzige für den Connector geplante Authentifizierungstyp ist, können Sie das Dropdown-Menü in der Benutzeroberfläche ausblenden mit hidden
solange defaultValue
Ist 1
:
{
"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 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) muss mit dem 3LO-fähigen Connector verknüpft sein.
Private Anwendungen können in der Management Console App-Registrierungen frei definiert und geändert werden Seite. Jitterbit-Partner können möglicherweise Cloud-Anwendungen konfigurieren, indem Sie direkt mit Jitterbit arbeiten.
Komponentenwerte¶
Während der Connector-Konfiguration und zur Laufzeit fügt der Agent automatisch access_token
als Teil der props
(Eigenschaften)-Parameter zu Connector-SDK-Methoden.
Beispielsweise in der ConnectionFactory
, Die access_token
Eigentum wird Teil von props
im createConnection
Methode:
@Override
public Connection createConnection(Map<String, String> props) {
// The props parameter contains "access_token" as a key-value pair.
}
Ausnahmebehandlung¶
3LO-fähige Anschlüsse müssen ein ConnectionException
Ausnahme, wenn der HTTP-Aufruf mit access_token
gibt einen Nicht autorisierten Statuscode zurück (HttpStatusCode 401
).
Die Ausnahme führt dazu, dass der Agent die access_token
Wert und führen Sie einen Wiederholungsprozess zwischen dem Agenten und dem Connector aus. Beispiel:
Wichtig
Konnektoren sollten nicht manuell die access_token
Aktualisierungsprozess, da dieser bereits vom Agenten übernommen wird.
public void exampleMethod() throws Connection.ConnectionException {
try {
// Method implementation...
} catch (Exception ex) {
throw new Connection.ConnectionException(Param1, Param2, Param3);
}
}
Konfiguration der App-Registrierung¶
Nachdem der 3LO-fähige Connector bereitgestellt wurde, wird er zu einer Connector-Dropdown-Option in der Management Console App-Registrierungen.
Voraussetzungen¶
Bevor Sie eine Anwendung mit dem 3LO-fähigen Connector konfigurieren, müssen die folgenden Voraussetzungen erfüllt sein:
- Wenn Sie einen Privater Agent verwenden, installieren Sie den 3LO-fähigen Connector auf dem Agenten.
- Erstellen Sie die OAuth-Anwendung beim entsprechenden Drittpartei-OAuth-Anbieter. Dadurch erhalten Sie die für die nächsten Schritte erforderlichen Informationen, z. B. die Werte Client-ID und Client Secret. Wenn Sie beispielsweise einen Jira Connector entwickeln, müssen Sie zuerst eine zugehörige OAuth-App im Atlassian-Portal erstellen.
Konfiguration¶
Weitere Informationen finden Sie in unserer Dokumentation zur Management Console App-Registrierungen Seite, um dort die relevanten Informationen für eine neue private Anwendung bereitzustellen, einschließlich aller relevanten Erweiterten Optionen basierend auf den Anforderungen oder Einstellungen des ausgewählten Drittpartei.