Zum Hauptinhalt springen

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üsselAnpassbarAnmerkungen
user-agent✅Standardmäßig Logto (https://logto.io/).
content-type✅Standardmäßig application/json.
logto-signature-sha-256Die 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;
};
FeldTypOptionalAnmerkungen
hookIdstringDer Bezeichner in Logto.
eventstringWelches Ereignis diesen Hook auslöst.
createdAtstringDie Erstellungszeit der Nutzlast im ISO-Format.
interactionEventstringDas Interaktionsereignis, das diesen Hook auslöst.
sessionIdstring✅Die Sitzungs-ID (nicht Interaktions-ID) für dieses Ereignis, falls zutreffend.
userAgentstring✅Der User-Agent für die Anfrage, die diesen Hook auslöst.
userIpstring✅Die IP-Adresse für die Anfrage, die diesen Hook auslöst.
userIdstring✅Die zugehörige Benutzer-ID für dieses Ereignis, falls zutreffend.
userUserEntity✅Die zugehörige Benutzerentität für dieses Ereignis, falls zutreffend.
applicationIdstring✅Die zugehörige Anwendungs-ID für dieses Ereignis, falls zutreffend.
applicationApplicationEntity✅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​

FeldTypOptionalAnmerkungen
hookIdstringDer Bezeichner in Logto.
eventstringWelches Ereignis diesen Hook auslöst.
createdAtstringDie Erstellungszeit der Nutzlast im ISO-Format.
userAgentstring✅Der User-Agent für die Anfrage.
ipstring✅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

FeldTypOptionalAnmerkungen
interactionEventstring✅Das Interaktionsereignis, das diesen Hook auslöst.
sessionIdstring✅Die Sitzungs-ID (nicht Interaktions-ID) für dieses Ereignis, falls zutreffend.
applicationIdstring✅Die zugehörige Anwendungs-ID für dieses Ereignis, falls zutreffend.
applicationApplicationEntity✅Die zugehörigen Anwendungsinformationen für dieses Ereignis, falls zutreffend.

Management-API-Kontextfelder​

Datenmutations-Hook-Ereignisse, die durch Management-API-Aufrufe ausgelöst werden.

FeldTypOptionalAnmerkungen
pathstring✅Der Pfad des API-Aufrufs, der diesen Hook auslöst.
methodstring✅Die Methode des API-Aufrufs, der diesen Hook auslöst.
statusnumber✅Der Antwortstatuscode des API-Aufrufs, der diesen Hook auslöst.
paramsobject✅Die Anfrage-Koa-Pfadparameter des API-Aufrufs, der diesen Hook auslöst.
matchedRoutestring✅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

EreignisFeldTypOptionalAnmerkungen
User.CreateddataUserEntityDie erstellte Benutzerentität für dieses Ereignis.
User.Data.UpdateddataUserEntityDie aktualisierte Benutzerentität für dieses Ereignis.
User.Deleteddatanull/

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;
};
EreignisFeldTypOptionalAnmerkungen
Role.CreateddataRoleDie erstellte Rollenentität für dieses Ereignis.
Role.Data.UpdateddataRoleDie aktualisierte Rollenentität für dieses Ereignis.
Role.Deleteddatanull
Role.Scope.UpdateddataScope[]Die aktualisierten Berechtigungen, die der Rolle zugewiesen sind.
Role.Scope.UpdatedroleIdstring✅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)

EreignisFeldTypOptionalAnmerkungen
Scope.CreateddataScopeDie erstellte Berechtigungsentität für dieses Ereignis.
Scope.Data.UpdateddataScopeDie aktualisierte Berechtigungsentität für dieses Ereignis.
Scope.Deleteddatanull/

Organisationsereignisse

type Organization = {
id: string;
name: string;
description?: string;
customData: object;
createdAt: number;
};
EreignisFeldTypOptionalAnmerkungen
Organization.CreateddataOrganizationDie erstellte Organisationsentität für dieses Ereignis.
Organization.Data.UpdateddataOrganizationDie aktualisierte Organisationsentität für dieses Ereignis.
Organization.Deleteddatanull/
Organization.Membership.Updateddatanull/

Organisationsrollenereignisse

type OrganizationRole = {
id: string;
name: string;
description?: string;
};
type OrganizationScope = {
id: string;
name: string;
description?: string;
};
EreignisFeldTypOptionalAnmerkungen
OrganizationRole.CreateddataOrganizationRoleDie erstellte Organisationsrollenentität für dieses Ereignis.
OrganizationRole.Data.UpdateddataOrganizationRoleDie aktualisierte Organisationsrollenentität für dieses Ereignis.
OrganizationRole.Deleteddatanull/
OrganizationRole.Scope.Updateddatanull/
OrganizationRole.Scope.UpdatedorganizationRoleIdstring✅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)

EreignisFeldTypOptionalAnmerkungen
OrganizationScope.CreateddataOrganizationScopeDie erstellte Organisationsberechtigungsentität.
OrganizationScope.Data.UpdateddataOrganizationScopeDie aktualisierte Organisationsberechtigungsentität.
OrganizationScope.Deleteddatanull/