Zum Inhalt springen

Anwendungsauthentifizierung Sicherheitsanbieter im Jitterbit App Builder

Einführung

Der App Builder unterstützt Anwendungsauthentifizierung als Sicherheitsanbieter, mit dem Sie Ihre eigenen Anmeldeformulare erstellen und Clients mit einem benutzerdefinierten Ansatz authentifizieren können. Anstatt die Clients zu einem Drittanbieter-Identitätsanbieter (IdP) umzuleiten, werden die Clients zu einer von Ihnen erstellten App Builder-Seite umgeleitet. (Dieser Anbieter wird verwendet, um Benutzer im App Builder anzumelden; er kann nicht verwendet werden, um Benutzer zu autorisieren, die bereits angemeldet sind.)

Möglicherweise möchten Sie in Situationen wie diesen einen benutzerdefinierten Anmeldefluss verwenden:

  • Ermöglichen, dass Clients ihre eigenen Benutzerkonten verwalten.

  • Validierung von Anmeldeinformationen über einen Drittanbieterdienst über eine API.

  • Überprüfung einer Telefonnummer durch das Versenden eines Einmalpassworts (OTP).

  • Ermöglichen, dass sich Clients semi-anonym anmelden.

Diese Seite erklärt, wie der Authentifizierungsfluss funktioniert und wie Sie ihn konfigurieren.

So funktioniert es: der Authentifizierungsfluss

Das Verständnis des Anwendungsauthentifizierungsflusses ist entscheidend für die korrekte Implementierung, insbesondere wenn Benutzer auf eine Seite geleitet werden, die eine Anmeldung erfordert. Dies wird als "Herausforderung" bezeichnet.

Der Herausforderungs- und Umleitungsprozess

Hier ist die typische Benutzerreise, wenn versucht wird, auf eine geschützte Seite zuzugreifen:

  1. Erster Antrag: Ein nicht authentifizierter Benutzer versucht, auf einen "Deep Link" zu einer Seite in Ihrer App zuzugreifen, die eine Anmeldung erfordert. Der Link kann sogar URL-Parameter enthalten.

    Beispiel-URL
    https://<your-domain>/app/MyApp/MyProtectedPage?orderId=123
    
  2. Authentifizierungsherausforderung: Der App Builder stellt fest, dass der Benutzer nicht angemeldet ist und dass die Seite eine Authentifizierung erfordert. Er initiiert eine "Herausforderung".

  3. Umleitung zur Anmeldeseite: Der App Builder leitet den Benutzer zur benutzerdefinierten Anmeldeseite um, die im LoginPath-Eigenschaft Ihres Anwendungsauthentifizierungs-Sicherheitsanbieters definiert ist.

    Wichtig

    Damit dies automatisch geschieht, müssen Sie Folgendes tun:

  4. Setzen Sie diesen Sicherheitsanbieter als den Standard-Authentifizierungsanbieter für Ihre Anwendung. (Dies überschreibt alle systemweiten Standards, die möglicherweise in IDE > Sicherheitsanbieter > Konfiguration > Standard-Authentifizierung festgelegt sind.)

  5. Aktivieren Sie die Option Redirect On Challenge.

  6. Benutzer meldet sich an: Der Benutzer gibt seine Anmeldeinformationen auf Ihrer benutzerdefinierten Anmeldeseite ein und sendet das Formular.

  7. Authentifizierungsregel wird ausgeführt: Ihre benutzerdefinierte Authentifizierungsregel wird ausgeführt, überprüft die Anmeldeinformationen und meldet den Benutzer im App Builder an.

  8. Weiterleitung zur ursprünglichen Seite: Nach einer erfolgreichen Anmeldung leitet der App Builder den Benutzer automatisch zurück zu der Seite, die er ursprünglich aufrufen wollte, einschließlich aller ursprünglichen URL-Parameter.

Dieser nahtlose Ablauf stellt sicher, dass die Benutzer genau dort landen, wo sie nach der Anmeldung hinwollten, ohne den Kontext des ursprünglichen Links zu verlieren, dem sie gefolgt sind.

Konfigurationsübersicht

Um die Anwendungs-Authentifizierung zu konfigurieren, müssen Sie mehrere Komponenten in Ihrer Umgebung und innerhalb Ihrer Anwendung einrichten.

Umgebungsconfiguration

Folgendes muss in jeder Umgebung konfiguriert werden (zum Beispiel Dev, QA und Produktion):

  • Anmeldeseitenanwendung: Eine separate, eigenständige App Builder-Anwendung, die als Ihr Anmeldeformular dient.

  • Sicherheitsanbieter für die Anwendungs-Authentifizierung: Der Sicherheitsanbieter, der das benutzerdefinierte Anmeldeverhalten definiert.

  • Generische Benutzerkonten: Ein oder mehrere Benutzerkonten im App Builder, auf die authentifizierte Benutzer zugeordnet werden.

Anwendungsconfiguration

Sie müssen diese Elemente in Ihrer Hauptanwendung konfigurieren:

  • Authentifizierungsregel: Eine Geschäftsregel, die die Logik zur Überprüfung der Benutzeranmeldeinformationen enthält.

  • (Optional) Unterstützende Tabellen: Tabellen zur Verwaltung von Benutzersitzungen, Passwörtern und anwendungsspezifischen Benutzerdaten.

Schritt-für-Schritt-Konfigurationsanleitung

1. Erstellen Sie die Anmeldeseitenanwendung

Sie sollten die Anmeldeseite als eigenständige Anwendung konfigurieren. Diese App dient ausschließlich der Authentifizierung von Benutzern. Dies sind die Anforderungen dafür:

  • Die Seite muss für die Gruppe Anonymer Benutzer zugänglich sein.

  • Sie sollte ein Panel enthalten, das auf der Sitzung-Tabelle basiert.

  • Es benötigt ein oder mehrere bearbeitbare Felder zur Erfassung der Benutzeranmeldeinformationen (wie Benutzername, Email oder Telefonnummer).

  • (Optional) Ein Passwort-Feld (mit konfigurierter Passwortvalidierung).

  • Es benötigt einen Anmelden-Button, der Ihre Authentifizierungsregel auslöst. Dieser Button sollte nicht mit einer Seite verlinkt sein; sein einziger Zweck ist es, die Regel auszuführen.

  • Sie können optional Links für Passwort vergessen oder Registrieren einfügen.

2. Erstellen Sie den Sicherheitsanbieter für die Anwendungsauthentifizierung

Um den Sicherheitsanbieter für die Anwendungsauthentifizierung zu erstellen, befolgen Sie diese Schritte:

  1. Wählen Sie IDE > Sicherheitsanbieter.

  2. Klicken Sie im Panel Benutzerauthentifizierung auf + Benutzerauthentifizierung.

  3. Auf der Seite Anbieter setzen Sie Folgendes:

    • Name: Ein Name für Ihren Anbieter (zum Beispiel MyAppAuthentication).

    • Typ: Wählen Sie Anwendungsauthentifizierung.

    • Aktiviert: Lassen Sie dies deaktiviert, bis die gesamte Konfiguration abgeschlossen ist.

    • Auf Anmeldeformular anzeigen: Aktivieren Sie dieses Kästchen.

    • Standardseite: Wählen Sie die Standard-Startseite, die ein Benutzer nach der Anmeldung sehen sollte, wenn er ursprünglich nicht versucht hat, auf eine bestimmte Deep-Link-Seite zuzugreifen. Die Seite muss in ihren Edge Case-Einstellungen als Öffentlich markiert sein.

  4. Klicken Sie auf Speichern.

  5. Klicken Sie unter Eigenschaften auf + Eigenschaft.

  6. Im Popup Eigenschaften setzen Sie die Werte wie folgt:

    • Parameter: Wählen Sie LoginPath.

    • Wert: Geben Sie den root-relativen Pfad zu Ihrer Anmeldeseiten-App ein. Der Pfad muss URL-kodiert sein und mit einem / beginnen.

      Beispiel
      /app/Login%20App/Login%20Page
      
  7. Speichern Sie die Eigenschaften und schließen Sie das Popup.

3. Konfigurieren Sie ein generisches Benutzerkonto

App Builder bietet zwei Hauptansätze zur Verwaltung von Benutzerkonten mit der Anwendungsauthentifizierung:

  1. Zuweisung zu einem generischen Benutzerkonto: Dies beinhaltet die Erstellung eines oder mehrerer vorhandener Benutzerkonten in App Builder, auf die authentifizierte externe Benutzer zugewiesen werden. Dies ist besonders nützlich für Szenarien wie semi-anonyme Zugriffe (zum Beispiel unter Verwendung einer Telefonnummer und OTP), bei denen alle externen Benutzer möglicherweise ein Konto mit niedrigen Berechtigungen teilen.

  2. Dynamische Benutzerbereitstellung: Dieser fortgeschrittenere Ansatz beinhaltet die Erstellung von einzelnen Benutzerkonten in App Builder während des Anmeldeprozesses.

Dieser Abschnitt konzentriert sich auf den ersten Ansatz: Zuweisung zu einem generischen Benutzerkonto. Um dies zu tun, befolgen Sie diese Schritte:

  1. Wählen Sie IDE > Benutzerverwaltung und erstellen Sie ein neues Benutzerkonto (zum Beispiel MyAppUser). Dies ist das Konto, das die Berechtigungen innerhalb der App bereitstellt.

  2. Weisen Sie den Benutzer den Gruppen zu, die die erforderlichen Rollen für Ihre Anwendung gewähren.

  3. Klicken Sie unter Identitäten auf + Identität, um eine Identität für diesen Benutzer mit den folgenden Einstellungen zu erstellen:

    • Name: Geben Sie den Wert ein, den Ihre Anwendung verwenden wird, um die Person zu identifizieren, wie ihren Benutzernamen oder ihre Email-Adresse. Dies muss für jeden Benutzer einzigartig sein. App Builder verwendet dies, um das richtige Benutzerkonto zu finden, es sei denn, Sie geben auch einen Wert für Identifier an.

    • Identifier (optional, aber empfohlen): Geben Sie eine permanente, eindeutige ID für diesen Benutzer ein. Dies ist der zuverlässigste Weg für App Builder, einen Benutzer zu erkennen, selbst wenn sich seine Email-Adresse oder sein Benutzername ändert. Wenn Sie dies angeben, verwendet App Builder es immer zuerst, um den Benutzer zu finden.

4. Erstellen Sie die Authentifizierungsregel

Sie benötigen eine Geschäftsregel, um die tatsächliche Authentifizierungslogik zu behandeln. Um eine einzurichten, befolgen Sie diese Schritte:

  1. Erstellen Sie eine CRUD XP Geschäftsregel, die eine Einfügen-Aktion ausführt.

  2. Setzen Sie die Ziel-Datenquelle auf App Builder und das Ziel auf das öffentliche Datenobjekt Authenticate.

  3. Im SQL der Regel verbinden Sie Ihre Benutzerdatenbanktabelle mit der Session-Tabelle, um den Benutzernamen und das Passwort zu erhalten, die der Benutzer eingegeben hat.

  4. Ordnen Sie die folgenden vier erforderlichen Spalten dem Authenticate-Ziel zu:

    • AuthenticateID: Eine neue GUID. Verwenden Sie newUUID().

    • ProviderId: Die ID Ihres Anwendungs-Authentifizierungs-Sicherheitsanbieters.

    • AppUserId: Ein Identifikator für den Endbenutzer, der sich anmeldet (zum Beispiel ihre Email-Adresse oder ihren Benutzernamen). Dies wird für die Prüfung über die who('appuserid')-Funktion verwendet.

    • Name: Der Name des generischen Benutzers Identity, dem zugeordnet werden soll (zum Beispiel MyAppUser). Dies kann fest codiert oder dynamisch basierend auf den Anmeldeinformationen des Benutzers bestimmt werden.

5. Automatische Weiterleitung bei Herausforderung aktivieren

Um sicherzustellen, dass Benutzer automatisch zu Ihrer benutzerdefinierten Anmeldeseite weitergeleitet werden, wenn sie auf eine geschützte Seite zugreifen, müssen Sie diese beiden Einstellungen aktivieren:

  1. Konfigurieren Sie den Standard-Authentifizierungsanbieter:

    (Der Standard-Authentifizierungsanbieter kann systemweit oder auf Anwendungsebene festgelegt werden. Die Einstellung auf Anwendungsebene hat Vorrang vor der systemweiten Option.)

    Um den Standard auf Anwendungsebene zu konfigurieren, befolgen Sie diese Schritte:

    1. Wählen Sie IDE > Sicherheitsanbieter.

    2. Unter Benutzerauthentifizierung wählen Sie Mehr > Anwendungen verwalten.

    3. Klicken Sie auf das Bearbeiten-Symbol für Ihre Anwendung.

    4. Setzen Sie Standardauthentifizierung auf den von Ihnen erstellten Anwendungs-Authentifizierungsanbieter.

    5. Klicken Sie auf Fortfahren und schließen Sie das Popup.

  2. Konfigurieren Sie die Weiterleitung bei Herausforderung:

    1. Auf der Seite Sicherheitsanbieter klicken Sie auf das Datensatz öffnen-Symbol für Ihren Anwendungs-Authentifizierungsanbieter.

    2. Unter Anbieter klicken Sie auf Bearbeiten.

    3. Aktivieren Sie die Option Weiterleitung bei Herausforderung.

    4. Klicken Sie auf Speichern.

6. Aktivieren und testen

Sobald alle oben genannten Schritte abgeschlossen sind, gehen Sie zurück zu Ihrem Anwendungs-Authentifizierungs-Sicherheitsanbieter in der IDE und aktivieren Sie ihn. Sie können nun den gesamten Anmeldefluss testen.

Erweiterte Themen

Eine der leistungsstärksten Funktionen dieses Flows ist die Möglichkeit, einem Benutzer einen Link zu einem bestimmten Datensatz oder gefilterten Ansicht innerhalb Ihrer App zu senden. Da der App Builder die ursprünglich angeforderte URL (einschließlich aller Abfrageparameter) während des Authentifizierungsprozesses beibehält, können Sie Deep Links ohne spezielle Formatierung erstellen. Zum Beispiel können Sie einem Benutzer einen Link zu einer bestimmten Bestellung senden: https://<your-domain>/app/MyApp/Orders?Orders.OrderId=5011 Wenn der nicht authentifizierte Benutzer auf diesen Link klickt, wird er zu Ihrer Anmeldeseite weitergeleitet und nach dem Einloggen automatisch zur Orders-Seite mit der Bestellung 5011 weitergeleitet.

Manuell eine Herausforderung auslösen

Während der App Builder nicht authentifizierte Benutzer automatisch herausfordert, wenn sie auf eine geschützte Seite zugreifen, können Sie diesen Prozess auch manuell aus der Logik Ihrer Anwendung heraus auslösen. Dies ist nützlich für Szenarien wie das Ablaufen einer Benutzersitzung oder um einen speziellen Login-Button in der Kopfzeile Ihrer Anwendung bereitzustellen.

Um dies zu tun, erstellen Sie eine einfache Geschäftsregel, die einen Datensatz in das öffentliche Datenobjekt Challenge einfügt. Sie können diese Regel dann an ein Ereignis anhängen, wie z.B. einen Button-Klick.

So erstellen Sie einen manuellen Login-Trigger

  1. Erstellen Sie eine Geschäftsregel: Erstellen Sie eine neue CRUD XP Geschäftsregel und geben Sie ihr einen beschreibenden Namen, wie z.B. Manuelle Login-Herausforderung.

  2. Konfigurieren Sie das Regelziel:

    • Setzen Sie die Ziel-Datenquelle auf App Builder.

    • Setzen Sie das Ziel auf das öffentliche Datenobjekt Challenge.

    • Setzen Sie die Aktion auf Einfügen.

  3. Ordnen Sie die Anbieter-ID zu: In der Regelgestaltung müssen Sie nur eine Spalte zuordnen. Ordnen Sie die ID Ihres Anbieters für die Anwendungssicherheit der Spalte ProviderId im Ziel Challenge zu. Diese ID finden Sie auf der Seite Sicherheitsanbieter im IDE.

  4. Lösen Sie die Regel aus: Hängen Sie diese neue Geschäftsregel an ein Ereignis an. Zum Beispiel könnten Sie einen Login-Button in die Kopfzeile Ihrer Anwendung hinzufügen und dessen on-click-Ereignis so konfigurieren, dass die Regel Manuelle Login-Herausforderung ausgeführt wird.

Wenn diese Regel ausgeführt wird, leitet der App Builder den Benutzer sofort zur Anmeldeseite weiter, die im LoginPath Ihres Sicherheitsanbieters definiert ist, und bewahrt die aktuelle Seite des Benutzers, damit er nach einer erfolgreichen Anmeldung dorthin zurückkehren kann.