Özne çakışmasını çözme
POST /v1/connections/{connection_id}/subject-conflicts/{conflict_id}:resolve · izin users:write
Açık bir SSO özne çakışmasına yönetici kararı uygular (bkz. Bir bağlantının özne çakışmalarını listeleme). Karar vermeden önce, yeni öznenin kime ait olduğunu kimlik sağlayıcının yöneticisiyle doğrulayın.
resolution |
Anlamı | KeenAuth ne yapar |
|---|---|---|
same_person |
Yeni özne aynı kişiye aittir (örneğin, hesap kimlik sağlayıcıda yeniden oluşturulmuştur). | Kullanıcının bu bağlantıdaki eski kimliğini yeni özneyle değiştirir. Kullanıcı bir sonraki oturum açmada yeni özneyle giriş yapar. |
different_person |
E-posta adresi başka birine verilmiştir. | Kaydı kapatır ve hiçbir şeyi bağlamaz. Yeni kişi mevcut hesaba hiçbir zaman erişemez. |
different_person kararının ardından, yeni kişinin bir sonraki oturum açma girişimi yeni bir kayıt açar. Yeni kişinin oturum açabilmesi için mevcut hesabın e-posta adresini değiştirin ya da bu hesabı engelleyin veya silin; ardından normal oturum açma kuralları uygulanır.
Kimlik değişikliği, ilgili olaylar ve denetim kaydı tek bir işlemde yazılır. Denetim kaydındaki işlemi yapan, çağrıyı gerçekleştiren kimlik bilgisidir.
Aynı kararı tekrar göndermek hiçbir şey yazmadan kaydı döndürür. Çözümlenmiş bir kayıt için farklı bir karar 409 conflict döndürür. Yeniden denemelerde özgün yanıtı geri almak için bir Idempotency-Key gönderin.
İstek
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
connection_id |
yol | evet | Bağlantı kimliği (conn_…). |
conflict_id |
yol | evet | Özne çakışması kimliği (sscf_…). |
resolution |
gövde | evet | same_person veya different_person. |
{ "resolution": "same_person" }
Yanıt
Çözümlenmiş kayıtla birlikte 200 OK:
{
"id": "sscf_01j9xr4a6b8c0d2e4f6g8h0j2k",
"connection_id": "conn_01j9xp6q0r1s5t7v9w1x3y5z7b",
"user_id": "usr_01j9xm2n4p6q8r0s2t4v6w8x0y",
"status": "resolved",
"resolution": "same_person",
"created_at": "2026-10-28T10:00:00Z",
"last_seen_at": "2026-10-28T10:05:00Z",
"expires_at": "2026-11-27T10:00:00Z",
"closed_at": "2026-10-28T11:00:00Z"
}
Hatalar
| HTTP | code | Ne zaman |
|---|---|---|
| 400 | unknown_field / malformed_request |
Gövdede bilinmeyen bir alan var veya geçerli JSON değil. |
| 401 | unauthenticated |
Kimlik bilgisi eksik, geçersiz veya iptal edilmiş. |
| 403 | insufficient_permissions |
Kimlik bilgisinde users:write izni yok. |
| 403 | user_not_active |
same_person: kullanıcı engellenmiş veya silinmek üzere. Kayıt açık kalır. |
| 404 | not_found |
Bağlantı veya kayıt bu ortamda yok, kayıt başka bir bağlantıya ait ya da süresi dolmuş. |
| 409 | conflict |
Kayıt diğer kararla çözümlenmiş; ya da same_person için bağlantı aktif değil, yeni özne artık başka bir kullanıcıya bağlı veya kullanıcının kimlik sınırına ulaşılmış. same_person durumlarında kayıt açık kalır. |
| 422 | validation_failed |
resolution eksik ya da iki değerden biri değil (errors[].pointer = /resolution). |
| 429 | rate_limited |
Hız sınırı aşıldı; Retry-After süresinden sonra yeniden deneyin. |
| 503 | service_unavailable |
Bir bağımlılık geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin. |
Örnek
curl -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/subject-conflicts/sscf_01j9xr4a6b8c0d2e4f6g8h0j2k:resolve" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"resolution":"different_person"}'
keenauth connections subject-conflicts resolve conn_01j9xp6q0r1s5t7v9w1x3y5z7b sscf_01j9xr4a6b8c0d2e4f6g8h0j2k \
--resolution different_person --yes