Cas d'utilisation réels : Étendre votre système d'authentification avec des webhooks
Découvrez des cas réels d'utilisation des webhooks Logto pour l'authentification et l'autorisation, y compris l'envoi d'emails de bienvenue, la synchronisation des données avec votre base de données, la mise à jour des rôles/permissions des utilisateurs en temps réel et l'intégration avec des outils d'analyse tiers.
Avec le webhook Logto, vous pouvez recevoir des mises à jour en temps réel sur des événements spécifiques, tels que l'inscription d'un utilisateur, la connexion ou la réinitialisation de mot de passe, sans interroger continuellement pour des mises à jour. Lorsqu'un événement est déclenché, Logto envoie une requête HTTP contenant des informations sur l'événement à une URL de point de terminaison que vous spécifiez. Votre application peut recevoir la requête et prendre des mesures personnalisées basées sur les données, comme envoyer un email ou mettre à jour une base de données.
Il existe des capacités que vous ne trouverez pas directement dans la console Logto, mais vous pouvez envisager d'utiliser les webhooks pour surveiller le comportement de vos utilisateurs afin de les réaliser.
Scénarios d'utilisation des webhooks Logto
Le webhook offre des possibilités illimitées pour les systèmes d'authentification. Voici quelques cas réels que je vais illustrer :
1. Envoyer un email ou une notification
“Puis-je utiliser Logto Email pour envoyer un email de bienvenue personnalisé avec un lien de connexion ? Nous utilisons une connexion par code de vérification uniquement, sans mots de passe.”
Bien que le service d'email de Logto ne prenne actuellement pas en charge les emails de bienvenue directs, c'est un scénario classique pour les webhooks. Utilisez l'événement User.Created
, et lorsque votre point de terminaison reçoit les informations d'inscription de l'utilisateur, envoyez immédiatement un email de bienvenue à l'utilisateur.
De même, informez les utilisateurs après les mises à jour de rôle, informez les administrateurs des nouveaux membres, ou envoyez des messages par bot à Slack ou Discord pour tenir votre équipe informée.
2. Synchronisation des données
“Si je supprime un utilisateur dans la console d'administration, comment puis-je le synchroniser avec d'autres systèmes ?”
Utilisez l'événement User.Deleted
pour obtenir le changement de statut de l'utilisateur supprimé et le synchroniser avec d'autres systèmes. Vous pouvez également immédiatement effacer la session de connexion de l'utilisateur, ce qui sera bénéfique pour la gestion des utilisateurs inter-applications.
“J'ai plusieurs applications sous mon tenant Logto. J'ai besoin d'un webhook pour détecter la création d'utilisateur, en m'assurant qu'elle est gérée par une application spécifique.”
Utilisez l'événement PostRegister
, et la charge utile contiendra l'information AppId
, ce qui vous aidera à gérer la conception d'expérience personnalisée de plusieurs services d'application.
3. Effectuer des appels API supplémentaires
“Lorsque je change les autorisations d’un utilisateur, il doit se déconnecter et se reconnecter pour que la mise à jour prenne effet. Cela peut-il se faire automatiquement ?”
Si un administrateur change le rôle d'un utilisateur ou ajoute de nouvelles autorisations à un utilisateur, par défaut, l'utilisateur doit se reconnecter ou consentir à mettre à jour le jeton d'accès. Si vous souhaitez que le changement d'autorisation prenne effet immédiatement, vous pouvez utiliser le webhook User.Data.Updated
pour la notification, et activer le re-consentement ou l'émission de nouveaux jetons d'accès en conséquence.
En outre, vous pouvez également utiliser de courts délais d'expiration des jetons d'accès ou appeler périodiquement les points de terminaison de l'API de gestion pour obtenir les rôles et autorisations des utilisateurs, mais seuls les webhooks vous permettent d'obtenir les mises à jour les plus récentes.
“Je veux ajouter chaque nouvel utilisateur à ma base de données, les envoyer à une page 'Configurer votre organisation', et permettre uniquement des invitations d'organisation pour les utilisateurs suivants. Logto peut-il prendre en charge cela ?”
Tout d'abord, une synchronisation des données est requise, pour utiliser le webhook Post.Register
pour ajouter un nouvel utilisateur à votre base de données. Ensuite, utilisez l'API de gestion Logto pour concevoir votre page de configuration d'organisation et d'invitation.
4. Analyse des données
“Puis-je connecter Logto à mon outil d'analyse (Google Analytics, Umami, Plausible, etc.) pour suivre les connexions des utilisateurs ?”
Si vous devez analyser des données liées aux connexions ou autorisations des utilisateurs, vous pouvez utiliser la fonctionnalité de webhooks de Logto. Vous pouvez écouter les webhooks envoyés par Logto et ensuite intégrer les données dans des outils d'analyse tiers.
Confirmer si vous avez besoin de webhooks
Étape 1 : Confirmez s'il existe des événements Webhook dont vous avez besoin
Le webhook est divisé en deux catégories, niveau compte et niveau organisation, tous les événements sont montrés ci-dessous :
Pour faciliter la segmentation de vos scénarios et obtenir des données correspondantes, le tout est divisé en détail. Cependant, si vous avez besoin d'informations provenant de plusieurs événements en même temps, vous pouvez sélectionner plusieurs événements pour un même Webhook.
Remarque : Les événements de type “Interaction utilisateur” capturent les actions des utilisateurs au sein de l'interface, à l'exclusion des changements initiés par un administrateur. Les événements de type “Utilisateur” englobent toutes les actions des utilisateurs, y compris celles des administrateurs et des utilisateurs finaux. Par exemple, l'événement PostRegister
se réfère à l'utilisateur s'inscrivant dans l'expérience de connexion, tandis que User.Created
inclut tous les nouveaux utilisateurs inscrits par l'utilisateur dans l'interface UI et ajoutés par l'administrateur.
Étape 2 : Confirmez si la charge utile de la requête a les informations que vous devez obtenir
Différents événements transportent différentes informations, vous pouvez confirmer si les informations existantes peuvent directement répondre à vos besoins. Par exemple, id
, username
, primary email
, profile
, customData
, identities
, lastSignInAt
, createdAt
, applicationId
, isSuspended
, OrganizationId
, OrganizationRoleId
, OrganizationScopeId
, etc. Pour plus de détails, veuillez vous référer à Webhook request. Si ce n'est pas le cas, vous pouvez également utiliser l'API de gestion pour continuer à obtenir les informations utilisateur pertinentes.
Étape 3 : Combiner avec l'API de gestion pour étendre les capacités avancées
Vous pouvez également utiliser l'API de gestion Logto pour implémenter une gestion plus poussée et une configuration fonctionnelle.
Conclusion
Les événements de webhooks Logto couvrent non seulement une large gamme de scénarios, mais assurent également une transmission sécurisée grâce à la vérification de la clé de signature et de l'en-tête personnalisé. Et vous pouvez consulter le tableau de bord des webhooks Logto pour surveiller la transmission de chaque webhook au cours des dernières 24 heures.