Requête de Webhooks
Une fois qu'un événement de hook valide est émis, Logto trouvera les webhooks correspondants et enverra une requête POST par configuration de hook.
En-têtes de requête
Clé | Personnalisable | Remarques |
---|---|---|
user-agent | ✅ | Logto (https://logto.io/) par défaut. |
content-type | ✅ | application/json par défaut. |
logto-signature-sha-256 | la signature du corps de la requête, se référer à sécuriser vos webhooks. |
Vous pouvez remplacer les en-têtes personnalisables en personnalisant les requêtes avec la même clé.
Corps de requête des événements de hook d'interaction
Événements disponibles : PostRegister
, PostSignIn
, PostResetPassword
Le corps de la requête est un objet JSON qui contient trois types de champ de données :
type UserEntity = {
id: string;
username?: string;
primaryEmail?: string;
primaryPhone?: string;
name?: string;
avatar?: string;
customData?: object;
identities?: object;
lastSignInAt?: string;
createdAt?: string;
applicationId?: string;
isSuspended?: boolean;
};
type ApplicationEntity = {
id: string;
name: string;
description?: string;
};
Champ | Type | Optionnel | Remarques |
---|---|---|---|
hookId | string | L'identifiant dans Logto. | |
event | string | Quel événement déclenche ce hook. | |
createdAt | string | L'heure de création de la charge utile au format ISO. | |
interactionEvent | string | L'événement d'interaction qui déclenche ce hook. | |
sessionId | string | ✅ | L'ID de session (pas l'ID d'interaction) pour cet événement, si applicable. |
userAgent | string | ✅ | L'agent utilisateur pour la requête qui déclenche ce hook. |
userIp | string | ✅ | L'adresse IP pour la requête qui déclenche ce hook. |
userId | string | ✅ | L'ID utilisateur associé à cet événement, si applicable. |
user | UserEntity | ✅ | L'entité utilisateur associée à cet événement, si applicable. |
applicationId | string | ✅ | L'ID d'application associé à cet événement, si applicable. |
application | ApplicationEntity | ✅ | Les informations de l'application associée à cet événement, si applicable. |
Voir les références Utilisateurs et Applications pour des explications détaillées des champs.
Corps de requête des événements de hook de mutation de données
Champs standard du corps de la requête
Champ | Type | Optionnel | Remarques |
---|---|---|---|
hookId | string | L'identifiant dans Logto. | |
event | string | Quel événement déclenche ce hook. | |
createdAt | string | L'heure de création de la charge utile au format ISO. | |
userAgent | string | ✅ | L'agent utilisateur pour la requête. |
ip | string | ✅ | L'adresse IP pour la requête. |
Champs du corps de contexte de l'API d'interaction
Événements de hook de mutation de données déclenchés par des appels d'API d'interaction utilisateur.
Événements disponibles : User.Created
, User.Data.Updated
Champ | Type | Optionnel | Remarques |
---|---|---|---|
interactionEvent | string | ✅ | L'événement d'interaction qui déclenche ce hook. |
sessionId | string | ✅ | L'ID de session (pas l'ID d'interaction) pour cet événement, si applicable. |
applicationId | string | ✅ | L'ID d'application associé à cet événement, si applicable. |
application | ApplicationEntity | ✅ | Les informations de l'application associée à cet événement, si applicable. |
Champs du corps de contexte de l'API de gestion
Événements de hook de mutation de données déclenchés par des appels d'API de gestion.
Champ | Type | Optionnel | Remarques |
---|---|---|---|
path | string | ✅ | Le chemin de l'appel API qui déclenche ce hook. |
method | string | ✅ | La méthode de l'appel API qui déclenche ce hook. |
status | number | ✅ | Le code de statut de la réponse de l'appel API qui déclenche ce hook. |
params | object | ✅ | Les paramètres de chemin koa de la requête de l'appel API qui déclenche ce hook. |
matchedRoute | string | ✅ | La route koa correspondante de l'appel API qui déclenche ce hook. Logto utilise ce champ pour faire correspondre les événements de hook activés. |
Champs du corps de la charge utile de données
Événements utilisateur
Événement | Champ | Type | Optionnel | Remarques |
---|---|---|---|---|
User.Created | data | UserEntity | L'entité utilisateur créée pour cet événement. | |
User.Data.Updated | data | UserEntity | L'entité utilisateur mise à jour pour cet événement. | |
User.Deleted | data | null | / |
Événements de rôle
type Role = {
id: string;
name: string;
description: string;
type: 'User' | 'MachineToMachine';
isDefault: boolean;
};
type Scope = {
id: string;
name: string;
description: string;
resourceId: string;
createdAt: number;
};
Événement | Champ | Type | Optionnel | Remarques |
---|---|---|---|---|
Role.Created | data | Role | L'entité de rôle créée pour cet événement. | |
Role.Data.Updated | data | Role | L'entité de rôle mise à jour pour cet événement. | |
Role.Deleted | data | null | ||
Role.Scope.Updated | data | Scope[] | Les portées mises à jour assignées au rôle. | |
Role.Scope.Updated | roleId | string | ✅ | L'ID du rôle auquel les portées sont assignées. (Disponible uniquement lorsque l'événement a été déclenché par la création d'un nouveau rôle avec des portées pré-assignées) |
Événements de permission (Portée)
Événement | Champ | Type | Optionnel | Remarques |
---|---|---|---|---|
Scope.Created | data | Scope | L'entité de portée créée pour cet événement. | |
Scope.Data.Updated | data | Scope | L'entité de portée mise à jour pour cet événement. | |
Scope.Deleted | data | null | / |
Événements d'organisation
type Organization = {
id: string;
name: string;
description?: string;
customData: object;
createdAt: number;
};
Événement | Champ | Type | Optionnel | Remarques |
---|---|---|---|---|
Organization.Created | data | Organization | L'entité d'organisation créée pour cet événement. | |
Organization.Data.Updated | data | Organization | L'entité d'organisation mise à jour pour cet événement. | |
Organization.Deleted | data | null | / | |
Organization.Membership.Updated | data | null | / |
Événements de rôle d'organisation
type OrganizationRole = {
id: string;
name: string;
description?: string;
};
type OrganizationScope = {
id: string;
name: string;
description?: string;
};
Événement | Champ | Type | Optionnel | Remarques |
---|---|---|---|---|
OrganizationRole.Created | data | OrganizationRole | L'entité de rôle d'organisation créée pour cet événement. | |
OrganizationRole.Data.Updated | data | OrganizationRole | L'entité de rôle d'organisation mise à jour pour cet événement. | |
OrganizationRole.Deleted | data | null | / | |
OrganizationRole.Scope.Updated | data | null | / | |
OrganizationRole.Scope.Updated | organizationRoleId | string | ✅ | L'ID du rôle auquel les portées sont assignées. (Disponible uniquement lorsque l'événement a été déclenché par la création d'un nouveau rôle avec des portées pré-assignées) |
Événements de permission d'organisation (Portée d'organisation)
Événement | Champ | Type | Optionnel | Remarques |
---|---|---|---|---|
OrganizationScope.Created | data | OrganizationScope | L'entit é de portée d'organisation créée. | |
OrganizationScope.Data.Updated | data | OrganizationScope | L'entité de portée d'organisation mise à jour. | |
OrganizationScope.Deleted | data | null | / |