Echte Anwendungsfälle: Dein Auth-System mit Webhooks erweitern
Entdecke echte Anwendungsfälle zur Nutzung von Logto-Webhooks für Authentifizierung und Autorisierung, einschließlich dem Versenden von Willkommens-E-Mails, Datensynchronisierung mit deiner Datenbank, Aktualisierung von Benutzerrollen/-berechtigungen in Echtzeit und Integration mit Drittanbieter-Analysen.
Mit dem Logto-Webhook kannst du in Echtzeit Updates zu bestimmten Ereignissen erhalten, wie z.B. Benutzerregistrierung, Anmelden oder Passwort-Zurücksetzung, ohne ständig nach Updates zu fragen. Wenn ein Ereignis ausgelöst wird, sendet Logto eine HTTP-Anfrage mit Informationen über das Ereignis an eine von dir festgelegte Endpunkt-URL. Deine Anwendung kann die Anfrage empfangen und basierend auf den Daten benutzerdefinierte Aktionen ausführen, wie z.B. das Senden einer E-Mail oder das Aktualisieren einer Datenbank.
Einige Funktionen findest du möglicherweise nicht direkt in der Logto-Konsole, aber du kannst überlegen, ob du Webhooks verwenden kannst, um das Benutzerverhalten zu überwachen, um sie zu erreichen.
Anwendungsszenarien von Logto-Webhooks
Webhooks bieten unbegrenzte Möglichkeiten für Auth-Systeme. Hier sind einige echte Anwendungsfälle, für die ich Beispiele geben werde:
1. E-Mail oder Benachrichtigung senden
„Kann ich Logto Email benutzen, um Benutzern eine benutzerdefinierte Willkommens-E-Mail mit einem Anmeldelink zu senden? Wir nutzen nur die Verifizierungscode-Anmeldung, keine Passwörter.“
Auch wenn der E-Mail-Dienst von Logto derzeit keine direkten Willkommens-E-Mails unterstützt, ist dies ein klassischer Anwendungsfall für Webhooks. Verwende das User.Created
-Ereignis und sende, wenn dein Endpunkt die Benutzerregistrierungsdaten empfängt, sofort eine Willkommens-E-Mail an die E-Mail des Benutzers.
Ähnlich kannst du Benutzer nach Rollenaktualisierungen benachrichtigen, Administratoren über neue Mitglieder informieren oder Bot-Nachrichten an Slack oder Discord senden, um dein Team auf dem Laufenden zu halten.
2. Datensynchronisierung
„Wenn ich einen Benutzer in der Admin-Konsole lösche, wie synchronisiere ich das mit anderen Systemen?“
Verwende das User.Deleted
-Ereignis, um den Statuswechsel des gelöschten Benutzers zu erhalten und ihn auf andere Systeme zu synchronisieren. Du kannst auch sofort die Anmeldungssitzung des Benutzers löschen, was für die Benutzerverwaltung über mehrere Apps hinweg von Vorteil ist.
„Ich habe mehrere Apps unter meinem Logto-Mandanten. Ich brauche einen Webhook, um die Benutzererstellung zu erkennen und sicherzustellen, dass sie von einer bestimmten App bearbeitet wird.“
Verwende das PostRegister
-Ereignis, und der Payload enthält AppId
-Informationen, die dir bei der Gestaltung personalisierter Erlebnisse für mehrere App-Dienste helfen.
3. Zusätzliche API-Aufrufe durchführen
„Wenn ich die Berechtigungen eines Benutzers ändere, muss er sich abmelden und erneut anmelden, damit die Aktualisierung wirksam wird. Kann das automatisch geschehen?“
Wenn ein Administrator die Rolle eines Benutzers ändert oder neue Berechtigungen hinzufügt, muss sich der Benutzer standardmäßig erneut anmelden oder zustimmen, um das Zugriffstoken zu aktualisieren. Wenn du möchtest, dass die Autorisierungsänderung sofort wirksam wird, kannst du den Webhook User.Data.Updated
für Benachrichtigungen verwenden und entsprechend die erneute Zustimmung ermöglichen oder neue Zugriffstoken ausstellen.
Zusätzlich kannst du auch kurze Ablaufzeiten für Zugriffstoken verwenden oder regelmäßig Management-API Endpunkte aufrufen, um Benutzerrollen und Berechtigungen abzurufen, aber nur durch Webhooks kannst du die aktuellsten Updates erhalten.
„Ich möchte jeden neuen Benutzer zu meiner Datenbank hinzufügen, ihn zu einer 'Organisation einrichten'-Seite schicken und nur Einladungen für nachfolgende Benutzer erlauben. Kann Logto das unterstützen?“
Zuerst ist eine Datensynchronisierung erforderlich. Verwende den Webhook Post.Register
, um neue Benutzer zu deiner Datenbank hinzuzufügen. Dann benutze die Logto-Management-API, um deine Eingabeseite für die Organisationseinrichtung und Einladungen zu gestalten.
4. Datenanalyse
„Kann ich Logto mit meinem Analyse-Tool (Google Analytics, Umami, Plausible, etc.) verbinden, um Benutzeranmeldungen zu verfolgen?“
Wenn du Datenanalysen in Bezug auf Benutzeranmeldungen oder Autorisierungen durchführen möchtest, kannst du die Webhook-Funktionalität von Logto nutzen. Du kannst Webhooks abhören, die von Logto gesendet werden, und die Daten dann in Drittanbieter-Analysetools integrieren.
Überprüfen, ob du Webhooks benötigst
Schritt 1: Überprüfen, ob es benötigte Webhook-Ereignisse gibt
Webhooks werden in zwei Kategorien unterteilt: kontoebene und organisationsebene. Alle Ereignisse werden unten angezeigt:
Um deine Segmentierungsszenarien zu erleichtern und passende Daten zu erhalten, ist es detailliert unterteilt. Wenn du jedoch Informationen aus mehreren Ereignissen gleichzeitig benötigst, kannst du mehrere Ereignisse für einen Webhook auswählen.
Hinweis: Ereignisse des Typs „User Interaction“ erfassen Benutzeraktionen innerhalb der Benutzeroberfläche, ohne von Administratoren initiierte Änderungen einzuschließen. Ereignisse des Typs „User“ umfassen alle Benutzeraktionen, einschließlich derjenigen von Administratoren und Endbenutzern. Zum Beispiel bezieht sich das Ereignis PostRegister
auf den Benutzer, der sich im Anmeldeerlebnis registriert, während User.Created
alle neuen Benutzer umfasst, die über die Benutzeroberfläche vom Benutzer registriert und vom Administrator hinzugefügt wurden.
Schritt 2: Prüfen, ob der Request-Payload die benötigten Informationen enthält
Verschiedene Ereignisse tragen unterschiedliche Informationen, du kannst überprüfen, ob die vorhandenen Informationen deine Anwendungsanforderungen direkt erfüllen können. Zum Beispiel id
, username
, primary email
, profile
, customData
, identities
, lastSignInAt
, createdAt
, applicationId
, isSuspended
, OrganizationId
, OrganizationRoleId
, OrganizationScopeId
, usw. Für Details siehe Webhook-Anfrage. Wenn nicht, kannst du auch die Management-API verwenden, um weiterhin relevante Benutzerinformationen zu erhalten.
Schritt 3: Mit Management API kombinieren, um erweiterte Funktionen zu erweitern
Du kannst auch die Logto Management API verwenden, um weitere Management- und Funktionskonfigurationen zu implementieren.
Fazit
Logto-Webhook-Ereignisse decken nicht nur eine Vielzahl von Szenarien ab, sondern gewährleisten auch eine sichere Übertragung durch Überprüfung des Signaturschlüssels und benutzerdefinierte Header. Und du kannst das Logto-Webdashboard nutzen, um die Übertragung zu überwachen jedes Webhooks in den letzten 24 Stunden anzuzeigen.