Clientauthentifizierung 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, die Authentifizierung von Benutzern. Der OIDC-Anmeldevorgang erzeugt ein Zugriffstoken, das der Client-Anwendung den Zugriff auf geschützte Ressourcen im Namen des Benutzers ermöglicht. Zu den geschützten Ressourcen gehören in App Builder gehostete REST- und Webhook-APIs sowie App Builder Connector-Datenquellen.
Protokollunterstützung
Das OIDC-Protokoll ist 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 Autorisierungsserver unterstützt die folgenden grundlegenden OAuth 2.0-Flows:
- Autorisierungscode. Der Autorisierungscode-Flow ermöglicht dem Client den Erwerb eines Zugriffstokens, mit dem er im Namen des Benutzers auf geschützte Ressourcen zugreifen kann. Der Autorisierungscode-Flow ist interaktiv: Ein Benutzer muss anwesend sein, um den Autorisierungscode-Flow zu starten.
- Client-Anmeldeinformationen. Der Client-Anmeldeinformationen-Flow ermöglicht es der Client-Anwendung, in ihrem eigenen Namen ein Zugriffstoken zu erhalten. Dies ist ein Server-zu-Server-Flow, der typischerweise als Dienstkonto ausgeführt wird.
- Aktualisierungstoken. Der Aktualisierungstoken-Flow ermöglicht dem Client, einen neuen Zugriffstoken anzufordern, sobald der aktuelle abgelaufen ist. Dies wird manchmal als „Offline-Zugriff“ bezeichnet. Der Aktualisierungstoken-Flow kann in Kombination mit den Flows „Autorisierungscode“ oder „Client-Anmeldeinformationen“ verwendet werden. Der Bereich „Offline-Zugriff“ aktiviert den Aktualisierungstoken-Flow (siehe unten).
Wie bereits erwähnt, basiert OIDC auf dem OAuth 2.0-Autorisierungsframework. OIDC nutzt OAuth 2.0-Flows und verwendet den scope-Parameter, um OIDC-spezifische Funktionen zu aktivieren. Der App Builder Autorisierungsserver unterstützt die folgenden OIDC-Flows:
- Autorisierungscode. Wenn der openid-Bereich angegeben ist, ermöglicht der Autorisierungscode-Flow dem Client die Authentifizierung eines Benutzers durch die Rückgabe eines zusätzlichen Identitätstokens. 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 den OIDC Implicit- noch den Hybrid-Flow. Der OAuth 2.0 Client Credentials-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 Autorisierungsserver veröffentlicht die folgenden Endpoints:
Endpoint | Standard | Beschreibung |
---|---|---|
/verbinden/autorisieren | RFC-6749 | Gibt einen Autorisierungscode aus. |
/connect/token | RFC-6749 | Gibt ein Zugriffstoken aus. |
/connect/introspect | 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 Autorisierungsserver unterstützt die folgenden Bereiche:
Umfang | Beschreibung |
---|---|
openid | Gibt ein OIDC-Identitätstoken aus. |
Profil | Schließt Benutzerprofilansprüche in das Identitätstoken ein. |
* Email* | 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. * Nicht verfügbar für öffentliche Clients |
API | Autorisiert den Zugriff auf im App Builder gehostete REST-, Webhook- und App Builder Connector APIs. |
Unterstützte Ansprüche
Wie bereits erwähnt, handelt es sich beim Identitätstoken um ein anspruchsbasiertes JWT-Token. Der Client kann durch die Angabe von Bereichen festlegen, welche Ansprüche im Identitätstoken enthalten sind.
Geltungsbereich | Ansprüche |
---|---|
openid | sub |
Profil | Name, Spitzname, Gebietsschema und Zoneninfo |
* Email* | * Email* und E-Mail_verifiziert |
Telefon | Telefonnummer und Telefonnummer_verifiziert |
Eine Beschreibung der einzelnen Ansprüche finden Sie in 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, muss der App Builder Administrator zunächst:
- Aktivieren Sie den Autorisierungsserver.
- Registrieren Sie eine Clientanwendung.
- Konfigurieren Sie die Clientanwendung.
Aktivieren des Autorisierungsservers
Um den Autorisierungsserver zu aktivieren, melden Sie sich zunächst als Administrator bei App Builder an:
- Klicken Sie auf den Link IDE.
- 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 Clientanwendung, die Benutzer authentifizieren oder auf geschützte Ressourcen zugreifen soll, muss registriert werden. Um eine Clientanwendung zu registrieren, melden Sie sich zunächst als Administrator bei App Builder an und führen Sie dann die folgenden Schritte aus:
- Klicken Sie auf den IDE-Link.
- Klicken Sie auf die Schaltfläche Benutzerverwaltung.
- Klicken Sie auf die Schaltfläche Clients.
- Klicken Sie auf die Schaltfläche +Client, um eine neue Clientanwendung zu registrieren.
-
Geben Sie Folgendes an:
- Name: Ein beschreibender, benutzerfreundlicher Name für die Clientanwendung.
- Beschreibung: Eine optionale Beschreibung.
- Benutzer: Wählen Sie das Service-Benutzerkonto aus. Erforderlich für den Ablauf der Clientanmeldeinformationen. Andernfalls leer lassen.
- Authentifizierungsanbieter: Wählen Sie einen Anbieter aus oder lassen Sie das Feld leer.
- Aktiviert: Aktivieren oder deaktivieren Sie die Clientanwendung.
-
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: Nehmen Sie bei Bedarf die folgenden Einstellungen vor:
-
PKCE erforderlich: Wenn diese Option aktiviert 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 aktiviert ist, ist der Client öffentlich und Geheimnisse können nicht sicher gespeichert werden. Wenn diese Option deaktiviert ist, ist der Client vertraulich und kann Geheimnisse sicher speichern.
-
-
Token-Lebensdauer: Geben Sie bei Bedarf Werte in 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 eigene Anmeldeinformationen angeben. Diese bestehen aus der Client-ID und einem Client-Secret. Client-Secrets können nur für vertrauliche Clients generiert werden. Für öffentliche Clients ist der Bereich „Secrets“ ausgeblendet.
So generieren Sie ein Client-Secret:
- Klicken Sie im Bereich „Secrets“ auf die Schaltfläche „+Secret“.
-
Geben Sie Folgendes ein:
- Beschreibung: Optionale Beschreibung des Client-Secrets.
- Läuft ab am: Wenn das Secret ablaufen soll, legen Sie Ablaufdatum und -uhrzeit fest. Andernfalls lassen Sie dieses Feld leer.
-
Klicken Sie auf die Schaltfläche „Speichern“.
- Kopieren Sie die Client-ID und das Client-Secret.
WARNUNG: Das Secret ist nur zu diesem Zeitpunkt sichtbar.
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. Nach der Authentifizierung wird er zurück zur Clientanwendung geleitet.
Die Rückruf-URL der Clientanwendung wird als „Umleitungs-URI“ bezeichnet. Jede Umleitungs-URI muss registriert werden. Für Client-Umleitungs-URIs gelten folgende Einschränkungen:
- Die Client-Umleitungs 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 Client-Anmeldeinformationen unterstützt, kann den App Builder Autorisierungsserver nutzen. Dies gilt auch für App Builder selbst: Es ist möglich, eine zweite Instanz von App Builder als Client zu konfigurieren.
Zum Konfigurieren des App Builder Clients benötigen Sie:
- Stamm-URL des App Builder-Autorisierungsservers, zB
https://example.com/App Builder
. - Client-ID und Geheimnis (siehe oben)
Melden Sie sich zunächst als Administrator bei der Clientinstanz von App Builder an:
- 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 an:
- Name: Name des Sicherheitsanbieters, zB
App Builder
. - Typ: * App Builder / OpenID Connect*
- 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, zB
-
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 Stamm-URL des App Builder 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.
Nach Abschluss können sich Benutzer über den App Builder App Builder Builder-Clientinstanz anmelden.
Bekannte Einschränkungen
Der App Builder Autorisierungsserver unterstützt Folgendes nicht
- Zustimmung des Benutzers.
- OIDC implizite oder hybride Flüsse