Okta Workflows ist eine No-Code-Plattform zur Automatisierung von Identitätsprozessen.
Dieser Blogbeitrag basiert auf einer Frage, die während der Sprechstunden oder im Kanal #okta-workflows im MacAdmins Slack gestellt wurde: Wie richtet man einen Workflows Helper-Flow (mit For-Each und Streaming-Karten) ein?
Erste Schritte
Workflows verfügen über eine Reihe von Karten, die nach Datensätzen suchen können. Zum Beispiel listet Okta – List Users with Filter Benutzer:innen nach Status auf:
Karte „Searching for users“
Eine Suchkarte erstellt eine Liste von Datensätzen. Dann wird ein Hilfs-Flow verwendet, um jeden Datensatz aus der Liste zu verarbeiten. Ausgehend vom obigen Beispiel möchte man, sobald eine Liste von Benutzer:innen vorliegt, möglicherweise überprüfen, wann sich ein:e Benutzer:in zuletzt an einem System angemeldet hat.
Es gibt zwei Möglichkeiten, die Datensätze an einen Hilfs-Flow zu senden:
- Eine Liste von Datensätzen wird an eine List – For Each -Karte übergeben. Die For Each -Karte ruft dann für jeden Datensatz in der Liste einen Hilfs-Flow auf.
- Eine Suchkarte verwendet die Option Stream Matching Records. Die Streaming-Option streamt jeden Datensatz direkt an den ausgewählten Hilfs-Flow
Im Allgemeinen ist die Streaming-Option skalierbarer und ermöglicht die Verarbeitung einer deutlich größeren Anzahl von Datensätzen. Erfahren Sie mehr über Daten-Streaming mit Aktionskarten.
Sehen wir uns Beispiele mit For-Each- und Streaming-Optionen an.
Verwenden der Karte „List – For Each“
In diesem Abschnitt erfahren Sie, wie Sie den Haupt-Flow und den Hilfs-Flow mithilfe der Karte List – For Each einrichten.
Einrichten eines Helper-Flows
Ein Helper-Flow ist ein Flow, der von einem anderen Flow (Haupt-Flow) aufgerufen wird. Ein Flow wird zum Helper-Flow, wenn es sich bei der ersten Karte um eine On Demand – Helper Flow-Karte handelt:
Auswahl des Helper Flow-Events
Erste Karte des Helper-Flows
Ein Helper-Flow verfügt über eine oder mehrere Eingaben, die vom Haupt-Flow (oder aufrufenden Flow) an ihn übergeben werden. Im folgenden Beispiel hat ein Helper-Flow zwei Eingaben User (Typ Object) und email (Typ Text):
Helper-Flow mit zwei Eingaben (User, email)
Betrachtet man den vollständigen Helper-Flow, werden ihm zwei Eingabewerte übergeben: User und email:
Helper-Flow
Dieser Flow macht nicht viel, außer die an ihn übergebenen Werte zu lesen. Aber das ist in Ordnung, der Zweck dieses Blogbeitrags besteht darin, Ihnen zu zeigen, wie Sie einen Helper-Flow/Haupt-Flow einrichten.
Mit der Karte Object – Get können Sie einen bestimmten Wert aus einem Objekt abrufen. In diesem Beispiel wird die Email abgerufen.
Die Karte Flow Control – Assign übernimmt die Eingabe Email für den Helper-Flow und weist sie einem anderen Wert zu (ebenfalls email genannt). Dies kann hilfreich sein, wenn Sie die E-Mail später in einem Flow verwenden müssen.
Sehen wir uns den Haupt-Flow an.
Einrichten des Haupt-Flows
Der Haupt-Flow ist ein regulärer Flow und wir rufen den Helper-Flow auf. Zu Beginn benötigen Sie eine Suchkarte, die eine Liste von Datensätzen zurückgibt. Der folgende Flow verwendet die Karte List Users with Filter. Das Feld Options ist auf First 200 Matching Records gesetzt:
Kartenoptionen
Option zur Rückgabe der ersten 200 Treffer
Die Liste wird dann an die Karte List – For Each übergeben:
Deprovisionierte Benutzer:innen an einen Helper-Flow übergeben
Als Nächstes wählen Sie einen Hilfs-Flow aus, der für jeden Datensatz ausgeführt werden soll.
Das ist wichtig. Sobald Sie einen Helper-Flow auswählen, werden dessen Eingaben auf der For Each-Karte geladen.
Klicken Sie für jedes Helper-Flow-Eingabefeld auf den Pfeil (auf der rechten Seite eines Feldes) und wählen Sie einen Wert und einen Typ aus, die an den Helper-Flow übergeben werden sollen. Der Typ muss dem Typ entsprechen, den der Helper-Flow erwartet.
Auswählen eines Helper-Flows und Festlegen seiner Eingaben
Dies ist ebenfalls wichtig. Wenn Sie die Helper-Flow-Eingaben aktualisieren, müssen Sie den Helper-Flow erneut auswählen (ja, das ist etwas lästig). Sobald Sie den Helper-Flow auswählen, werden die Eingaben auf der For Each-Karte basierend auf den von Ihnen vorgenommenen Änderungen aktualisiert.
Hier sehen Sie noch einmal, wie die an den Helper-Flow übergebenen Werte festgelegt werden.
Zuerst übergeben Sie: User ➡️(Element, Typ Object):
Auswählen von Werten zur Übergabe an den Helper-Flow (User)
Dann übergeben Sie: email ➡️ (Email, Typ Text):
Werte zur Übergabe an den Helper-Flow auswählen (email)
So sehen der Haupt-Flow und der Hilfs-Flow zusammen aus und so werden Daten übergeben:
Daten vom Haupt-Flow an den Hilfs-Flow übergeben
Ausführen des Haupt-Flows:
Test des Haupt-Flows
Die Aufrufe des Helper-Flows entsprechen der Anzahl der Datensätze in der Liste (im folgenden Beispiel enthielt die Liste drei Benutzer:innen):
Ausführen eines Helper-Flows (3-mal)
Verwenden der Option „Streaming Matching Records“
In diesem Abschnitt erfahren Sie, wie Sie den Haupt-Flow und einen Helper-Flow mithilfe der Streaming-Option einrichten. Wie im ersten Teil beginnen Sie zunächst mit dem Helper-Flow.
Einrichten des Helper-Flows
Wie im vorherigen Abschnitt ist ein Helper-Flow ein Flow, der von einem anderen Flow (Haupt-Flow) aufgerufen wird. Ein Flow wird zum Helper-Flow, wenn es sich bei der ersten Karte um eine On Demand – Helper Flow-Karte handelt:
Helper-Flow
Mit der Streaming-Option definieren Sie auch Hilfs-Flow-Eingaben. Aber die Eingaben sind etwas anders.
Sie müssen zwei Helper-Flow-Eingaben erstellen:
- Datensatz (Typ Objekt)
- Status (Typ Objekt)
Helper-Flow mit Eingaben für Streaming
Record ist das aktuelle Element, in unserem Beispiel User. Dies ist das Element, das an den Helper-Flow gestreamt (gesendet) wird. Sie haben Zugriff auf alle seine Eigenschaften.
Mit State können Sie beliebige zusätzliche Eingaben definieren, die an den Hilfs-Flow übergeben werden sollen.
Sie kehren zum Helper zurück, um Flow-Eingaben zu erstellen. Als Nächstes richten Sie den Haupt-Flow ein.
Einrichten des Haupt-Flows
Wenn eine Suchkarte über die Option Stream Matching Records verfügt, müssen Sie keine For Each-Karte verwenden. Die Streaming-Option überträgt Datensätze automatisch an einen Helper-Flow.
Hier erfahren Sie mehr über Daten-Streaming mit Aktionskarten.
Kommen wir auf unser Beispiel zurück. Wir verwenden dieselbe Karte, List Users with Filter.
Bevor Sie die Streaming-Optionen aktivieren, stellen Sie die Kartenoptionen auf First 200 Matching Records ein. Es hilft Ihnen dabei, Eingaben für den Helper-Flow zu testen und einzurichten.
Beim Testen – Optionen auf die ersten 200 übereinstimmenden Datensätze setzen
Wenn der Status auf DEPROVISIONED gesetzt ist:
Liste deprovisionierter Benutzer:innen
Klicken Sie, um die Karte zu testen und eines der Listenelemente aufzuklappen. Auf der linken Seite sehen Sie das User-JSON-Objekt (als root angezeigt), das an den Helper-Flow übergeben wird. Alle Eigenschaften werden dem Helper-Flow zur Verfügung stehen.
Testen der Karte „List Users with Filter“
Da Sie nun wissen, wie das JSON aussieht, können Sie die Eingaben für den Helper-Flow einrichten.
Abschließen des Helper-Flows
Wenn Sie zum Helper-Flow zurückkehren, definieren Sie die Eingaben.
Record ist das aktuelle Element, und für diesen speziellen Flow übergeben Sie ID und Email. Diese Werte sind verfügbar, da sie Teil des JSON-Objekts (oben) sind.
Mit einer anderen Karte verbundene Helper-Flow-Eingaben
Und was ist mit der Admin email – woher kommt dieser Wert? Unter State können Sie beliebige zusätzliche Werte an den Helper-Flow übergeben. Lassen Sie uns die Einrichtung des Haupt-Flows abschließen, und Sie werden sehen, wie Sie die Admin email übergeben.
Abschluss des Haupt-Flows
Um den Haupt-Flow abzuschließen, kehren Sie zu Optionen zurück und wählen Sie Stream Matching Records:
Festlegen der Option „ Stream Matching Records “
Wählen Sie als Nächstes den Helper-Flow. Aufgrund der Funktionsweise von Streaming werden die Eingaben des Helper-Flows nicht angezeigt, da das gesamte Objekt an den Helper gesendet wird.
Erstellen Sie einen zusätzlichen Wert zur Übergabe an den Helper-Flow
Um den zusätzlichen Wert (Admin email) zu übergeben, klicken Sie, um ein neues Feld im orangefarbenen Rechteck zu erstellen.
Der Name des Feldes (Admin email) und der Typ (Text) müssen exakt dem Namen und Typ des Feldes im Helper-Flow (Admin email, Text) entsprechen. Sie können auf diese Weise mehr als einen Wert übergeben.
Zusätzlichen Wert an Helper-Flow übergeben (Admin email)
Jetzt ist alles bereit, um die Flows auszuführen.
Nachfolgend sehen Sie einen Screenshot der Ausführung des Haupt-Flows. Beachten Sie, dass unter Results die Anzahl der an den Helper-Flow gestreamten Datensätze angezeigt wird:
Test des Haupt-Flows
Und das ist ein Helper-Flow-Durchlauf (insgesamt 3 Durchläufe):
Ausführen des Helper-Flows
So sehen die Flows zusammen aus:
Übersicht über Haupt- und Helper-Flows
Zusammenfassung
In diesem Blogbeitrag haben Sie gelernt, wie Sie einen Hilfs-Flow mit einer For Each -Karte und mit einer Streaming-Option einrichten.
Erhalten Sie Antworten auf Ihre Fragen zu Workflows
Haben Sie eine Frage zu Okta Workflows? Sind Sie sich nicht sicher, wie man einen Flow erstellt? Nehmen Sie an den wöchentlichen Sprechstunden der Community teil, um Hilfe zu erhalten.