Webhooks-Anfrage
Sobald ein gültiges Hook-Ereignis ausgelöst wird, sucht Logto nach entsprechenden Webhooks und sendet eine POST-Anfrage pro Hook-Konfiguration.
Anfrage-Header
Schlüssel | Anpassbar | Anmerkungen |
---|---|---|
user-agent | ✅ | Standardmäßig Logto (https://logto.io/) . |
content-type | ✅ | Standardmäßig application/json . |
logto-signature-sha-256 | Die Signatur des Anfragetextes, siehe Sicherung deiner Webhooks. |
Du kannst anpassbare Header überschreiben, indem du die Anfrage-Header anpasst mit demselben Schlüssel.
Anfragetext für Interaktions-Hook-Ereignisse
Verfügbare Ereignisse: PostRegister
, PostSignIn
, PostResetPassword
Der Anfragetext ist ein JSON-Objekt, das drei Arten von Datenfeldern enthält:
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;
};
Feld | Typ | Optional | Anmerkungen |
---|---|---|---|
hookId | string | Der Bezeichner in Logto. | |
event | string | Welches Ereignis diesen Hook auslöst. | |
createdAt | string | Die Erstellungszeit der Nutzlast im ISO-Format. | |
interactionEvent | string | Das Interaktionsereignis, das diesen Hook auslöst. | |
sessionId | string | ✅ | Die Sitzungs-ID (nicht Interaktions-ID) für dieses Ereignis, falls zutreffend. |
userAgent | string | ✅ | Der User-Agent für die Anfrage, die diesen Hook auslöst. |
userIp | string | ✅ | Die IP-Adresse für die Anfrage, die diesen Hook auslöst. |
userId | string | ✅ | Die zugehörige Benutzer-ID für dieses Ereignis, falls zutreffend. |
user | UserEntity | ✅ | Die zugehörige Benutzerentität für dieses Ereignis, falls zutreffend. |
applicationId | string | ✅ | Die zugehörige Anwendungs-ID für dieses Ereignis, falls zutreffend. |
application | ApplicationEntity | ✅ | Die zugehörigen Anwendungsinformationen für dieses Ereignis, falls zutreffend. |
Siehe Benutzer und Anwendungen Referenz für detaillierte Felderklärungen.
Anfragetext für Datenmutations-Hook-Ereignisse
Standard-Anfragetextfelder
Feld | Typ | Optional | Anmerkungen |
---|---|---|---|
hookId | string | Der Bezeichner in Logto. | |
event | string | Welches Ereignis diesen Hook auslöst. | |
createdAt | string | Die Erstellungszeit der Nutzlast im ISO-Format. | |
userAgent | string | ✅ | Der User-Agent für die Anfrage. |
ip | string | ✅ | Die IP-Adresse für die Anfrage. |
Interaktions-API-Kontextfelder
Datenmutations-Hook-Ereignisse, die durch Benutzerinteraktions-API-Aufrufe ausgelöst werden.
Verfügbare Ereignisse: User.Created
, User.Data.Updated
Feld | Typ | Optional | Anmerkungen |
---|---|---|---|
interactionEvent | string | ✅ | Das Interaktionsereignis, das diesen Hook auslöst. |
sessionId | string | ✅ | Die Sitzungs-ID (nicht Interaktions-ID) für dieses Ereignis, falls zutreffend. |
applicationId | string | ✅ | Die zugehörige Anwendungs-ID für dieses Ereignis, falls zutreffend. |
application | ApplicationEntity | ✅ | Die zugehörigen Anwendungsinformationen für dieses Ereignis, falls zutreffend. |
Management-API-Kontextfelder
Datenmutations-Hook-Ereignisse, die durch Management-API-Aufrufe ausgelöst werden.
Feld | Typ | Optional | Anmerkungen |
---|---|---|---|
path | string | ✅ | Der Pfad des API-Aufrufs, der diesen Hook auslöst. |
method | string | ✅ | Die Methode des API-Aufrufs, der diesen Hook auslöst. |
status | number | ✅ | Der Antwortstatuscode des API-Aufrufs, der diesen Hook auslöst. |
params | object | ✅ | Die Anfrage-Koa-Pfadparameter des API-Aufrufs, der diesen Hook auslöst. |
matchedRoute | string | ✅ | Die Koa-übereinstimmende Route des API-Aufrufs, der diesen Hook auslöst. Logto verwendet dieses Feld, um die aktivierten Hook-Ereignisse zuzuordnen. |
Daten-Nutzlastfelder
Benutzerereignisse
Ereignis | Feld | Typ | Optional | Anmerkungen |
---|---|---|---|---|
User.Created | data | UserEntity | Die erstellte Benutzerentität für dieses Ereignis. | |
User.Data.Updated | data | UserEntity | Die aktualisierte Benutzerentität für dieses Ereignis. | |
User.Deleted | data | null | / |
Rollenereignisse
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;
};
Ereignis | Feld | Typ | Optional | Anmerkungen |
---|---|---|---|---|
Role.Created | data | Role | Die erstellte Rollenentität für dieses Ereignis. | |
Role.Data.Updated | data | Role | Die aktualisierte Rollenentität für dieses Ereignis. | |
Role.Deleted | data | null | ||
Role.Scope.Updated | data | Scope[] | Die aktualisierten Berechtigungen, die der Rolle zugewiesen sind. | |
Role.Scope.Updated | roleId | string | ✅ | Die Rollen-ID, der Berechtigungen zugewiesen sind. (Nur verfügbar, wenn das Ereignis durch das Erstellen einer neuen Rolle mit vorab zugewiesenen Berechtigungen ausgelöst wurde) |
Berechtigungsereignisse (Scope)
Ereignis | Feld | Typ | Optional | Anmerkungen |
---|---|---|---|---|
Scope.Created | data | Scope | Die erstellte Berechtigungsentität für dieses Ereignis. | |
Scope.Data.Updated | data | Scope | Die aktualisierte Berechtigungsentität für dieses Ereignis. | |
Scope.Deleted | data | null | / |
Organisationsereignisse
type Organization = {
id: string;
name: string;
description?: string;
customData: object;
createdAt: number;
};
Ereignis | Feld | Typ | Optional | Anmerkungen |
---|---|---|---|---|
Organization.Created | data | Organization | Die erstellte Organisationsentität für dieses Ereignis. | |
Organization.Data.Updated | data | Organization | Die aktualisierte Organisationsentität für dieses Ereignis. | |
Organization.Deleted | data | null | / | |
Organization.Membership.Updated | data | null | / |
Organisationsrollenereignisse
type OrganizationRole = {
id: string;
name: string;
description?: string;
};
type OrganizationScope = {
id: string;
name: string;
description?: string;
};
Ereignis | Feld | Typ | Optional | Anmerkungen |
---|---|---|---|---|
OrganizationRole.Created | data | OrganizationRole | Die erstellte Organisationsrollenentität für dieses Ereignis. | |
OrganizationRole.Data.Updated | data | OrganizationRole | Die aktualisierte Organisationsrollenentität für dieses Ereignis. | |
OrganizationRole.Deleted | data | null | / | |
OrganizationRole.Scope.Updated | data | null | / | |
OrganizationRole.Scope.Updated | organizationRoleId | string | ✅ | Die Rollen-ID, der Berechtigungen zugewiesen sind. (Nur verfügbar, wenn das Ereignis durch das Erstellen einer neuen Rolle mit vorab zugewiesenen Berechtigungen ausgelöst wurde) |
Organisationsberechtigungsereignisse (OrganizationScope)
Ereignis | Feld | Typ | Optional | Anmerkungen |
---|---|---|---|---|
OrganizationScope.Created | data | OrganizationScope | Die erstellte Organisationsberechtigungsentität. | |
OrganizationScope.Data.Updated | data | OrganizationScope | Die aktualisierte Organisationsberechtigungsentität. | |
OrganizationScope.Deleted | data | null | / |