Révoquer les sessions d'une organisation
POST /v1/organizations/{org_id}/sessions:revoke · autorisation sessions:write
Révoque toutes les sessions actives ouvertes dans le contexte de l'organisation, pour l'ensemble de ses utilisateurs, ainsi que les familles de jetons d'actualisation émises pour l'organisation ou liées à ces sessions. Les jetons d'accès émis pour l'organisation cessent d'être acceptés par l'introspection et par la vérification de révocation à partir de ce moment. Utilisez-le après un incident de sécurité ou lorsqu'une organisation quitte la plateforme ; pour déconnecter un seul utilisateur ou une seule session, utilisez Révoquer les sessions d'un utilisateur.
Le corps doit contenir un reason. Il n'est conservé que comme note sur l'enregistrement d'audit de gestion ; les sessions elles-mêmes se terminent avec le motif de révocation admin. Les sessions déjà révoquées ou expirées ne sont pas comptées, de sorte qu'un appel répété réussit avec des compteurs à zéro. Envoyez un en-tête Idempotency-Key pour rendre les nouvelles tentatives sûres.
Demande
| Paramètre | Dans | Obligatoire | Description |
|---|---|---|---|
org_id |
chemin | oui | Identifiant d'organisation, préfixé org_. |
Corps :
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
reason |
chaîne | oui | Votre note pour le journal d'audit : 1 à 256 caractères, sans caractères de contrôle ni sauts de ligne. |
Réponse
200 OK.
{
"revoked_sessions": 42,
"revoked_token_families": 57
}
| Champ | Description |
|---|---|
revoked_sessions |
Sessions révoquées par cet appel. |
revoked_token_families |
Familles de jetons d'actualisation révoquées par cet appel. |
Erreurs
Chaque erreur est un corps application/problem+json accompagné d'un code stable.
| HTTP | code |
Quand |
|---|---|---|
| 400 | malformed_request, unknown_field |
Le corps n'est pas du JSON valide ou contient un champ inconnu. |
| 415 | unsupported_media_type |
Un corps a été envoyé sans Content-Type: application/json. |
| 422 | validation_failed |
reason est absent ou vide (required), dépasse 256 caractères (too_long) ou contient un caractère de contrôle ou un saut de ligne (invalid_value). |
| 404 | not_found |
L'organisation n'existe pas dans cet environnement. |
| 401 | unauthenticated |
La clé d'API est absente, invalide ou révoquée. |
| 403 | insufficient_permissions |
La clé ne dispose pas de l'autorisation sessions:write. |
| 429 | rate_limited |
La limite de débit a été dépassée ; respectez l'en-tête Retry-After. |
| 503 | service_unavailable |
Une dépendance est temporairement indisponible ; réessayez plus tard. |
Exemple
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