Mitglied entfernen
DELETE /fapi/v1/organizations/{org_id}/memberships/{membership_id} · aufgerufen vom Anmelde-Host der Umgebung
Entfernt ein Mitglied aus der Organisation. Die Mitgliedschaft wird removed, und die Sitzungen und Token des Benutzers für diese Organisation werden widerrufen; das Konto des Benutzers und seine anderen Organisationen bleiben unberührt.
Erforderlich ist entweder das Cookie __Host-idp_session des angemeldeten Benutzers mit einem exakten Origin-Header oder das Front-API-Zugriffstoken einer Erstanbieter-Anwendung (Authorization: DPoP <token> mit einem DPoP-Nachweis; siehe Front-API-Zugriffstoken). Der Benutzer muss aktives Mitglied der Organisation sein und die Berechtigung idp_members:remove besitzen. Ein Benutzer, der kein Mitglied ist, erhält 404 not_found; ein Mitglied ohne die Berechtigung erhält 403 insufficient_permissions.
Das Entfernen eines Mitglieds ist eine sensible Aktion: Der Benutzer muss sich in den letzten 5 Minuten angemeldet haben. Andernfalls lautet die Antwort 401 step_up_required mit WWW-Authenticate, das max_age=300 nennt; melden Sie den Benutzer mit maxAge: 300 erneut an und wiederholen Sie die Anfrage. Diese Prüfung erfolgt, bevor etwas über die Organisation gelesen wird.
- Die eigene Mitgliedschaft können Sie hier nicht entfernen (
403 insufficient_permissions). - Nur ein Mitglied mit der Admin-Rolle kann ein Mitglied mit einer privilegierten Rolle entfernen (
403 role_not_assignable). - Der letzte aktive Admin kann nicht entfernt werden (
409 last_org_admin).
Mit @keenauth/js: await keenauth.organizations.removeMember(orgId, membershipId).
Anfrage
Header:
| Header | Erforderlich | Beschreibung |
|---|---|---|
Idp-Client |
ja | SDK-Kennung. |
Origin |
ja, mit dem Cookie | https://<sign-in host>. |
If-Match |
nein | Eine Version, "<version>", aus der Mitgliederliste. Eine Version, die nicht übereinstimmt, oder mehr als eine Version liefert 412 precondition_failed. |
org_id: die Kennung der Organisation (org_…). membership_id: die Kennung der Mitgliedschaft (mem_…).
Kein Body.
Antwort
204 No Content.
Fehler
| Status | Code | Wann |
|---|---|---|
| 400 | malformed_request |
If-Match ist fehlerhaft. |
| 401 | unauthenticated |
Kein gültiges Sitzungs-Cookie oder Token. |
| 401 | step_up_required |
Der Benutzer hat sich vor mehr als 5 Minuten angemeldet. |
| 403 | insufficient_permissions |
Dem Benutzer fehlt idp_members:remove, oder die Mitgliedschaft ist die eigene des Benutzers. |
| 403 | role_not_assignable |
Das Mitglied hat eine privilegierte Rolle und der Benutzer hat nicht die Admin-Rolle. |
| 403 | origin_not_allowed |
Der Origin-Header stimmt nicht überein. |
| 404 | not_found |
Keine solche Organisation oder Mitgliedschaft für diesen Benutzer; eine unbekannte, fehlerhafte oder fremde Kennung führt zur selben Antwort. |
| 409 | last_org_admin |
Das Mitglied ist der letzte aktive Admin der Organisation. |
| 409 | organization_disabled |
Die Organisation ist deaktiviert oder steht zur Löschung an (organization_pending_deletion). |
| 412 | precondition_failed |
If-Match nennt nicht die aktuelle Version der Mitgliedschaft. |
| 503 | service_unavailable |
Vorübergehend nicht verfügbar; nach Retry-After erneut versuchen. |
Beispiel
curl -X DELETE "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/memberships/mem_01jbz6x8kq3m2n4p5r6s7t8v9b" \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-b cookies.txt
Personenbezogene Daten
Dieser Endpunkt verarbeitet personenbezogene Daten: Organisationsmitgliedschaften und Einladungen. Personenbezogene Daten in den KeenAuth-APIs beschreibt, was gespeichert wird, wie lange es aufbewahrt wird und wie es gelöscht wird. Senden Sie in keinem Feld besondere Kategorien personenbezogener Daten (Gesundheit, biometrische Daten, Religion, politische Meinungen, sexuelle Orientierung).