Événements Webhooks
Ce guide liste les différents événements webhook de Logto et explique quand chaque événement se produit.
Événements webhook d’interaction utilisateur
| Type d’événement | Description |
|---|---|
| PostRegister | Un utilisateur crée avec succès un nouveau compte via l’interface utilisateur. |
| PostSignIn | Un utilisateur se connecte avec succès via l’interface utilisateur. |
| PostResetPassword | Le mot de passe d’un utilisateur est réinitialisé avec succès via le flux "Mot de passe oublié". |
Événements webhook de mutation de données
Utilisateur
| Type d’événement | Description |
|---|---|
| User.Created | Un nouveau compte utilisateur est créé. |
| User.Deleted | Un compte utilisateur est supprimé. |
| User.Data.Updated | Les données du profil utilisateur sont mises à jour, par exemple e-mail, avatar, custom.data, identifiant social, etc. |
| User.SuspensionStatus.Updated | Le statut de suspension de l’utilisateur est modifié (suspendu ou réactivé). |
Rôle
| Type d’événement | Description |
|---|---|
| Role.Created | Un nouveau rôle est créé. |
| Role.Deleted | Un rôle est supprimé. |
| Role.Data.Updated | Les données d’un rôle sont mises à jour, par exemple nom du rôle, description, statut par défaut. |
| Role.Scopes.Updated | Les permissions attribuées à un rôle sont ajoutées ou supprimées. |
Permission (Portée)
| Type d’événement | Description |
|---|---|
| Scope.Created | Une nouvelle permission API est créée. |
| Scope.Deleted | Une permission API est supprimée. |
| Scope.Data.Updated | Les données d’une permission API sont mises à jour, par exemple la description de la permission. |
Organisation
| Type d’événement | Description |
|---|---|
| Organization.Created | Une nouvelle organisation est créée. |
| Organization.Deleted | Une organisation est supprimée. |
| Organization.Data.Updated | Les données d’une organisation sont mises à jour, par exemple nom, description, custom.data, etc. |
| Organization.Membership.Updated | Des utilisateurs ou applications sont ajoutés ou retirés d’une organisation. Le payload inclut les champs delta de membres. |
Rôle d’organisation
| Type d’événement | Description |
|---|---|
| OrganizationRole.Created | Un nouveau rôle d’organisation est créé. |
| OrganizationRole.Deleted | Un rôle d’organisation est supprimé. |
| OrganizationRole.Data.Updated | Les données d’un rôle d’organisation sont mises à jour, par exemple nom et description. |
| OrganizationRole.Scopes.Updated | Les permissions attribuées à un rôle d’organisation sont ajoutées ou supprimées. |
Permission d’organisation (portée)
| Type d’événement | Description |
|---|---|
| OrganizationScope.Created | Une nouvelle permission d’organisation est créée. |
| OrganizationScope.Deleted | Une permission d’organisation est supprimée. |
| OrganizationScope.Data.Updated | Les données d’une permission d’organisation sont mises à jour, par exemple la description. |
Appareil de confiance
| Type d’événement | Description |
|---|---|
| TrustedDevice.Created | Un enregistrement d’appareil de confiance est créé après une interaction d’authentification réussie. |
| TrustedDevice.Deleted | Un utilisateur ou un administrateur supprime un enregistrement d’appareil de confiance. |
L’expiration naturelle n’émet pas de webhook TrustedDevice.Expired car l’expiration est un changement de validité basé sur le temps et non une mutation applicative. Le payload de TrustedDevice.Created inclut expiresAt afin que les consommateurs puissent déduire la date d’expiration attendue. L’utilisation réussie et les changements de politique d’appareil de confiance n’émettent pas de webhooks de cycle de vie.
Événements déclenchés par Management API
| Point de terminaison API | Événement |
|---|---|
| POST /users | User.Created |
| DELETE /users/:userId | User.Deleted |
| PATCH /users/:userId | User.Data.Updated |
| PATCH /users/:userId/custom-data | User.Data.Updated |
| PATCH /users/:userId/profile | User.Data.Updated |
| PATCH /users/:userId/password | User.Data.Updated |
| PATCH /users/:userId/is-suspended | User.SuspensionStatus.Updated |
| POST /roles | Role.Created, (Role.Scopes.Update) |
| DELETE /roles/:id | Role.Deleted |
| PATCH /roles/:id | Role.Data.Updated |
| POST /roles/:id/scopes | Role.Scopes.Updated |
| DELETE /roles/:id/scopes/:scopeId | Role.Scopes.Updated |
| POST /resources/:resourceId/scopes | Scope.Created |
| DELETE /resources/:resourceId/scopes/:scopeId | Scope.Deleted |
| PATCH /resources/:resourceId/scopes/:scopeId | Scope.Data.Updated |
| POST /organizations | Organization.Created |
| DELETE /organizations/:id | Organization.Deleted |
| PATCH /organizations/:id | Organization.Data.Updated |
| PUT /organizations/:id/users | Organization.Membership.Updated |
| POST /organizations/:id/users | Organization.Membership.Updated |
| DELETE /organizations/:id/users/:userId | Organization.Membership.Updated |
| PUT /organizations/:id/applications | Organization.Membership.Updated |
| POST /organizations/:id/applications | Organization.Membership.Updated |
| DELETE /organizations/:id/applications/:applicationId | Organization.Membership.Updated |
| PUT /organization-invitations/:id/status (Accepted) | Organization.Membership.Updated |
| POST /organization-roles | OrganizationRole.Created, (OrganizationRole.Scopes.Updated) |
| DELETE /organization-roles/:id | OrganizationRole.Deleted |
| PATCH /organization-roles/:id | OrganizationRole.Data.Updated |
| POST /organization-scopes | OrganizationScope.Created |
| DELETE /organization-scopes/:id | OrganizationScope.Deleted |
| PATCH /organization-scopes/:id | OrganizationScope.Data.Updated |
| PUT /organization-roles/:id/scopes | OrganizationRole.Scopes.Updated |
| POST /organization-roles/:id/scopes | OrganizationRole.Scopes.Updated |
| DELETE /organization-roles/:id/scopes/:organizationScopeId | OrganizationRole.Scopes.Updated |
Événements déclenchés par Experience API
| Action d’interaction utilisateur | Événement |
|---|---|
| Liaison e-mail / téléphone utilisateur | User.Data.Updated |
| Liaison MFA utilisateur | User.Data.Updated |
| Liaison sociale / SSO utilisateur | User.Data.Updated |
| Réinitialisation du mot de passe utilisateur | User.Data.Updated |
| Enregistrement utilisateur | User.Created |
| Provisionnement automatique d’un utilisateur dans une organisation via approvisionnement Just-in-Time (domaine e-mail ou connecteur SSO d’entreprise correspondant) | Organization.Membership.Updated |
Événements webhook d’exception
Sécurité
| Type d’événement | Description |
|---|---|
| Identifier.Lockout | Un compte utilisateur est verrouillé suite à des tentatives consécutives de vérification d’identité échouées. Peut être déclenché dans les flux suivants :
|
| Message.RateLimited | Un utilisateur final dépasse la limite d’envoi par destinataire pour les codes de vérification. Déclenché uniquement sur les chemins d’envoi utilisateur final (Experience API et Account API), avec un payload { action, recipient }. |
| Grant.LimitExceeded | Une autorisation réussie fait dépasser à un utilisateur la limite maximale d’appareils authentifiés simultanément pour une application (maxAllowedGrants), donc Logto révoque ses plus anciens accès pour cette application. |
FAQ
Quelle est la différence entre PostRegister et User.Created ?
PostRegister et User.Created ?PostRegister est déclenché lorsqu’un utilisateur crée avec succès un nouveau compte via le flux d’inscription utilisateur ; User.Created est déclenché lorsqu’un nouveau compte utilisateur est créé via Management API.