Ereignisse
Alle verfügbaren Webhook-Ereignistypen und ihre Nutzlaststrukturen.
Ereignis-Umschlag
Jedes Ereignis verwendet dieselbe Top-Level-Struktur:
{
"event": "user.created",
"data": { ... },
"timestamp": "2026-01-15T10:30:00.000Z"
}Benutzerereignisse
user.createdWird ausgelöst, wenn sich ein neuer Benutzer zum ersten Mal registriert oder über die API erstellt wird.
{
"event": "user.created",
"data": {
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"displayName": "John Doe",
"emailVerified": false,
"isBanned": false,
"avatarUrl": null,
"publicMetadata": null,
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-15T10:30:00.000Z"
}
},
"timestamp": "2026-01-15T10:30:00.000Z"
}user.updatedWird ausgelöst, wenn das Profil oder die Metadaten eines Benutzers aktualisiert werden.
{
"event": "user.updated",
"data": {
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"displayName": "John Doe (Updated)",
"emailVerified": true,
"isBanned": false,
"avatarUrl": "https:0
10: { 11: "pro" },
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-16T09:00:00.000Z"
}
},
"timestamp": "2026-01-16T09:00:00.000Z"
}user.deletedWird ausgelöst, wenn ein Benutzerkonto dauerhaft gelöscht wird. Das Datenfeld enthält einen Snapshot des Benutzers vor der Löschung.
{
"event": "user.deleted",
"data": {
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"displayName": "John Doe",
"createdAt": "2026-01-15T10:30:00.000Z"
}
},
"timestamp": "2026-01-20T11:00:00.000Z"
}user.signinWird ausgelöst, wenn sich ein Benutzer erfolgreich über E-Mail/Passwort oder OAuth anmeldet.
{
"event": "user.signin",
"data": {
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"displayName": "John Doe",
"emailVerified": true,
"isBanned": false
}
},
"timestamp": "2026-01-15T10:30:00.000Z"
}user.signoutWird ausgelöst, wenn sich ein Benutzer explizit abmeldet.
{
"event": "user.signout",
"data": {
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"displayName": "John Doe",
"emailVerified": true,
"isBanned": false
}
},
"timestamp": "2026-01-15T12:00:00.000Z"
}user.bannedWird ausgelöst, wenn ein Benutzer von einem Administrator gesperrt wird. Alle aktiven Sitzungen werden widerrufen.
{
"event": "user.banned",
"data": {
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"displayName": "John Doe",
"isBanned": true
}
},
"timestamp": "2026-01-15T10:30:00.000Z"
}user.unbannedWird ausgelöst, wenn die Sperre eines Benutzers aufgehoben wird.
{
"event": "user.unbanned",
"data": {
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"displayName": "John Doe",
"isBanned": false
}
},
"timestamp": "2026-01-16T10:00:00.000Z"
}Sitzungsereignisse
session.createdWird ausgelöst, wenn eine neue Sitzung erstellt wird — bei der Anmeldung oder Token-Aktualisierung.
{
"event": "session.created",
"data": {
"session": {
"id": "sess_abc123",
"userId": "usr_abc123",
"ipAddress": "203.0.113.1",
"userAgent": "Mozilla/5.0...",
"createdAt": "2026-01-15T10:30:00.000Z"
},
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"displayName": "John Doe"
}
},
"timestamp": "2026-01-15T10:30:00.000Z"
}session.revokedWird ausgelöst, wenn eine Sitzung widerrufen wird — bei der Abmeldung oder einem Admin-Zwangswiderruf.
{
"event": "session.revoked",
"data": {
"session": {
"id": "sess_abc123",
"userId": "usr_abc123",
"ipAddress": "203.0.113.1",
"userAgent": "Mozilla/5.0...",
"createdAt": "2026-01-15T10:30:00.000Z"
},
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"displayName": "John Doe"
}
},
"timestamp": "2026-01-15T11:00:00.000Z"
}Aktion-zu-Ereignis-Zuordnung
Die folgende Tabelle zeigt, welche SDK-Aktionen und Dashboard-Operationen welche Ereignisse auslösen.
| Aktion | Ausgelöste Ereignisse |
|---|---|
| SDK: signup() | user.created + session.created |
| SDK: signin() | user.signin + session.created |
| SDK: signout() | user.signout + session.revoked |
| SDK: OAuth-Anmeldung (neuer Benutzer) | user.created + session.created |
| SDK: OAuth-Anmeldung (vorhandener Benutzer) | user.signin + session.created |
| SDK: refreshTokens() | session.revoked + session.created |
| Dashboard: Benutzer sperren | user.banned |
| Dashboard: Sperre aufheben | user.unbanned |
| Dashboard: Benutzer löschen | user.deleted |
| Dashboard: Metadaten aktualisieren | user.updated |
| Backend-API: Benutzer erstellen | user.created |
| Backend-API: Benutzer aktualisieren | user.updated |
| Backend-API: Benutzer löschen | user.deleted |
| Backend-API: Benutzer sperren | user.banned |
| Backend-API: Sperre aufheben | user.unbanned |
| SDK: revokeSession() | session.revoked |
Handler-Beispiel
Ein minimaler Ereignis-Handler für die häufigsten Benutzer-Synchronisationsfälle:
const { event, data } = JSON.parse(req.body.toString());
switch (event) {
case "user.created":
await db.users.create({ authonId: data.user.id, email: data.user.email });
break;
case "user.updated":
await db.users.update({ authonId: data.user.id }, { name: data.user.displayName });
break;
case "user.deleted":
await db.users.delete({ authonId: data.user.id });
break;
case "user.banned":
await db.users.update({ authonId: data.user.id }, { suspended: true });
break;
case "user.unbanned":
await db.users.update({ authonId: data.user.id }, { suspended: false });
break;
case "session.created":
console.log(`${data.user.email} signed in from ${data.session.ipAddress}`);
break;
}