Zum Hauptinhalt springen

Webhooks

Logto Webhooks bieten Echtzeitbenachrichtigungen für verschiedene Ereignisse, einschließlich Änderungen am Benutzerkonto, Rolle, Berechtigung, Organisation, Organisationsrolle, Organisationsberechtigung und Benutzerinteraktion.

Wenn ein Ereignis ausgelöst wird, sendet Logto eine HTTP-Anfrage an die von dir angegebene Endpoint-URL, die detaillierte Informationen über das Ereignis enthält, wie Benutzer-ID, Benutzername, E-Mail und andere relevante Details (für mehr über die im Payload und Header enthaltenen Daten siehe Webhook-Anfrage). Deine Anwendung kann diese Anfrage verarbeiten und angepasste Aktionen durchführen, wie das Senden einer E-Mail oder das Aktualisieren von Daten in der Datenbank.

Wir fügen kontinuierlich weitere Ereignisse basierend auf den Bedürfnissen der Benutzer hinzu. Wenn du spezifische Anforderungen für dein Unternehmen hast, lass es uns bitte wissen.

Warum Webhook verwenden?

Webhooks bieten Echtzeitkommunikation zwischen Anwendungen, eliminieren die Notwendigkeit für Polling und ermöglichen sofortige Datenaktualisierungen. Sie vereinfachen die Anwendungsintegration und Workflow-Automatisierung ohne komplexen Code oder proprietäre APIs.

Hier sind einige Beispiele für häufige Webhook-Anwendungsfälle für CIAM:

  • E-Mails senden: Konfiguriere einen Webhook, um eine Willkommens-E-Mail an neue Benutzer bei der Registrierung zu senden oder Administratoren zu benachrichtigen, wenn sich ein Benutzer von einem neuen Gerät oder Standort aus anmeldet.
  • Benachrichtigungen senden: Konfiguriere einen Webhook, um einen virtuellen Assistenten mit deinem CRM-System auszulösen, um Echtzeit-Kundensupport zu bieten, wenn sich Benutzer anmelden.
  • Zusätzliche API-Aufrufe durchführen: Konfiguriere einen Webhook, um den Benutzerzugang zu überprüfen, indem du ihre E-Mail-Domain oder IP-Adresse überprüfst und dann die Logto Management API verwendest, um entsprechende Rollen mit Ressourcenberechtigungen zuzuweisen.
  • Daten-Synchronisation: Konfiguriere Webhook, um die Anwendung über Änderungen wie Benutzerkontosperrungen oder -löschungen auf dem Laufenden zu halten.
  • Berichte erstellen: Richte einen Webhook ein, um Daten zur Benutzeranmeldeaktivität zu erhalten und diese zu nutzen, um Berichte über Benutzerengagement oder Nutzungsmuster zu erstellen.

Begriffe

ElementBeschreibung
EreignisWenn eine bestimmte Aktion ausgeführt wird, löst sie ein Hook-Ereignis mit einem bestimmten Typ aus. Z. B. wird Logto ein PostRegister-Hook-Ereignis auslösen, wenn der Benutzer den Anmeldeprozess abgeschlossen und ein neues Konto erstellt hat.
HookEine einzelne oder eine Reihe von Aktionen, die an ein bestimmtes Ereignis gebunden sind. Aktionen können das Aufrufen von APIs, das Ausführen von Code-Snippets usw. sein.
WebhookEin Subtyp von Hook, der das Aufrufen einer API mit dem Ereignis-Payload anzeigt.
Angenommen, ein Entwickler möchte eine Benachrichtigung senden, wenn sich ein Benutzer über ein neues Gerät anmeldet, kann der Entwickler einen Webhook hinzufügen, der seine Sicherheitsdienst-API für das PostSignIn-Ereignis aufruft.

Hier ist ein Beispiel für das Aktivieren von zwei Webhooks für das PostSignIn-Ereignis in Logto:

FAQs

Unterstützt Logto synchronisierte Webhooks?

Obwohl synchronisierte Webhooks den Benutzeranmeldefluss reibungsloser gestalten würden, unterstützen wir sie derzeit noch nicht (wir werden es in Zukunft tun). Daher erfordern Szenarien, die auf synchronisierten Webhooks basieren, derzeit alle unterschiedliche Workarounds. Wenn du Fragen hast, zögere nicht, uns zu kontaktieren.

Wie gehe ich mit Änderungen der Benutzerberechtigungen um?
Wie debugge ich einen Webhook-Timeout?

Für den Endpoint, der Webhooks empfängt, sollte er so schnell wie möglich eine 2xx-Antwort zurückgeben, um Logto mitzuteilen, dass der Webhook erfolgreich empfangen wurde. Da verschiedene Benutzer stark unterschiedliche Verarbeitungslogiken für Webhooks haben, können übermäßig komplexe Aufgaben mehrere Sekunden dauern, was dazu führt, dass der Logto Webhook ein Timeout hat. Die beste Praxis ist, deine eigene Ereigniswarteschlange zu pflegen; beim Empfang des Logto Webhooks das Ereignis in die Warteschlange einfügen und eine 2xx-Antwort an Logto zurückgeben. Lass dann deinen eigenen Worker die Aufgaben in der Warteschlange Schritt für Schritt verarbeiten. Wenn der Worker auf einen Fehler stößt, behebe ihn auf deinem eigenen Server.

Kann ich die Client-IP-Adresse von PostSignIn Webhooks erhalten?

Ja, du kannst die IP-Adresse, Benutzeragenten usw. im Webhook-Payload erhalten. Wenn du Informationen benötigst, die derzeit nicht unterstützt werden, kannst du Feature-Anfragen auf GitHub-Issues erstellen oder uns kontaktieren.