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