Rzeczywiste przypadki użycia: Rozszerzanie systemu uwierzytelniania za pomocą webhooków
Odkryj rzeczywiste przypadki użycia webhooków Logto do uwierzytelniania i autoryzacji, w tym wysyłanie powitalnych e-maili, synchronizację danych z bazą danych, aktualizowanie ról/permisji użytkowników w czasie rzeczywistym oraz integrację z zewnętrznymi narzędziami analitycznymi.
Dzięki webhookom Logto możesz otrzymywać aktualizacje w czasie rzeczywistym dotyczące określonych zdarzeń, takich jak rejestracja użytkownika, logowanie lub resetowanie hasła, bez potrzeby ciągłego sondowania aktualizacji. Kiedy zdarzenie jest wyzwalane, Logto wysyła żądanie HTTP zawierające informacje o zdarzeniu na określony przez Ciebie adres URL. Twoja aplikacja może odebrać żądanie i podjąć dostosowane działania na podstawie danych, takie jak wysłanie e-maila lub aktualizacja bazy danych.
Istnieją pewne funkcje, których możesz nie znaleźć bezpośrednio w konsoli Logto, ale możesz rozważyć użycie webhooków do monitorowania zachowań użytkowników w celu ich osiągnięcia.
Scenariusze użycia webhooków Logto
Webhook oferuje nieograniczone możliwości dla systemów Auth. Oto kilka rzeczywistych przypadków użycia, które zostaną podane jako przykłady:
1. Wysyłanie e-maili lub powiadomień
„Czy mogę użyć Logto Email do wysyłania użytkownikom niestandardowych wiadomości powitalnych z linkiem do logowania? Używamy tylko kodów weryfikacyjnych, bez haseł.”
Chociaż usługa e-mail Logto obecnie nie obsługuje bezpośrednich e-maili powitalnych, jest to klasyczny scenariusz dla webhooków. Użyj zdarzenia User.Created
, a gdy Twój Endpoint otrzyma informacje o rejestracji użytkownika, natychmiast wyślij e-mail powitalny na adres e-mail użytkownika.
Podobnie, powiadom użytkowników po aktualizacji ról, poinformuj administratorów o nowych członkach lub wyślij wiadomości bota na Slacka lub Discorda, aby Twoja drużyna była na bieżąco.
2. Synchronizacja danych
„Jeśli usunę użytkownika w konsoli administracyjnej, jak mogę zsynchronizować to z innymi systemami?”
Użyj zdarzenia User.Deleted
, aby uzyskać zmianę statusu usunięcia użytkownika i zsynchronizować to z innymi systemami. Możesz również natychmiast wyczyścić sesję logowania użytkownika, co będzie korzystne dla zarządzania użytkownikami między aplikacjami.
„Mam kilka aplikacji pod moim dzierżawcą Logto. Potrzebuję webhooka, aby wykrywał tworzenie użytkowników i pilnowanie, że jest obsługiwane przez konkretną aplikację.”
Użyj zdarzenia PostRegister
, a Payload będzie zawierał informacje AppId
, które pomogą Ci obsługiwać projektowanie spersonalizowanych doświadczeń dla wielu aplikacji.
3. Wykonywanie dodatkowych wywołań API
„Kiedy zmieniam uprawnienia użytkownika, musi się ona wylogować i zalogować ponownie, aby aktualizacja weszła w życie. Czy to może się dziać automatycznie?”
Jeśli administrator zmienia rolę użytkownika lub dodaje nowe uprawnienia, domyślnie użytkownik musi ponownie się zalogować lub wyrazić zgodę na aktualizację tokenu dostępu. Jeśli chcesz, aby zmiana autoryzacji miała natychmiastowy efekt, możesz użyć webhooka User.Data.Updated
do powiadomienia, a także umożliwić ponowne wyrażenie zgody lub wydanie nowych tokenów dostępu.
Ponadto możesz używać krótkich czasów wygaśnięcia tokenów dostępu lub okresowo wywoływać punkty końcowe Management API dosjeć ról i uprawnień użytkowników, ale tylko przez webhooki możesz uzyskać najbardziej aktualne informacje.
„Chcę dodać każdego nowego użytkownika do mojej bazy danych, wysłać ich na stronę 'Skonfiguruj swoją organizację' i pozwolić na zaproszenia do organizacji dla kolejnych użytkowników. Czy Logto to obsługuje?”
Najpierw wymagana jest synchronizacja danych, użyj webhooka Post.Register
, aby dodać nowego użytkownika do bazy danych. Następnie użyj API zarządzania Logto, aby zaprojektować swoją stronę z promptami do ustawienia organizacji i zaproszenia.
4. Analiza danych
„Czy mogę podłączyć Logto do mojego narzędzia analitycznego (Google Analytics, Umami, Plausible itd.), aby śledzić logowania użytkowników?”
Jeśli potrzebujesz analizować dane związane z logowaniami lub autoryzacjami użytkowników, możesz skorzystać z funkcji webhooków Logto. Możesz nasłuchiwać na webhooki wysyłane przez Logto, a następnie zintegrować dane z zewnętrznymi narzędziami analitycznymi.
Potwierdź, czy potrzebujesz webhooków
Krok 1: Potwierdź, czy są potrzebne zdarzenia webhooka
Webhook dzieli się na dwie kategorie: poziom konta i poziom organizacji, wszystkie zdarzenia są pokazane poniżej:
Aby ułatwić segmentację scenariuszy i uzyskać pasujące dane, podział jest szczegółowy. Jednak jeśli potrzebujesz informacji z kilku zdarzeń jednocześnie, możesz wybrać kilka zdarzeń dla jednego webhooka.
Uwaga: Zdarzenia typu „Interakcja użytkownika” przechwytują działania użytkownika w interfejsie użytkownika, z wyłączeniem zmian inicjowanych przez administratora. Zdarzenia typu „Użytkownik” obejmują wszystkie działania użytkowników, w tym adminów i użytkowników końcowych. Na przykład, zdarzenie PostRegister
odnosi się do rejestracji użytkownika w doświadczeniu logowania, podczas gdy User.Created
obejmuje wszystkich nowych użytkowników zarejestrowanych przez użytkownika w interfejsie użytkownika i dodanych przez administratora.
Krok 2: Potwierdź, czy zawartość żądania ma potrzebne informacje
Różne zdarzenia niosą różne informacje, możesz potwierdzić, czy istniejące informacje mogą bezpośrednio spełniać Twoje potrzeby w przypadku użycia. Na przykład id
, username
, primary email
, profile
, customData
, identities
, lastSignInAt
, createdAt
, applicationId
, isSuspended
, OrganizationId
, OrganizationRoleId
, OrganizationScopeId
itp. Szczegóły można znaleźć w żądaniu webhooka. Jeśli nie, możesz również użyć Management API, aby kontynuować uzyskiwanie odpowiednich informacji o użytkownikach.
Krok 3: Połącz z Management API, aby rozszerzyć zaawansowane możliwości
Możesz również użyć Logto Management API do implementacji dalszego zarządzania i konfiguracji funkcji.
Wnioski
Zdarzenia webhook Logto obejmują nie tylko szeroki zakres scenariuszy, ale także zapewniają bezpieczną transmisję poprzez weryfikację klucza podpisu i własnego nagłówka. Możesz także przeglądać dashboard webhook Logto, aby monitorować transmisję każdego webhooka w ciągu ostatnich 24 godzin.