Kullanıcının giriş durumunu al

GET /v1/users/{user_id}/sign-in-state · izin users:read

Kullanıcı giriş yapamadığında destek ekibinizin ihtiyaç duyduğu bilgileri döndürür: kullanıcının açık hesap kilitlerini, her giriş yolunda hâlâ işleyen başarısız deneme sayılarını ve son başarılı kimlik doğrulamayı. Çağrı yalnızca okuma yapar; hiçbir şey değiştirilmez ve denetim kaydı yazılmaz. Kilitleri kaldırmak için POST /v1/users/{user_id}:unlock kullanın.

Yanıt, sayacın iç konu bilgisini, e-posta adresini, IP adresini, cihazı veya oturum kimliğini hiçbir zaman içermez. Kullanıcının oturumları için GET /v1/users/{user_id}/sessions kullanın.

Kuruluş kapsamı

Bir kuruluş yöneticisi için üye tanılama görünümü oluşturmak üzere org_id gönderin. Bu durumda anahtarın ayrıca organizations:read iznine ihtiyacı vardır; bu izin yoksa istek hiçbir şey okunmadan 403 insufficient_permissions ile başarısız olur. Kullanıcı o kuruluşun üyesi değilse (invited, active veya suspended üyeliği yoksa) istek 404 not_found ile başarısız olur; bu, bilinmeyen bir kullanıcı için dönen yanıtla aynıdır. Kullanıcı üyeyse last_sign_in yalnızca o kuruluş bağlamındaki oturumlardan gelir ve failures her zaman boş bir dizidir, çünkü başarısızlık sayaçları hiçbir kuruluşa atfedilmez. Kilitler yine de döndürülür, çünkü bir kilit hesabın her bağlamda girişini durdurur. org_id gönderilmezse yanıt değişmez.

İstek

Parametre Konum Zorunlu Açıklama
user_id yol evet Kullanıcı kimliği, usr_ öneki ile.
org_id sorgu hayır Kuruluş kimliği, org_ öneki ile. Görünümü o kuruluşla sınırlar; bkz. Kuruluş kapsamı. organizations:read gerektirir.

Yanıt

200 OK.

{
  "locked": true,
  "locked_until": "2026-10-20T10:00:00Z",
  "locks": [
    {"id": "lck_0a1b2c3d4e5f6g7h8j9k0m1n2p", "path": "password",
     "locked_at": "2026-10-20T09:45:00Z", "expires_at": "2026-10-20T10:00:00Z"}
  ],
  "failures": [
    {"path": "totp", "count": 3, "window_ends_at": "2026-10-20T09:55:00Z"}
  ],
  "last_sign_in": {"authenticated_at": "2026-10-19T18:12:04Z", "amr": ["pwd", "otp"], "country": "DE"}
}
Alan Açıklama
locked En az bir giriş yolu kilitli olduğunda true.
locked_until Son açık kilidin biteceği zaman; kilit yoksa null.
locks Açık kilitler, en eskiden en yeniye; yol başına en fazla bir tane (password, totp, sms_2fa, email_2fa, otp, recovery_code).
failures Son başarılı girişten veya son kilitten bu yana, yol başına başarısız denemeler; sayım penceresi çalıştıkça. window_ends_at zamanından sonra sayım baştan başlar. Parola penceresi ortamın brute_force.window_minutes değeridir.
last_sign_in Hâlâ tutulan oturumlar arasındaki en son başarılı kimlik doğrulama: authenticated_at (aynı oturumda yeniden kimlik doğrulama bu zamanı ileri taşır), kimlik doğrulama yöntemleri (amr, RFC 8176) ve oturumun son bilinen ülkesi (bilinmiyorsa null). Hiçbir oturum tutulmuyorsa null: kullanıcı hiç giriş yapmamıştır ya da son oturum 30 günden daha önce sona ermiştir.

Hatalar

Her hata, kararlı bir code içeren bir application/problem+json gövdesidir.

HTTP code Ne zaman
404 not_found Kullanıcı bu ortamda yok (ya da kimlik biçimi hatalı) ya da org_id verilmiş ve kullanıcı o kuruluşun üyesi değil.
401 unauthenticated API anahtarı eksik, geçersiz veya iptal edilmiş.
403 insufficient_permissions Anahtarda users:read izni yok ya da org_id verilmiş ve anahtarda organizations:read 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; daha sonra tekrar deneyin.

Örnek

curl https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/sign-in-state \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

CLI: keenauth users sign-in-state usr_0a1b2c3d4e5f6g7h8j9k0m1n2p