Bir bağlantıyı test edin

POST /v1/connections/{connection_id}:test · izin connections:write

Bir kurumsal bağlantının mevcut yapılandırmasıyla bir test girişi başlatır ve bir test URL'si döndürür. Bağlantıyı kuran kişi URL'yi bir tarayıcıda açar ve kimlik sağlayıcıda oturum açar. Tarayıcı ardından test_id sorgu parametresiyle birlikte return_url adresine döner. Sonucu Son test sonucunu alın bölümünden okuyun.

Test girişi oturum oluşturmaz, kullanıcı sağlamaz ve hesap bağlamaz. Bağlantıyı etkinleştirmek için başarılı bir test gereklidir; kimlik sağlayıcı yapılandırması değiştirilirse bu test geçersiz olur.

Canlı yapılandırma yerine bir taslak revizyonu test etmek için revision_id değerini gönderin. Taslak, yalnızca bu test için canlı yapılandırmanın üzerine uygulanır (bir SP sunucu taşımasında test URL'si yeni sunucudadır). Bir revizyonun başarılı testi, Bir revizyonu yayımlayın işleminin ihtiyaç duyduğu kanıttır; canlı yapılandırma için etkinleştirme kanıtı olarak sayılmaz.

test_url bir taşıyıcı bağlantısıdır: onu bilen herkes testi 10 dakika içinde, bir kez çalıştırabilir. Yalnızca bu yanıtta döndürülür (Cache-Control: no-store) ve hiçbir zaman günlüğe kaydedilmez veya denetlenmez. Aynı Idempotency-Key ile isteği tekrarlarsanız, yeniden oynatılan yanıtta test_url bulunmaz ve secret_redacted: true yer alır; bunun yerine yeni bir test başlatın. Başlatmalar yalnızca test kimliğiyle connection.test_started olarak denetlenir.

İstek

Alan Tür Zorunlu Açıklama
connection_id yol evet Kurumsal bağlantı kimliği (conn_…).
return_url string evet Testten sonra tarayıcının döneceği, en fazla 2048 bayt uzunluğunda mutlak https URL'si. test_id sorgu parametresi olarak eklenir.
revision_id string hayır Canlı yapılandırma yerine test edilecek bağlantının taslak revizyonu (connrev_…).

Yanıt

200 OK:

{
  "test_id": "conntest_01j9xr4a6b8c0d2e4f6g8h0j2k",
  "test_url": "https://acme.eu1.keenauth.app/sso/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/start?t=…",
  "expires_at": "2026-10-20T10:10:00Z"
}
Alan Açıklama
test_id Test kimliği (conntest_…).
test_url Tarayıcıda açılacak URL; 10 dakika geçerlidir ve tek kullanımlıktır. Paylaşmayın veya günlüğe kaydetmeyin. Yeniden oynatılan yanıtta bulunmaz.
expires_at Test URL'sinin sona erme zamanı.
secret_redacted Aynı Idempotency-Key ile yeniden oynatılan yanıtta true.

Hatalar

HTTP code Ne zaman
404 not_found Bağlantı bu ortamda mevcut değil veya kurumsal bir bağlantı değil.
409 conflict Bağlantı henüz test edilemez (protokol yapılandırması yok).
422 validation_failed return_url eksik veya mutlak bir https URL'si değil (errors[] /return_url değerine işaret eder), ya da revision_id hatalı biçimli (invalid_value) veya bu bağlantının taslak revizyonu değil (not_found; yol /revision_id).
400 unknown_field İstek gövdesinde bilinmeyen bir alan var.
401 unauthenticated Kimlik bilgisi eksik, geçersiz veya iptal edilmiş.
403 insufficient_permissions Kimlik bilgisinde gerekli izin yok.
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:test" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"return_url":"https://admin.example.com/sso/test-done"}'
keenauth connections test conn_01j9xp6q0r1s5t7v9w1x3y5z7b --return-url https://admin.example.com/sso/test-done