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 | / |