Verkliga användningsfall: Utöka ditt autentiseringssystem med webhooks
Upptäck verkliga fall av hur man använder Logto webhooks för autentisering och auktorisering, inklusive att skicka välkomstmeddelanden, synkronisera data till din databas, uppdatera användarroller/behörigheter i realtid och integrera med tredjepartsanalysverktyg.
Med Logto webhook kan du ta emot uppdateringar i realtid om specifika händelser, såsom användarregistrering, inloggning eller återställning av lösenord, utan att kontinuerligt avfråga för uppdateringar. När en händelse utlöses skickar Logto en HTTP-begäran som innehåller information om händelsen till en slutpunkt-URL du anger. Din applikation kan ta emot begäran och vidta anpassade åtgärder baserade på data, såsom att skicka ett e-postmeddelande eller uppdatera en databas.
Det finns vissa funktioner som du kanske inte hittar direkt i Logto-konsolen, men du kan överväga om du kan använda webhook för att övervaka ditt användarbeteende för att uppnå dem.
Användningsscenarier för Logto webhooks
Webhook ger obegränsade möjligheter för autentiseringssystem. Här är några verkliga användningsfall som jag kommer att ge exempel på:
1. Skicka e-post eller avisering
"Kan jag använda Logto Email för att skicka användare ett anpassat välkomstmeddelande med en inloggningslänk? Vi använder endast verifieringskodeinloggning, inga lösenord."
Även om Logtos e-posttjänst för närvarande inte stöder direkta välkomstmeddelanden, är detta ett klassiskt scenario för webhooks. Använd User.Created
-händelsen, och när din slutpunkt tar emot användarregistreringsinformationen, skicka omedelbart ett välkomstmeddelande till användarens e-post.
På liknande sätt, meddela användare efter rolluppdateringar, informera administratörer om nya medlemmar, eller skicka bot-meddelanden till Slack eller Discord för att hålla ditt team uppdaterat.
2. Datasynkronisering
"Om jag tar bort en användare i administratörskonsolen, hur synkroniserar jag detta med andra system?"
Använd User.Deleted
-händelsen för att få statusändringen av användaren som tas bort och synkronisera den till andra system. Du kan också omedelbart rensa användarens inloggningssession, vilket kommer att vara fördelaktigt för användarhantering mellan olika appar.
"Jag har flera appar under min Logto-klient. Jag behöver en webhook för att upptäcka användarskapande och säkerställa att det hanteras av en specifik app."
Använd PostRegister
-händelsen, och nyttolasten kommer att innehålla AppId
-information, vilket hjälper dig att hantera den personliga upplevelsedesignen av flera apptjänster.
3. Utföra ytterligare API-anrop
"När jag ändrar en användares behörigheter måste de logga ut och logga in igen för att uppdateringen ska träda i kraft. Kan detta ske automatiskt?"
Om en administratör ändrar en användares roll eller lägger till nya behörigheter till en användare, måste användaren enligt standard logga in igen eller ge samtycke för att uppdatera åtkomsttoken. Om du vill att auktorisationsändringen ska träda i kraft omedelbart kan du använda webhooken User.Data.Updated
för avisering och möjliggöra om-samtycke eller utfärdande av nya åtkomsttoken enligt behov.
Dessutom kan du också använda korta utgångstider för åtkomsttoken eller anropa Management API slutpunkter regelbundet för att få användarroller och behörigheter, men endast genom webhooks kan du få de mest aktuella uppdateringarna.
"Jag vill lägga till varje ny användare i min databas, skicka dem till en 'Ställ in din organisation'-sida och endast tillåta organisationens inbjudningar för efterföljande användare. Kan Logto stödja detta?"
Först krävs datasynkronisering, använd webhooken Post.Register
för att lägga till ny användare i din databas. Använd sedan Logto management API för att designa din uppmaningssida för att ställa in en organisation och inbjudan.
4. Dataanalys
"Kan jag ansluta Logto till mitt analysverktyg (Google Analytics, Umami, Plausible, etc.) för att spåra användarinloggningar?"
Om du behöver analysera data relaterade till användarinloggningar eller auktorisationer kan du använda Logtos webhookfunktionalitet. Du kan lyssna på webhooks som skickas av Logto och sedan integrera datan i tredjepartsanalysverktyg.
Bekräfta om du behöver webhooks
Steg 1: Bekräfta om det finns Webhook-händelser du behöver
Webhook delas in i två kategorier, konto-nivå och organisations-nivå, alla händelser visas nedan:
För att underlätta dina segmenteringsscenarier och erhålla matchande data, är det uppdelat i detalj. Men om du behöver information från flera händelser samtidigt kan du välja flera händelser för en Webhook.
Obs: Händelser av typen "Användarinteraktion" fångar upp användaråtgärder inom gränssnittet, exklusive ändringar initierade av administratörer. Händelser av typen "Användare" omfattar alla användaråtgärder, inklusive de från administratörer och slutanvändare. Till exempel hänvisar händelsen PostRegister
till att användaren registrerar sig i inloggningsupplevelsen, medan User.Created
inkluderar alla nya användare registrerade av användaren i gränssnittet och tillagda av administratören.
Steg 2: Bekräfta om begärans nyttolast har den information du behöver erhålla
Olika händelser bär på olika information, du kan bekräfta om den befintliga informationen direkt kan uppfylla dina användningsfallsbehov. Till exempel, id
, användarnamn
, primär e-post
, profil
, anpassadeData
, identiteter
, senastInloggadPå
, skapadPå
, applikationsId
, ärSuspenderad
, OrganisationId
, OrganisationRollId
, OrganisationScopeId
, etc. För detaljer, se Webhook-begäran. Om inte, kan du också använda Management API för att fortsätta hämta relevant användarinformation.
Steg 3: Kombinera med Management API för att utöka avancerade kapaciteter
Du kan också använda Logto Management API för att implementera vidare hantering och funktionskonfiguration.
Slutsats
Logto webhook-händelser täcker inte bara ett brett spektrum av scenarier, utan säkerställer också säker överföring genom att verifiera Signeringsnyckel och anpassad header. Och du kan se Logto webhook-dashboarden för att övervaka överföringen av varje webhook under de senaste 24 timmarna.