Zum Hauptinhalt springen

Webhooks-Anfrage

Sobald ein gültiges Hook-Ereignis ausgelöst wird, sucht Logto die entsprechenden Webhooks und sendet pro Hook-Konfiguration eine POST-Anfrage.

Anfrage-Header

KeyAnpassbarHinweise
user-agentStandardmäßig Logto (https://logto.io/).
content-typeStandardmäßig application/json.
logto-signature-sha-256Die Signatur des Anfrage-Bodys, siehe Webhooks absichern.

Du kannst anpassbare Header überschreiben, indem du Anfrage-Header anpasst mit dem gleichen Schlüssel.

Interaction-Hook-Events Anfrage-Body

Verfügbare Ereignisse: PostRegister, PostSignIn, PostResetPassword

Der Anfrage-Body 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;
};
enum ApplicationType {
Native = 'Native',
SPA = 'SPA',
Traditional = 'Traditional',
MachineToMachine = 'MachineToMachine',
Protected = 'Protected',
SAML = 'SAML',
}

type ApplicationEntity = {
id: string;
type: ApplicationType;
name: string;
description?: string;
};
FeldTypOptionalHinweise
hookIdstringDie Kennung in Logto.
eventstringDas Ereignis, das diesen Hook auslöst.
createdAtstringDas Erstellungsdatum der Nutzlast im ISO-Format.
interactionEventstringDas Interaktionsereignis, das diesen Hook auslöst.
sessionIdstringDie Session-ID (nicht Interaction-ID) für dieses Ereignis, falls zutreffend.
userAgentstringDer User-Agent für die Anfrage, die diesen Hook auslöst.
userIpstringDie IP-Adresse für die Anfrage, die diesen Hook auslöst.
userIdstringDie zugehörige Benutzer-ID für dieses Ereignis, falls zutreffend.
userUserEntityDie zugehörige Benutzer-Entität für dieses Ereignis, falls zutreffend.
applicationIdstringDie zugehörige Anwendungs-ID für dieses Ereignis, falls zutreffend.
applicationApplicationEntityDie zugehörigen Anwendungsinformationen für dieses Ereignis, falls zutreffend.

Siehe Benutzer und Anwendungen für detaillierte Feldbeschreibungen.

Datenmutations-Hook-Events Anfrage-Body

Standard-Anfrage-Body-Felder

FeldTypOptionalHinweise
hookIdstringDie Kennung in Logto.
eventstringDas Ereignis, das diesen Hook auslöst.
createdAtstringDas Erstellungsdatum der Nutzlast im ISO-Format.
userAgentstringDer User-Agent für die Anfrage.
ipstringDie IP-Adresse für die Anfrage.

Interaction-API-Kontext-Body-Felder

Datenmutations-Hook-Events, die durch Benutzer-Interaktions-API-Aufrufe ausgelöst werden.

Verfügbare Ereignisse: User.Created, User.Data.Updated

FeldTypOptionalHinweise
interactionEventstringDas Interaktionsereignis, das diesen Hook auslöst.
sessionIdstringDie Session-ID (nicht Interaction-ID) für dieses Ereignis, falls zutreffend.
applicationIdstringDie zugehörige Anwendungs-ID für dieses Ereignis, falls zutreffend.
applicationApplicationEntityDie zugehörigen Anwendungsinformationen für dieses Ereignis, falls zutreffend.

Management-API-Kontext-Body-Felder

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

FeldTypOptionalHinweise
pathstringDer Pfad des API-Aufrufs, der diesen Hook auslöst.
methodstringDie Methode des API-Aufrufs, der diesen Hook auslöst.
statusnumberDer Antwort-Statuscode des API-Aufrufs, der diesen Hook auslöst.
paramsobjectDie Koa-Pfad-Parameter des API-Aufrufs, der diesen Hook auslöst.
matchedRoutestringDie Koa-Matched-Route des API-Aufrufs, der diesen Hook auslöst. Logto verwendet dieses Feld, um die aktivierten Hook-Events zuzuordnen.

Daten-Payload-Body-Felder

Benutzer-Ereignisse

EreignisFeldTypOptionalHinweise
User.CreateddataUserEntityDie erstellte Benutzer-Entität für dieses Ereignis.
User.Data.UpdateddataUserEntityDie aktualisierte Benutzer-Entität für dieses Ereignis.
User.Deleteddatanull/

Rollen-Ereignisse

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;
};
EreignisFeldTypOptionalHinweise
Role.CreateddataRolle (Role)Die erstellte Rollen-Entität für dieses Ereignis.
Role.Data.UpdateddataRolle (Role)Die aktualisierte Rollen-Entität für dieses Ereignis.
Role.Deleteddatanull
Role.Scope.UpdateddataScope[]Die aktualisierten Berechtigungen (Scopes), die der Rolle zugewiesen sind.
Role.Scope.UpdatedroleIdstringDie 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)

Berechtigungs- (Scope-) Ereignisse

EreignisFeldTypOptionalHinweise
Scope.CreateddataScopeDie erstellte Berechtigungs-Entität für dieses Ereignis.
Scope.Data.UpdateddataScopeDie aktualisierte Berechtigungs-Entität für dieses Ereignis.
Scope.Deleteddatanull/

Organisations-Ereignisse

type Organization = {
id: string;
name: string;
description?: string;
customData: object;
createdAt: number;
};
EreignisFeldTypOptionalHinweise
Organization.CreateddataOrganisation (Organization)Die erstellte Organisations-Entität für dieses Ereignis.
Organization.Data.UpdateddataOrganisation (Organization)Die aktualisierte Organisations-Entität für dieses Ereignis.
Organization.Deleteddatanull/
Organization.Membership.Updateddatanull/

OrganisationRollen-Ereignisse

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

Organisationsberechtigungs- (OrganizationScope-) Ereignisse

EreignisFeldTypOptionalHinweise
OrganizationScope.CreateddataOrganizationScopeDie erstellte Organisationsberechtigungs-Entität.
OrganizationScope.Data.UpdateddataOrganizationScopeDie aktualisierte Organisationsberechtigungs-Entität.
OrganizationScope.Deleteddatanull/

Ausnahme-Hook-Events Anfrage-Body

Verfügbare Ereignisse: Identifier.Lockout

Der Anfrage-Body ist ein JSON-Objekt, das die Standard-Anfrage-Body-Felder und zusätzliche Felder wie unten enthält:

enum SignInIdentifier {
Email = 'email',
Phone = 'phone',
Username = 'username',
}
FeldTypOptionalHinweise
hookIdstringDie Kennung in Logto.
eventstringDas Ereignis, das diesen Hook auslöst.
createdAtstringDas Erstellungsdatum der Nutzlast im ISO-Format.
userAgentstringDer User-Agent für die Anfrage.
ipstringDie IP-Adresse für die Anfrage.
interactionEventstringDas Interaktionsereignis, das diesen Hook auslöst.
sessionIdstringDie Session-ID (nicht Interaction-ID) für dieses Ereignis, falls zutreffend.
applicationIdstringDie zugehörige Anwendungs-ID für dieses Ereignis, falls zutreffend.
applicationApplicationEntityDie zugehörigen Anwendungsinformationen für dieses Ereignis, falls zutreffend.
typeSignInIdentifierDer Identifikatortyp des Benutzers, z. B. E-Mail, Telefon oder Benutzername.
valuestringDer Identifikatorwert des Benutzers, der die Sperrung ausgelöst hat.