Echte gebruiksgevallen: Je authenticatiesysteem uitbreiden met webhooks
Ontdek echte gebruiksgevallen van het gebruik van Logto-webhooks voor authenticatie en autorisatie, inclusief het verzenden van welkomst-e-mails, het synchroniseren van gegevens naar je database, het in realtime bijwerken van gebruikersrollen/-rechten en integreren met externe analytics.
Met Logto-webhook kun je realtime updates ontvangen over specifieke evenementen, zoals gebruikersregistratie, inloggen of wachtwoord resetten, zonder continu te hoeven controleren op updates. Wanneer een gebeurtenis wordt geactiveerd, stuurt Logto een HTTP-verzoek met informatie over de gebeurtenis naar een eindpunt-URL die je specificeert. Je applicatie kan het verzoek ontvangen en een aangepaste actie ondernemen op basis van de gegevens, zoals het verzenden van een e-mail of het bijwerken van een database.
Er zijn enkele mogelijkheden die je mogelijk niet direct in de Logto-console kunt vinden, maar je kunt overwegen of je een webhook kunt gebruiken om je gebruikersgedrag te monitoren om ze te bereiken.
Gebruiksscenario's van Logto-webhooks
Webhook biedt onbeperkte mogelijkheden voor Auth-systemen. Hier zijn enkele voorbeelden van echte gebruiksgevallen:
1. E-mail of melding verzenden
“Kan ik Logto Email gebruiken om gebruikers een aangepaste welkomst-e-mail te sturen met een inloglink? We gebruiken alleen inloggen met verificatiecode, geen wachtwoorden.”
Hoewel de e-mailservice van Logto momenteel geen directe welkomst-e-mails ondersteunt, is dit een klassiek scenario voor webhooks. Gebruik de User.Created
-gebeurtenis en zodra je eindpunt de gebruikersregistratiegegevens ontvangt, stuur je onmiddellijk een welkomst-e-mail naar het e-mailadres van de gebruiker.
Stuur op dezelfde manier meldingen naar gebruikers na rolupdates, informeer beheerders over nieuwe leden of stuur botberichten naar Slack of Discord om je team op de hoogte te houden.
2. Gegevenssynchronisatie
“Als ik een gebruiker verwijder in de beheerdersconsole, hoe synchroniseer ik dit met andere systemen?”
Gebruik de User.Deleted
-gebeurtenis om de statuswijziging van de verwijderde gebruiker te verkrijgen en naar andere systemen te synchroniseren. Je kunt ook onmiddellijk de inlogsessie van de gebruiker wissen, wat gunstig is voor gebruikersbeheer tussen apps.
“Ik heb meerdere apps onder mijn Logto-tenant. Ik heb een webhook nodig om gebruikersaanmaak te detecteren, zodat het wordt afgehandeld door een specifieke app.”
Gebruik de PostRegister
-gebeurtenis en de payload zal AppId
-informatie bevatten, wat je zal helpen om de gepersonaliseerde ervaringsontwerp van meerdere app-services af te handelen.
3. Extra API-aanroepen uitvoeren
“Wanneer ik de rechten van een gebruiker wijzig, moeten ze uitloggen en opnieuw inloggen voordat de update van kracht wordt. Kan dit automatisch gebeuren?”
Als een beheerder de rol van een gebruiker wijzigt of nieuwe rechten toevoegt, moet de gebruiker standaard opnieuw inloggen of toestemming geven om het toegangstoken bij te werken. Als je wilt dat de autorisatie wijziging onmiddellijk effect heeft, kun je de webhook User.Data.Updated
gebruiken voor melding en opnieuw toestemming inschakelen of nieuwe toegangstokens uitgeven.
Daarnaast kun je ook korte vervaltijden voor toegangstokens gebruiken of periodiek Management API eindpunten aanroepen om gebruikersrollen en -rechten te verkrijgen, maar alleen via webhooks kun je de meest tijdige updates krijgen.
“Ik wil elke nieuwe gebruiker aan mijn database toevoegen, naar een ‘Stel je organisatie in’ pagina sturen en alleen organisatie-uitnodigingen toestaan voor volgende gebruikers. Kan Logto dit ondersteunen?”
Eerst is gegevenssynchronisatie vereist om de webhook Post.Register
te gebruiken om een nieuwe gebruiker aan je database toe te voegen. Gebruik vervolgens de Logto-beheerAPI om je promptpagina voor het instellen van een organisatie en uitnodiging te ontwerpen.
4. Data-analyse
“Kan ik Logto verbinden met mijn analysetool (Google Analytics, Umami, Plausible, enz.) om gebruikerslogins bij te houden?”
Als je gegevens wilt analyseren die betrekking hebben op gebruikerslogins of autorisaties, kun je de webhook-functionaliteit van Logto gebruiken. Je kunt luisteren naar webhooks die door Logto worden verzonden en vervolgens de gegevens integreren in externe analysehulpmiddelen.
Bevestigen of je webhooks nodig hebt
Stap 1: Bevestig of er webhook-events zijn die je nodig hebt
Webhook is verdeeld in twee categorieën, accountniveau en organisatieniveau, alle events worden hieronder getoond:
Om je segmentatiescenario's en het verkrijgen van bijpassende gegevens te vergemakkelijken, is het in detail verdeeld. Als je echter informatie van meerdere events tegelijk nodig hebt, kun je meerdere events selecteren voor één webhook.
Opmerking: Events van het type “User Interaction” leggen gebruikersacties vast binnen de UI, met uitzondering van door beheerders geïnitieerde wijzigingen. Events van het type “User” omvatten alle gebruikersacties, inclusief die van beheerders en eindgebruikers. Bijvoorbeeld, het event PostRegister
verwijst naar de gebruiker die registreert in de inlogervaring, terwijl User.Created
alle nieuwe gebruikers omvat die door de gebruiker in de UI-interface worden geregistreerd en door de beheerder zijn toegevoegd.
Stap 2: Bevestig of de request-payload de informatie bevat die je nodig hebt om te verkrijgen
Verschillende events dragen verschillende informatie, je kunt bevestigen of de bestaande informatie direct aan je use case-behoeften kan voldoen. Bijvoorbeeld, id
, gebruikersnaam
, primair e-mail
, profiel
, customData
, identiteiten
, lastSignInAt
, createdAt
, applicationId
, isSuspended
, OrganizationId
, OrganizationRoleId
, OrganizationScopeId
, enz. Voor details, raadpleeg Webhook request. Zo niet, dan kun je ook de Management API gebruiken om relevante gebruikersinformatie te blijven verkrijgen.
Stap 3: Combineer met Management API voor het uitbreiden van geavanceerde capaciteiten
Je kunt ook Logto Management API gebruiken om verder beheer en functieconfiguratie te implementeren.
Conclusie
Logto-webhook events dekken niet alleen een breed scala aan scenario's, maar zorgen ook voor veilige overdracht door middel van het verifiëren van de ondertekeningssleutel en de aangepaste header. En je kunt het Logto-webhookdashboard bekijken om de overdracht te monitoren van elke webhook in de afgelopen 24 uur.