Kullanıcının oturumlarını iptal et
POST /v1/users/{user_id}/sessions:revoke · izin sessions:write
Kullanıcının oturumlarını ve onlara bağlı refresh token ailelerini iptal eder; bu oturumlarla verilmiş access token'lar introspection ve iptal denetiminde artık kabul edilmez. Gövdesiz (ya da {} ile) çağrı kullanıcının bütün oturumlarını iptal eder. En çok bir süzgeç verilebilir:
session_id: yalnız o oturum (kullanıcıya ait olmalıdır, değilse404).org_id: o org bağlamında açılmış oturumlar ve kullanıcının o org'a ait refresh token aileleri.client_id: yalnız o uygulamanın bu kullanıcıdaki refresh token aileleri; oturumlar açık kalır. Uygulama kimliği (app_…) verilir; Client ID Metadata Document uygulamasının URL biçimliclient_id'si kabul edilmez.
Zaten iptal edilmiş ya da süresi dolmuş oturumlar sayılmaz; tekrar çağrı sıfır sayılarla başarılı olur. Her iptal yönetim audit'ine yazılır. Yeniden denemeleri güvenli kılmak için Idempotency-Key başlığı gönderin.
İstek
| Parametre | Yer | Zorunlu | Açıklama |
|---|---|---|---|
user_id |
path | evet | usr_ önekli kullanıcı kimliği. |
İsteğe bağlı gövde (en çok bir alan):
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
session_id |
string | hayır | ses_ önekli oturum kimliği. |
org_id |
string | hayır | org_ önekli org kimliği. |
client_id |
string | hayır | app_ önekli uygulama kimliği. |
Yanıt
200 OK.
{
"revoked_sessions": 2,
"revoked_token_families": 3
}
client_id süzgecinde revoked_sessions 0'dır (oturumlar açık kalır).
Hatalar
Her hata, kararlı bir code taşıyan application/problem+json gövdesidir.
| HTTP | code |
Ne zaman |
|---|---|---|
| 400 | malformed_request, unknown_field |
Gövde geçerli JSON değil ya da bilinmeyen alan taşıyor. |
| 415 | unsupported_media_type |
Gövde Content-Type: application/json olmadan gönderildi. |
| 422 | validation_failed |
Birden çok süzgeç (mutually_exclusive), biçimsiz kimlik (invalid_value) ya da org veya uygulama bu ortamda yok (/org_id ya da /client_id işaretçisinde not_found). |
| 404 | not_found |
Kullanıcı bu ortamda yok ya da session_id kullanıcının oturumu değil. |
| 401 | unauthenticated |
API anahtarı yok, geçersiz ya da iptal edilmiş. |
| 403 | insufficient_permissions |
Anahtarda sessions:write izni yok. |
| 429 | rate_limited |
Hız sınırı aşıldı; Retry-After değerine uyun. |
| 503 | service_unavailable |
Bir bağımlılık geçici olarak kullanılamıyor; sonra yeniden deneyin. |
Örnek
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