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.

images/download/attachments/153256746/image-2024-5-6_14-53-45-version-1-modificationdate-1715000025456-api-v2.png

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.


images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg ACHTUNGimages/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg 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
Option

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.

images/download/attachments/153256746/image-2024-5-13_10-12-35-version-1-modificationdate-1715587955148-api-v2.png

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
Textwert


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:

  • Eine Setze Wert-Ereignisaktion "aktiviert" das als Bezugsobjekt vorliegende Benutzerkonto, indem dem Feld "Aktiv" (active) der Boolesche Wert true zugewiesen wird.

  • Die Passwort-Reset-Token erstellen-Ereignisaktion erzeugt einen Token, der dem als Bezugsobjekt vorliegenden Benutzerkonto im Feld "Passwort-Reset-Token" (lastResetPasswordToken) automatisch als Wert zugewiesen wird. Gleichzeitig wird dieses Benutzerkonto zum Speichern beim Abschluss der Transaktion vorgemerkt. Alles Weitere regeln die Parameter:

    • Die Option Passwort-Request-Event auslösen sorgt dafür, dass für das als Bezugsobjekt vorliegende Benutzerkonto das Ereignis "Passwort: Reset angefordert" ausgelöst wird. Wir unterstellen, dass durch dieses Ereignis eine Benachrichtigung des "reaktivierten" Benutzers per E-Mail (in einer weiteren Ereignisbehandlung) ausgelöst wird.

    • Der Parameter Basis-URL der Anwendung weist abhängig vom VIP-Status des Benutzers die "passende" URL (je Zweig in der Fallunterscheidung als statischer Text hinterlegt) für den Link in der Nachricht zu:

images/download/attachments/153256746/image-2024-5-14_10-42-50-version-1-modificationdate-1715676170472-api-v2.png