Sitzungen einer Organisation widerrufen
POST /v1/organizations/{org_id}/sessions:revoke · Berechtigung sessions:write
Widerruft jede aktive Sitzung, die im Kontext der Organisation geöffnet wurde, für alle ihre Benutzer, zusammen mit den Refresh-Token-Familien, die für die Organisation ausgestellt wurden oder an diese Sitzungen gebunden sind. Access-Token, die für die Organisation ausgestellt wurden, werden ab diesem Zeitpunkt von Introspection und der Widerrufsprüfung nicht mehr akzeptiert. Verwenden Sie dies nach einem Sicherheitsvorfall oder wenn eine Organisation offboardet wird; um einen einzelnen Benutzer oder eine einzelne Sitzung abzumelden, verwenden Sie Sitzungen eines Benutzers widerrufen.
Der Body muss einen reason enthalten. Er wird nur als Notiz im Verwaltungs-Audit-Datensatz gespeichert; die Sitzungen selbst enden mit dem Widerrufsgrund admin. Bereits widerrufene oder abgelaufene Sitzungen werden nicht mitgezählt; ein wiederholter Aufruf gelingt daher mit Anzahl null. Senden Sie einen Idempotency-Key-Header, damit Wiederholungen sicher sind.
Anfrage
| Parameter | In | Erforderlich | Beschreibung |
|---|---|---|---|
org_id |
path | ja | Organisations-ID mit Präfix org_. |
Body:
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
reason |
string | ja | Ihre Notiz für das Audit-Log: 1-256 Zeichen, keine Steuerzeichen und keine Zeilenumbrüche. |
Antwort
200 OK.
{
"revoked_sessions": 42,
"revoked_token_families": 57
}
| Feld | Beschreibung |
|---|---|
revoked_sessions |
Durch diesen Aufruf widerrufene Sitzungen. |
revoked_token_families |
Durch diesen Aufruf widerrufene Refresh-Token-Familien. |
Fehler
Jeder Fehler ist ein application/problem+json-Body mit einem stabilen code.
| HTTP | code |
Wann |
|---|---|---|
| 400 | malformed_request, unknown_field |
Der Body ist kein gültiges JSON oder enthält ein unbekanntes Feld. |
| 415 | unsupported_media_type |
Ein Body wurde ohne Content-Type: application/json gesendet. |
| 422 | validation_failed |
reason fehlt oder ist leer (required), ist länger als 256 Zeichen (too_long) oder enthält ein Steuerzeichen bzw. einen Zeilenumbruch (invalid_value). |
| 404 | not_found |
Die Organisation existiert in dieser Umgebung nicht. |
| 401 | unauthenticated |
Der API-Schlüssel fehlt, ist ungültig oder widerrufen. |
| 403 | insufficient_permissions |
Dem Schlüssel fehlt die Berechtigung sessions:write. |
| 429 | rate_limited |
Das Ratenlimit wurde überschritten; beachten Sie Retry-After. |
| 503 | service_unavailable |
Eine Abhängigkeit ist vorübergehend nicht verfügbar; später erneut versuchen. |
Beispiel
curl -X POST https://api.eu.keenauth.com/v1/organizations/org_0a1b2c3d4e5f6g7h8j9k0m1n2p/sessions:revoke \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"reason": "Security incident INC-1042"}'
CLI: keenauth organizations sessions revoke org_0a1b2c3d4e5f6g7h8j9k0m1n2p --reason "Security incident INC-1042" --yes