Casi d'uso reali: Espandere il tuo sistema di autenticazione con i webhook
Scopri casi reali di utilizzo dei webhook di Logto per l'autenticazione e l'autorizzazione, inclusi l'invio di email di benvenuto, la sincronizzazione dei dati al tuo database, l'aggiornamento dei ruoli/permessi degli utenti in tempo reale e l'integrazione con analisi di terze parti.
Con il webhook di Logto, puoi ricevere aggiornamenti in tempo reale su eventi specifici, come la registrazione degli utenti, l'accesso o il reset della password, senza dover continuamente interrogare per gli aggiornamenti. Quando un evento viene attivato, Logto invia una richiesta HTTP contenente informazioni sull'evento a un URL di endpoint che specifichi. La tua applicazione può ricevere la richiesta e prendere azioni personalizzate in base ai dati, come inviare un'email o aggiornare un database.
Ci sono alcune funzionalità che potresti non trovare direttamente nel console di Logto, ma puoi considerare se puoi utilizzare i webhook per monitorare il comportamento degli utenti per raggiungerle.
Scenari d'uso dei webhook di Logto
Il webhook offre possibilità illimitate per i sistemi di autenticazione. Ecco alcuni casi d'uso reali di cui fornirò esempi:
1. Inviare email o notifica
“Posso usare Logto Email per inviare agli utenti un'email di benvenuto personalizzata con un link di accesso? Usiamo login solo con codice di verifica, senza password.”
Sebbene il servizio email di Logto non supporti attualmente email di benvenuto dirette, questo è uno scenario classico per i webhook. Usa l'evento User.Created
, e quando il tuo endpoint riceve le informazioni di registrazione dell'utente, manda immediatamente un'email di benvenuto all'email dell'utente.
Allo stesso modo, notifica gli utenti dopo gli aggiornamenti dei ruoli, informa gli amministratori sui nuovi membri o invia messaggi bot a Slack o Discord per tenere aggiornata la tua squadra.
2. Sincronizzazione dei dati
“Se elimino un utente nel console amministratore, come faccio a sincronizzarlo con altri sistemi?”
Usa l'evento User.Deleted
per ottenere il cambio di stato dell'utente eliminato e sincronizzarlo con altri sistemi. Puoi anche cancellare immediatamente la sessione di login dell'utente, il che sarà utile per la gestione cross-app degli utenti.
“Ho diverse app sotto il mio tenant Logto. Ho bisogno di un webhook per rilevare la creazione degli utenti, assicurandomi che sia gestita da un'app specifica.”
Usa l'evento PostRegister
, e il Payload conterrà informazioni AppId
, che ti aiuteranno a gestire il design dell'esperienza personalizzata di più servizi app.
3. Effettuare chiamate API aggiuntive
“Quando cambio i permessi di un utente, deve disconnettersi e ricollegarsi per far sì che l'aggiornamento abbia effetto. Può avvenire automaticamente?”
Se un amministratore cambia un ruolo utente o aggiunge nuovi permessi a un utente, di default, l'utente deve ricollegarsi o acconsentire a aggiornare il token di accesso. Se vuoi che il cambiamento di autorizzazione abbia effetto immediatamente, puoi usare il webhook User.Data.Updated
per la notifica, e abilitare il consenso o emettere nuovi token di accesso di conseguenza.
Inoltre, puoi anche usare tempi di scadenza brevi per i token di accesso o chiamare periodicamente gli endpoint Management API per ottenere ruoli e permessi degli utenti, ma solo tramite webhook puoi ottenere gli aggiornamenti più tempestivi.
“Voglio aggiungere ogni nuovo utente al mio database, inviarli a una pagina ‘Configura la tua organizzazione’, e consentire inviti organizzativi solo per gli utenti successivi. Logto può supportarlo?”
Innanzitutto, è necessaria la sincronizzazione dei dati, per utilizzare il webhook Post.Register
per aggiungere il nuovo utente al tuo database. Poi, usa Logto management API per progettare la tua pagina di prompt per il settaggio di un'organizzazione e inviti.
4. Analisi dei dati
“Posso collegare Logto al mio strumento di analisi (Google Analytics, Umami, Plausible, ecc.) per tracciare gli accessi degli utenti?”
Se hai bisogno di analizzare dati relativi agli accessi o autorizzazioni degli utenti, puoi utilizzare la funzionalità webhook di Logto. Puoi ascoltare i webhook inviati da Logto e poi integrare i dati in strumenti di analisi di terze parti.
Confermare se hai bisogno dei webhook
Step 1: Conferma se ci sono eventi Webhook di cui hai bisogno
Il webhook è diviso in due categorie, a livello di account e a livello di organizzazione, tutti gli eventi sono mostrati di seguito:
Per facilitare i tuoi scenari di segmentazione e ottenere dati corrispondenti, è diviso in dettaglio. Tuttavia, se hai bisogno di informazioni da più eventi contemporaneamente, puoi selezionare più eventi per un Webhook.
Nota: Gli eventi del tipo “Interazione Utente” catturano le azioni degli utenti all'interno dell'interfaccia, escludendo le modifiche avviate dall'amministratore. Gli eventi del tipo “Utente” comprendono tutte le azioni degli utenti, comprese quelle degli amministratori e degli utenti finali. Ad esempio, l'evento PostRegister
si riferisce all'utente che si registra nell'esperienza di accesso, mentre User.Created
include tutti i nuovi utenti registrati dall'utente nell'interfaccia UI e aggiunti dall'amministratore.
Step 2: Conferma se il payload della richiesta ha le informazioni di cui hai bisogno per ottenere
Eventi diversi trasportano informazioni diverse, puoi confermare se le informazioni esistenti possono soddisfare direttamente le esigenze del tuo caso d'uso. Ad esempio, id
, username
, primary email
, profile
, customData
, identities
, lastSignInAt
, createdAt
, applicationId
, isSuspended
, OrganizationId
, OrganizationRoleId
, OrganizationScopeId
, ecc. Per i dettagli, consulta Webhook request. Se no, puoi anche usare Management API per continuare a ottenere informazioni rilevanti sugli utenti.
Step 3: Combina con Management API per espandere capacità avanzate
Puoi anche usare Logto Management API per implementare ulteriore gestione e configurazione delle funzioni.
Conclusione
Gli eventi webhook di Logto non solo coprono un'ampia gamma di scenari, ma assicurano anche trasmissione sicura attraverso la verifica della chiave di firma e dell'intestazione personalizzata. E puoi visualizzare il dashboard del webhook di Logto per monitorare la trasmissione di ciascun webhook nelle ultime 24 ore.