Client-Authentifizierung im Jitterbit App Builder
App Builder kann als OpenID Connect (OIDC)-Autorisierungsserver fungieren. Der Autorisierungsserver ermöglicht Client-Anwendungen, einschließlich anderer Instanzen von App Builder, um Benutzer zu authentifizieren. Der OIDC-Anmeldevorgang erzeugt ein Zugriffstoken, mit dem die Clientanwendung im Namen des Benutzers auf geschützte Ressourcen zugreifen kann. Geschützte Ressourcen umfassen App Builder-gehostete REST- und Webhook-APIs sowie App Builder Connector-Datenquellen.
Protokollunterstützung
Das OIDC-Protokoll wird durch den OpenID Connect Core 1.0-Standard definiert. OIDC ist eine Identitätsschicht, die auf dem Autorisierungsframework OAuth 2.0 aufbaut, das in RFC-6749 definiert ist. Zusammen beschreiben diese Standards:
- Flows - Ein Flow ist ein Prozess, bei dem der Client Identitäts- und Zugriffstoken abruft. Aus diesem Grund werden Flows auch als Grants bezeichnet.
- Endpoints - Jeder Flow umfasst eine oder mehrere HTTP-Anfragen an bekannte URLs.
- Bereiche - Clientanwendungen können einen oder mehrere Bereiche anfordern. Bereiche bestimmen, welche Token ausgegeben werden (Identität, Aktualisierung), was in diesen Token enthalten ist (Ansprüche) und auf welche APIs mit diesen Token zugegriffen werden kann.
- Ansprüche - Wie im Standard beschrieben, ist das Identitätstoken grundsätzlich ein JSON Web Token (JWT). JWTs sind anspruchsbasiert. Der angeforderte Umfang bestimmt, welche Ansprüche im Identitätstoken enthalten sind.
Unterstützte Flows
Der App Builder Der Autorisierungsserver unterstützt die folgenden grundlegenden OAuth 2.0-Abläufe:
- Autorisierungscode. Der Autorisierungscode-Ablauf ermöglicht dem Client, ein Zugriffstoken zu erhalten, das dem Client den Zugriff auf geschützte Ressourcen im Namen des Benutzers ermöglicht. Der Autorisierungscode-Ablauf ist ein interaktiver Ablauf: Ein Benutzer muss anwesend sein, um den Autorisierungscode-Ablauf zu initiieren.
- Client-Anmeldeinformationen. Der Client-Anmeldeinformationen-Ablauf ermöglicht der Client-Anwendung, ein Zugriffstoken in eigenem Namen zu erhalten. Dies ist ein Server-zu-Server-Ablauf, der normalerweise als Dienstkonto ausgeführt wird.
- Aktualisierungstoken. Der Aktualisierungstoken-Ablauf ermöglicht dem Client, ein neues Zugriffstoken anzufordern, sobald das aktuelle Token abgelaufen ist. Dies wird manchmal als „Offline-Zugriff“ bezeichnet. Der Aktualisierungstoken-Ablauf kann in Kombination mit den Abläufen Autorisierungscode oder Client-Anmeldeinformationen verwendet werden. Der Bereich offline_access aktiviert den Aktualisierungstoken-Ablauf (siehe unten).
Wie oben erwähnt, basiert OIDC auf dem Autorisierungsframework OAuth 2.0. OIDC nutzt OAuth 2.0-Flows und verwendet den scope-Parameter, um OIDC-spezifische Funktionen zu aktivieren. Der App Builder Der Autorisierungsserver unterstützt die folgenden OIDC-Flows:
- Autorisierungscode. Wenn der openid-Bereich angegeben ist, ermöglicht der Autorisierungscode-Flow dem Client, einen Benutzer zu authentifizieren, indem er ein zusätzliches Identitätstoken zurückgibt. Zusätzliche Bereiche bestimmen, welche Ansprüche im Token enthalten sind.
- Aktualisierungstoken. Der Aktualisierungstoken-Flow funktioniert in OIDC genauso wie in OAuth 2.0.
Der Autorisierungsserver unterstützt weder die OIDC-Implizit- noch die Hybrid-Flows. Der OAuth 2.0-Client-Anmeldeinformationen-Flow ist kein OIDC-Flow.
Der Autorisierungscode-Flow kann mit oder ohne die Proof Key for Code Exchange (PKCE)-Erweiterung verwendet werden, wie in RFC-7636 definiert.
Unterstützte Endpoints
Der App Builder Der Autorisierungsserver veröffentlicht die folgenden Endpoints:
Endpoint | Standard | Beschreibung |
---|---|---|
/verbinden/autorisieren | RFC-6749 | Gibt einen Autorisierungscode aus. |
/verbinden/token | RFC-6749 | Gibt einen Zugriffstoken aus. |
/verbinden/introspektieren | RFC-7662 | Zugriffstoken-Introspektion. |
/connect/userinfo | OIDC-Kern | Selbstbeobachtung des Identitätstokens. |
/.well-known/openid-configuration | OIDC-Erkennung | OpenID Connect-Anbieterkonfiguration. |
Unterstützte Bereiche
Der App Builder Der Autorisierungsserver unterstützt die folgenden Bereiche:
Bereich | Beschreibung |
---|---|
openid | Gibt ein OIDC-Identitätstoken aus. |
Profil | Schließt Benutzerprofilansprüche in das Identitätstoken ein. |
Schließt Email Adressansprüche in das Identitätstoken ein. | |
Telefon | Schließt Telefonnummernansprüche in das Identitätstoken ein. |
offline_access | Gibt ein Aktualisierungstoken zur Verwendung im Aktualisierungstoken-Flow aus. * Für öffentliche Clients nicht verfügbar |
api | Autorisiert den Zugriff App Builder-gehostetes REST, Webhook und App Builder Connector APIs. |
Unterstützte Ansprüche
Wie oben erwähnt, handelt es sich beim Identitätstoken um ein anspruchsbasiertes JWT-Token. Der Client kann durch Angabe von Bereichen bestimmen, welche Ansprüche im Identitätstoken enthalten sind.
Umfang | Ansprüche |
---|---|
openid | sub |
Profil | Name, Spitzname, Gebietsschema und Zoneninfo |
Email und Email_verifiziert | |
Telefon | Telefonnummer und Telefonnummer_verifiziert |
Eine Beschreibung der einzelnen Ansprüche finden Sie im Abschnitt 5.1 Standardansprüche des OIDC-Standards. Alle oben nicht explizit aufgeführten Standardansprüche werden nicht unterstützt.
Konfiguration
Um den Autorisierungsserver nutzen zu können, App Builder Der Administrator muss zunächst:
- Den Autorisierungsserver aktivieren.
- Eine Client-Anwendung registrieren.
- Die Client-Anwendung konfigurieren.
Aktivieren des Autorisierungsservers
Um den Autorisierungsserver zu aktivieren, melden Sie sich zunächst bei App Builder als Administrator:
- Klicken Sie auf den IDE-Link.
- Klicken Sie auf die Schaltfläche Sicherheitsanbieter.
- Suchen Sie im Bereich Benutzerauthentifizierung den Sicherheitsanbieter Autorisierungsserver und klicken Sie auf das Symbol Details (Chevron).
- Klicken Sie auf die Schaltfläche Bearbeiten.
- Aktivieren Sie die Option Aktiviert.
- Klicken Sie auf die Schaltfläche Speichern.
Registrieren einer Clientanwendung
Jede Client-Anwendung, die Benutzer authentifizieren oder auf geschützte Ressourcen zugreifen soll, muss registriert werden. Um eine Client-Anwendung zu registrieren, melden Sie sich zunächst bei App Builder als Administrator, und befolgen Sie dann diese Schritte:
- Klicken Sie auf den Link IDE.
- Klicken Sie auf die Schaltfläche Benutzerverwaltung.
- Klicken Sie auf die Schaltfläche Clients.
- Klicken Sie auf die Schaltfläche +Client, um eine neue Client-Anwendung zu registrieren.
-
Geben Sie Folgendes ein:
- Name: Ein beschreibender, benutzerfreundlicher Name für die Client-Anwendung.
- Beschreibung: Eine optionale Beschreibung.
- Benutzer: Wählen Sie das Service-Benutzerkonto aus. Erforderlich für den Client-Anmeldeinformationsfluss. Andernfalls leer lassen.
- Authentifizierungsanbieter: Wählen Sie einen Anbieter aus oder lassen Sie das Feld leer.
- Aktiviert: Aktivieren oder deaktivieren Sie die Client-Anwendung.
-
Klicken Sie auf die Schaltfläche Speichern.
-
(Optional) Klicken Sie auf Mehr, dann Erweitert. Das Dialogfeld Erweiterte Einstellungen wird geöffnet. Es enthält zwei Registerkarten:
-
Eigenschaften: Legen Sie bei Bedarf die folgenden Einstellungen fest:
-
PKCE erforderlich: Wenn diese Option ausgewählt ist, muss der Client die PKCE-Erweiterung verwenden. Dies gilt nur für den Autorisierungscode-Flow und ist für öffentliche Clients erforderlich.
-
Öffentlich: Wenn diese Option ausgewählt ist, ist der Client öffentlich und Geheimnisse können nicht sicher gespeichert werden. Wenn diese Option nicht ausgewählt ist, ist der Client vertraulich und kann Geheimnisse sicher speichern.
-
-
Token-Lebensdauer: Geben Sie bei Bedarf Werte für die folgenden Felder ein:
-
Zugriffstoken: Ablaufzeit des Zugriffstokens in Minuten. Standard: 60.
-
Aktualisierungstoken: Ablaufzeit des Aktualisierungstokens in Minuten. Standard: 20160 (14 Tage).
-
Identitätstoken: Ablaufzeit des Identitätstokens in Minuten. Standard: 20.
-
Autorisierungscode: Ablaufzeit des Autorisierungscodes in Minuten. Standard: 5.
-
-
Generieren eines Clientgeheimnisses
Die Client-Anwendung muss beim Anfordern eines Zugriffstokens ihre eigenen Anmeldeinformationen angeben. Die Client-Anmeldeinformationen bestehen aus der Client-ID und einem Client-Geheimnis. Client-Geheimnisse können nur für vertrauliche Clients generiert werden. Das Fenster „Geheimnisse“ wird für öffentliche Clients ausgeblendet.
So generieren Sie ein Client-Geheimnis:
-
Klicken Sie im Fenster „Geheimnisse“ auf die Schaltfläche „+Geheimnis“.
-
Geben Sie Folgendes an:
-
Beschreibung: Optionale Beschreibung des Client-Geheimnisses.
-
Läuft ab am: Wenn das Geheimnis ablaufen soll, legen Sie das Ablaufdatum und die Ablaufzeit fest. Andernfalls lassen Sie dieses Feld leer.
-
-
Klicken Sie auf die Schaltfläche Speichern.
-
Kopieren Sie die Client-ID und das Client-Geheimnis.
WARNUNG: Dies ist der einzige Zeitpunkt, zu dem das Geheimnis sichtbar ist.
Registrieren Sie die Client-Umleitungs-URI
Wie oben erwähnt, handelt es sich beim Autorisierungscode-Flow um einen interaktiven Flow. Während dieses Flows wird der Benutzer zum Endpoint umgeleitet. Sobald der Benutzer sich authentifiziert hat, wird er zurück zur Client-Anwendung umgeleitet.
Die Rückruf-URL der Client-Anwendung wird als „Umleitungs-URI“ bezeichnet. Jede Umleitungs-URI muss registriert werden. Client-Umleitungs-URIs müssen die folgenden Einschränkungen einhalten:
- Die Client-Weiterleitungs URL muss eine absolute URL sein.
- Die Client-Umleitungs URL sollte das HTTPS-Protokoll verwenden. Bei der Umleitung zu localhost kann die Client-Umleitungs URL jedoch das HTTP-Protokoll verwenden.
- Die Client-Umleitungs URL kann eine Abfrage enthalten.
- Die Client-Umleitungs-URL darf kein Fragment enthalten.
So registrieren Sie eine Client-Umleitungs-URI:
- Klicken Sie im Bereich Weiterleitungen auf die Schaltfläche + URL.
- Geben Sie die URL an.
- Klicken Sie auf die Schaltfläche Speichern.
Konfigurieren der Clientanwendung
Jede standardkonforme OIDC- oder OAuth 2.0-Clientanwendung, die entweder den Autorisierungscode oder die Clientanmeldeinformationen unterstützt, kann die App Builder Autorisierungsserver. Dazu gehören App Builder selbst: Es ist möglich, eine zweite Instanz von App Builder als Kunde.
Um die App Builder Client benötigen Sie:
- App Builder Stamm URL des Autorisierungsservers, zB
https://example.com/App Builder
. - Client-ID und-Geheimnis (siehe oben)
Melden Sie sich zunächst bei der Client-Instanz von an. App Builder als Administrator:
- Klicken Sie auf den IDE-Link.
- Klicken Sie auf die Schaltfläche Sicherheitsanbieter.
- Klicken Sie im Bereich Benutzerauthentifizierung auf die Schaltfläche +Benutzerauthentifizierung.
-
Geben Sie Folgendes ein:
- Name: Name des Sicherheitsanbieters, z. B.
App Builder
. - Typ: App Builder / OpenID-Verbindung
- Im Anmeldeformular anzeigen: Aktivieren Sie diese Option, um die Anmeldeoption im Anmeldeformular anzuzeigen.
- Benutzerbereitstellung: Aktivieren Sie diese Option, um die Benutzerbereitstellung zu aktivieren.
- Name: Name des Sicherheitsanbieters, z. B.
-
Klicken Sie auf die Schaltfläche Speichern.
- Klicken Sie im Bereich Endpoints auf die Schaltfläche + Endpoint.
-
Geben Sie Folgendes an:
- Endpoint: OpenID Connect-Aussteller
- URL. Die App Builder Stamm URL des Autorisierungsservers.
-
Klicken Sie auf die Schaltfläche Speichern.
- Klicken Sie im Bereich Anmeldeinformationen auf die Schaltfläche +Anmeldeinformationen.
-
Geben Sie Folgendes an:
- Typ: Client
- Benutzername: Die Client-ID (siehe oben).
- Passwort: Das Client-Geheimnis (siehe oben).
-
Klicken Sie auf die Schaltfläche Speichern.
- Klicken Sie im Bereich Anbieter auf die Schaltfläche Bearbeiten.
- Aktivieren Sie die Option Aktiviert.
- Klicken Sie auf die Schaltfläche Speichern.
Sobald dies abgeschlossen ist, können sich Benutzer beim Client anmelden. App Builder Instanz mit dem App Builder Autorisierungsserver.
Bekannte Einschränkungen
Der App Builder Der Autorisierungsserver unterstützt Folgendes nicht:
- Benutzereinwilligung.
- OIDC-Implizit- oder Hybrid-Flows