Zum Hauptinhalt springen

Aktionen

Logto Aktionen ermöglichen es dir, vertrauenswürdigen JavaScript-Code an bestimmten Punkten im Authentifizierungsablauf auszuführen. Eine Aktion läuft synchron ab: Die Authentifizierungsanfrage wartet auf das Skript, und das Skriptergebnis kann den Benutzer aktualisieren oder bestimmen, ob der Ablauf fortgesetzt wird.

Aktionen sind nützlich, wenn die Entscheidung innerhalb des Authentifizierungsablaufs getroffen werden muss. Häufige Anwendungsfälle sind:

  • Migration von Benutzern und Passwörtern aus einem Legacy-Identitätssystem beim ersten Anmelden.
  • Aktualisierung des Benutzerprofils oder anwendungsspezifischer Daten, bevor Logto eine Anmeldung abschließt.
  • Aufruf eines externen Dienstes und Anwendung seines Ergebnisses auf den Logto-Benutzer.
hinweis:

Aktionen sind in Logto Cloud Enterprise-Plänen verfügbar.

warnung:

Aktionsskripte können die Authentifizierung beeinflussen und Benutzerdaten ändern. Nur vertrauenswürdige Administratoren sollten sie anzeigen, erstellen, bearbeiten, testen, aktivieren oder löschen dürfen.

In selbstgehosteten Bereitstellungen laufen Aktionsskripte im Logto-Serverprozess mit dessen Berechtigungen. Das Gewähren von Skriptbearbeitungs- oder Testzugriff entspricht der Gewährung von Codeausführung auf dem Logto-Host, daher sollte die Admin-Konsole nicht mit nicht vertrauenswürdigen Benutzern geteilt werden. Behandle Skripte wie vertrauenswürdigen serverseitigen Code; die Laufzeit begrenzt die Zeit und den Speicher eines Skripts, ist aber keine Sicherheitsgrenze für nicht vertrauenswürdigen Code.

Wie Aktionen in die Anmeldung passen

Logto bietet derzeit zwei Aktionstypen:

AktionstypWann sie ausgeführt wirdWas sie tun kann
Post-First-Factor-VerifizierungWährend einer Passwort-Anmeldung, nur nachdem die lokale Passwortüberprüfung von Logto fehlgeschlagen ist. Sie läuft nicht, wenn das Passwort gültig ist.Die übermittelten Anmeldedaten gegen ein Legacy-System prüfen, dann einen neuen Logto-Benutzer erstellen oder einen bestehenden Benutzer aktualisieren und das Passwort migrieren.
Post-AnmeldungNachdem der Benutzer alle Authentifizierungsfaktoren abgeschlossen hat, einschließlich MFA falls erforderlich, und bevor Logto die Anmeldung abschließt und Tokens ausstellt.Den bestehenden Logto-Benutzer mit dem finalen Anmeldekontext aktualisieren und anreichern.

Beide Aktionstypen laufen nur für SignIn-Interaktionen in der Experience API. Post-First-Factor-Verifizierung gilt nur für Passwort-Anmeldungen; Post-Anmeldung ist unabhängig von der Authentifizierungsmethode.

Skriptmodell

Jeder Aktionstyp hat eine Konfiguration und eine JavaScript-Einstiegsfunktion namens runAction:

const runAction = async ({ event, environmentVariables = {} }) => {
// Das Ereignis inspizieren, optional externe Daten abrufen und
// ein Ergebnis zurückgeben, das von diesem Aktionstyp unterstützt wird.
};

Die Nutzlast enthält:

  • event: Das produktive Authentifizierungsereignis. Die Struktur hängt vom Aktionstyp ab.
  • environmentVariables: Die für diese Aktion konfigurierten Zeichenfolgenwerte. Diese Werte werden durch die Funktionsnutzlast übergeben; sie sind nicht über process.env verfügbar.

Der Editor stellt Typinformationen bereit, aber das gespeicherte Skript wird als JavaScript ausgeführt. Das Skript kann asynchron sein und die injizierte fetch-Funktion verwenden, um externe HTTPS-APIs aufzurufen. Es kann keine Pakete importieren oder auf Node.js-Globals wie require oder process zugreifen.

Das unterstützte Ergebnis ist für jeden Aktionstyp unterschiedlich; siehe die entsprechende Referenzseite, bevor du eine Aktion aktivierst.

Aktionen und Webhooks

Aktionen und Webhooks dienen unterschiedlichen Zwecken:

AktionenWebhooks
AusführungSynchron und im AuthentifizierungsablaufAsynchron und außerhalb der Authentifizierungsanfrage
Kann den aktuellen Authentifizierungsablauf beeinflussenJaNein
Kann einen Benutzer durch das Ergebnis ändernJa, mit dem unterstützten Benutzer-PatchNicht direkt; der Empfänger kann die Management API separat aufrufen
EreignisabdeckungAusgewählte AuthentifizierungspunkteEine breite Palette von Interaktions- und Datenänderungsereignissen
Typische VerwendungAnmeldedatenmigration, Profilanreicherung vor Token-AusstellungBenachrichtigungen, Downstream-Synchronisation, Analytik

Halte asynchrone Arbeiten in Webhooks. Verwende eine Aktion nur, wenn Logto das Ergebnis benötigt, bevor die Authentifizierung fortgesetzt werden kann.

Nächste Schritte