Passwort-Reset-Token erstellen
Ereignisaktion - Kurzfassung
Zweck: Weist einem Benutzerkonto einen neu erzeugten "Passwort-Token" (base64-String) zu, über den ohne Anmeldung ein neues Passwort zugewiesen werden kann.
Hintergrund: Wozu dient ein Passwort-Token?
Typischerweise wird der Lobster Data Platform / Orchestration-Client mit einem Token-String für den URL-Parameter pwdRequestToken gestartet, nachdem ein Benutzer im Login-Dialog die Passwort-Vergessen-Funktion verwendet, um eine E-Mail mit einem entsprechenden Link anzufordern. Über den Link mit dem "Passwort-Token" kann der Benutzer innerhalb einer begrenzten Gültigkeitsdauer ab dem Erstellen (Standard: 24 Stunden) ein neues Passwort für sein Benutzerkonto festlegen.
Die Passwort-Reset-Token erstellen-Ereignisaktion spielt für diesen interaktiv angestoßenen Ablauf eigentlich keine Rolle. Sie dient vielmehr dazu, ein Benutzerkonto per Automatisierung in den Zustand zu versetzen, dass ein "Passwort-Token" zum Ändern des Passworts genutzt werden kann.
Optional kann dabei auch das Ereignis "Passwort; Reset angefordert" (s. Passwort (Ereignisse)) ausgelöst werden, das üblicherweise den Versand einer E-Mail-Nachricht mit einem Link (inkl. Token) an den Benutzer bewirken soll (s. Passwort-Vergessen-Funktion).
Die Passwort-Reset-Token erstellen-Ereignisaktion erwartet als Bezugsobjekt ein Benutzerkonto (s. Benutzer), dem ein neues Base64-codiertes Passwort-Token zugewiesen werden soll.
Die Zeichenfolge für das erstellte Token wird dem versteckten Feld "Passwort-Reset-Token" (lastResetPasswordToken) in diesem Benutzerkonto als Wert zugewiesen.
ACHTUNG
Ein Token wird nur erstellt, sofern das betreffende Benutzerkonto über mindestens ein Kommunikationsinformation-Attribut mit dem Kommunikationstyp "E-Mail" (EMAIL) verfügt.
Beim Setzen eines neuen Passworts für das Benutzerkonto, wird das Token ungültig und das Feld "Passwort-Reset-Token" (lastResetPasswordToken) wird wieder gelöscht.
Läuft die Gültigkeit eines ungenutzten Tokens ab, bleibt der Textwert im Feld "Passwort-Reset-Token" (lastResetPasswordToken) erhalten. Das Token kann allerdings nicht mehr verwendet werden, um das Passwort zu ändern.
►WICHTIG◄ Das als Bezugsobjekt vorliegende Benutzerkonto erhält eine Vormerkung zum Speichern (s. Änderungen später speichern), damit die Änderung für das Feld "Passwort-Reset-Token" (lastResetPasswordToken) beim Commit persistiert wird.
Sofern im Ausführungskontext kein Schreibzugriff für das Benutzerkonto besteht, tritt ein Fehler mit Rollback für die Transaktion auf.
Die Vormerkung zum Speichern betrifft auch alle Änderungen am betreffenden Benutzerkonto, die vor und nach dem Ausführen der Passwort-Reset-Token erstellen-Ereignisaktion im Kontext der Transaktion vorgenommen werden.
Die Option Passwort-Request-Event auslösen kann verwendet werden, um für das als Bezugsobjekt vorliegende Benutzerkonto zusätzlich das Ereignis "Passwort: Reset angefordert" (s. Passwort (Ereignisse)) auszulösen, das auch im Kontext der Passwort-Vergessen-Funktion ausgelöst wird.
Wenn die Option Passwort-Request-Event auslösen ausgewählt ist, sollte der Parameter Basis-URL der Anwendung verwendet werden, um die Basis-URL für den Lobster Data Platform / Orchestration-Client zu definieren, an die der betreffende Benutzer für die Passwortänderung per Link verwiesen werden soll.
Konfiguration
Das Benutzerkonto, für das ein Passwort-Token erstellt werden soll, muss als Bezugsobjekt für die Passwort-Reset-Token erstellen-Ereignisaktion vorliegen. Soweit dies nicht durch das auslösende Ereignis (z. B. Erstellen oder Ändern) gewährleistet ist, muss dieser Bezug über eine geeignete Ereignisaktion - z. B. Ausführen mit oder Für jeden Eintrag wiederholen (Schleife) - hergestellt werden.
►HINWEIS◄ Falls im Kontext der Passwort-Reset-Token erstellen-Ereignisaktion kein Benutzerkonto als Bezugsobjekt vorliegt, ist die Ereignisaktion wirkungslos. Es tritt aber auch kein Fehler auf.
Parameter |
Beschreibung |
Beispiel |
Passwort-Request-Event auslösen |
Die Option Passwort-Request-Event auslösen ist per Standard abgewählt. Sie kann ausgewählt werden, um für das als Bezugsobjekt gegebene Benutzerkonto das Ereignis "Passwort: Reset angefordert" (s. Passwort (Ereignisse)) auszulösen, um für die Passwort-Vergessen-Funktion angelegte Workflows auszuführen. |
►HINWEIS◄ Bei Bedarf kann die im Ausführungskontext der Ereignisaktion anwendbare Basis-URL über den Info der Session-Wertauflöser aus der additionalData-Map mit dem Schlüssel (bzw. via Objekt-Feld) serverURL ermittelt werden. |
Basis-URL der Anwendung |
Wenn die Option Passwort-Request-Event auslösen ausgewählt ist, sollte über diesen Parameter die "Basis-URL" für den Zugriff auf Lobster Data Platform / Orchestration angegeben werden, die der Benutzer verwenden soll, um ein neues Passwort zu etablieren. Per Standard sieht der optionale Parameter Basis-URL der Anwendung die Direkteingabe von Text vor. Per Klick auf den kleinen grauen Pfeil (links unten im Textfeld) wechselt die Benutzeroberfläche zur Wert-Konfiguration. ►WICHTIG◄ Auch wenn der Parameter optional erscheint, sollte nicht auf eine Wertzuweisung (per Direkteingabe oder Wertauflöser) verzichtet werden, wenn das Passwort-Reset-Token erstellen-Ereignis ausgelöst wird. Sonst erscheint in den Links, die dieses Ereignis über Variablen bereitstellt, der Text "null" anstelle einer Basis-URL. Ein Link wie null?pwdRequestToken=... ist dann effektiv unbrauchbar. |
Beispiel
Eine Eigene Übersicht (s. Eigene Übersichten) zeigt nur Benutzer an, für die folgende Bedingungen erfüllt sind:
Das Feld "Aktiv" hat den Wert false. Das Benutzerkonto ist also "inaktiv".
In der Adresse des Kontos ist mindestens eine Kommunikationsinformation vom Kommunikationstyp "E-Mail" (EMAIL) vorhanden.
Im Ribbon der Übersicht wird für die Rolle "Administrator" ein Button angeboten, das für eine Einfach- oder Mehrfachauswahl ein Eigenes Aktionsevent "Benutzer reaktivieren" (REACTIVATE_USER) auslöst.
Eine Ereignisbehandlung für dieses Ereignis soll das Benutzerkonto "reaktivieren" und dafür sorgen, dass der betreffende Benutzer per E-Mail einen Link mit "Passwort-Token" erhält, über den ein neues Passwort für das Konto zugewiesen werden kann:
Für allgemeine Benutzer soll der Link die Basis-URL "https://common.doma.in" verwenden.
Für Benutzer, in deren Adresse das Kennzeichenattribut "Vip" (VIP) gesetzt ist, sollen die Basis-URL im Link "https://vip.doma.in" lauten.
Konfiguration:
Als Auslösendes Ereignis dient ein Eigenes Aktionsevent ("Benutzer reaktivieren"), das eigens für diesen Workflow eingerichtet wurde und per Ribbon-Makro aufgerufen wird. Als Prüfende Regel dient eine Typprüfung für den Entitätstyp "Benutzer". Auf weitere Prüfungen kann hier verzichtet werden, da der Kontext der Eigenen Übersicht mit dem Ribbon-Marko die entsprechenden Einschränkungen beinhaltet (nur "inaktive" Benutzer mit E-Mail-Adresse als "Kommunikationsinformation"). Unter Aktion bei bestandener Regel werden die folgenden zwei Ereignisaktionen ausgeführt:
|
|