Révoquer les sessions d'un utilisateur

POST /v1/users/{user_id}/sessions:revoke · autorisation sessions:write

Révoque les sessions de l'utilisateur et les familles de jetons d'actualisation qui y sont liées ; les jetons d'accès qu'elles ont émis cessent d'être acceptés par l'introspection et par la vérification de révocation. Sans corps (ou avec {}), toutes les sessions de l'utilisateur sont révoquées. Un seul filtre peut être donné au plus :

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. Chaque révocation est écrite dans le journal d'audit de gestion. Envoyez un en-tête Idempotency-Key pour rendre les nouvelles tentatives sûres.

Demande

Paramètre Dans Obligatoire Description
user_id chemin oui Identifiant de l'utilisateur, préfixé usr_.

Corps facultatif (un champ au plus) :

Champ Type Obligatoire Description
session_id chaîne non Identifiant de session, préfixé ses_.
org_id chaîne non Identifiant d'organisation, préfixé org_.
client_id chaîne non Identifiant d'application, préfixé app_.

Réponse

200 OK.

{
  "revoked_sessions": 2,
  "revoked_token_families": 3
}

revoked_sessions vaut 0 avec client_id (les sessions restent ouvertes).

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 Plus d'un filtre (mutually_exclusive), un identifiant mal formé (invalid_value), ou l'organisation ou l'application n'existe pas dans cet environnement (not_found à /org_id ou /client_id).
404 not_found L'utilisateur n'existe pas dans cet environnement, ou session_id ne fait pas partie des sessions de l'utilisateur.
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/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/sessions:revoke \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"org_id": "org_0a1b2c3d4e5f6g7h8j9k0m1n2p"}'

CLI : keenauth users sessions revoke usr_0a1b2c3d4e5f6g7h8j9k0m1n2p --org-id org_0a1b2c3d4e5f6g7h8j9k0m1n2p --yes