Rimuovi un membro
DELETE /fapi/v1/organizations/{org_id}/memberships/{membership_id} · chiamato dall'host di accesso dell'ambiente
Rimuove un membro dall'organizzazione. L'appartenenza diventa removed, e le sessioni e i token dell'utente per questa organizzazione vengono revocati; il suo account e le sue altre organizzazioni non vengono toccati.
Richiede il cookie __Host-idp_session dell'utente autenticato con un Origin esatto, oppure il access token della front API di un'applicazione di prima parte (Authorization: DPoP <token> con una DPoP proof; vedi Front API access token). L'utente deve essere un membro attivo dell'organizzazione con l'autorizzazione idp_members:remove. Un utente che non è membro riceve 404 not_found; un membro senza l'autorizzazione riceve 403 insufficient_permissions.
Rimuovere un membro è un'azione sensibile: l'utente deve aver effettuato l'accesso negli ultimi 5 minuti. In caso contrario la risposta è 401 step_up_required con WWW-Authenticate che indica max_age=300; fai effettuare di nuovo l'accesso all'utente con maxAge: 300 e riprova. Questo controllo viene eseguito prima di leggere qualsiasi dato sull'organizzazione.
- Non puoi rimuovere qui la tua appartenenza (
403 insufficient_permissions). - Solo un membro con il ruolo di admin può rimuovere un membro che ha un ruolo privilegiato (
403 role_not_assignable). - L'ultimo admin attivo non può essere rimosso (
409 last_org_admin).
Con @keenauth/js: await keenauth.organizations.removeMember(orgId, membershipId).
Richiesta
Intestazioni:
| Intestazione | Obbligatoria | Descrizione |
|---|---|---|
Idp-Client |
sì | Identificatore dell'SDK. |
Origin |
sì, con il cookie | https://<host di accesso>. |
If-Match |
no | Una sola versione, "<versione>", dall'elenco dei membri. Una versione che non corrisponde, o più di una versione, restituisce 412 precondition_failed. |
org_id: l'identificatore dell'organizzazione (org_…). membership_id: l'identificatore dell'appartenenza (mem_…).
Nessun body.
Risposta
204 No Content.
Errori
| Stato | Codice | Quando |
|---|---|---|
| 400 | malformed_request |
If-Match è malformato. |
| 401 | unauthenticated |
Nessun cookie di sessione o token valido. |
| 401 | step_up_required |
L'utente ha effettuato l'accesso più di 5 minuti fa. |
| 403 | insufficient_permissions |
L'utente non ha idp_members:remove, oppure l'appartenenza è la sua. |
| 403 | role_not_assignable |
Il membro ha un ruolo privilegiato e l'utente non ha il ruolo di admin. |
| 403 | origin_not_allowed |
L'Origin non corrisponde. |
| 404 | not_found |
Nessuna organizzazione o appartenenza del genere per questo utente; un identificatore sconosciuto, malformato o di un altro utente riceve la stessa risposta. |
| 409 | last_org_admin |
Il membro è l'ultimo admin attivo dell'organizzazione. |
| 409 | organization_disabled |
L'organizzazione è disabilitata o in attesa di cancellazione (organization_pending_deletion). |
| 412 | precondition_failed |
If-Match non corrisponde alla versione attuale dell'appartenenza. |
| 503 | service_unavailable |
Temporaneamente non disponibile; riprova dopo Retry-After. |
Esempio
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
Dati personali
Questo endpoint tratta dati personali: appartenenze alle organizzazioni e inviti. Dati personali nelle API di KeenAuth descrive cosa viene memorizzato, per quanto tempo viene conservato e come viene cancellato. Non inviare categorie particolari di dati personali (salute, dati biometrici, religione, opinioni politiche, orientamento sessuale) in nessun campo.