Bağlantıya SAML IdP meta verilerini içe aktarın

POST /v1/connections/{connection_id}:import-metadata · izin connections:write

Kimlik sağlayıcıdan yüklenen bir SAML 2.0 meta veri belgesini kurumsal bir SAML bağlantısına uygular.

Etkin bir bağlantıda, kimlik sağlayıcının varlık kimliğini veya SSO URL'sini değiştiren ya da bir imzalama sabitlemesini kaldıran bir belge uygulanmaz. Tüm içe aktarma bir taslak revizyon olur: yanıt, değişmemiş canlı kimlik sağlayıcı tarafını gösterir, added_certificate_fingerprints boş olur ve revision ayarlanır. Taslağı, revision_id ile Bağlantıyı test edin adımında test edin, ardından yayımlayın. Diğer içe aktarmalar (yeni sertifikalar, SLO URL'si, MFA değerleri) doğrudan uygulanır.

Belge katı sınırlarla ayrıştırılır (en fazla 1 MiB, DOCTYPE yok). Belge geçersizse yanıt nedenini belirtmez; nedeni de belge içeriğini de günlüğe yazılmaz. Birden çok EntityDescriptor öğesi içeren bir belge entity_id gerektirir. SAML materyali bir sürüme sahip olmadığı için istek If-Match üstbilgisi almaz. Yazma işlemleri connection.idp_metadata_imported olarak denetlenir; her yeni sertifika için ayrıca connection.idp_certificate_added kaydedilir.

İstek

Alan Tür Zorunlu Açıklama
connection_id yol evet Kurumsal SAML bağlantı kimliği (conn_…).
metadata_xml string evet Meta veri belgesi (EntityDescriptor veya EntitiesDescriptor), en fazla 1 MiB.
entity_id string birden çok varlık için Birden çok varlık içeren bir belgeden alınacak kimlik sağlayıcının varlık kimliği. Tek varlık varsa eşleşmesi gerekir.
mfa_authn_context_values array | null hayır Kimlik sağlayıcı tarafından çok faktörlü kimlik doğrulama sayılan SAML AuthnContextClassRef değerleri (en fazla 10). Verildiğinde (boş liste dahil) kaydedilir; atlandığında veya null olduğunda kayıtlı değerler korunur.

Yanıt

200 OK:

{
  "idp_entity_id": "https://idp.example.com/entity",
  "idp_sso_url": "https://idp.example.com/sso/redirect",
  "idp_slo_url": null,
  "certificates": [
    {"id": "conncert_01j9xq2m4n6p8r0s2t4v6w8y0a", "sha256_fingerprint": "3b0c…", "not_before": "2026-01-01T00:00:00Z", "not_after": "2028-01-01T00:00:00Z", "source": "manual"}
  ],
  "added_certificate_fingerprints": ["3b0c…"]
}
Alan Açıklama
idp_entity_id, idp_sso_url, idp_slo_url İçe aktarmadan sonraki kimlik sağlayıcı tarafı; belgede tek oturum kapatma hizmeti yoksa idp_slo_url null olur.
certificates Bağlantının etkin imzalama sertifikaları (bkz. Sertifikaları listeleyin).
added_certificate_fingerprints Bu içe aktarmanın eklediği sertifikaların SHA-256 parmak izleri; zaten kayıtlı sertifikalar listelenmez.
revision Yalnızca içe aktarma bir taslak revizyona dönüştüğünde: taslak (bkz. Revizyonları listeleyin).

Hatalar

HTTP code Ne zaman
404 not_found Bağlantı bu ortamda yok veya kurumsal bir bağlantı değil.
409 conflict Bağlantı bir SAML bağlantısı değil, henüz bir SAML yapılandırması yok veya içe aktarma 3 etkin sertifika sınırını aşar (hiçbir şey değişmez).
422 validation_failed Belge veya bir alan geçersiz; errors[] ilgili alanı gösterir (/metadata_xml, /entity_id, /mfa_authn_context_values). Staging ve production ortamlarında test kimlik sağlayıcısı da /metadata_xml alanında reddedilir: ayrılmış .invalid alan adı altındaki bir varlık kimliği veya yerel mock sunucusunun genel test anahtarı.
413 payload_too_large İstek gövdesi 4 MiB'tan büyük.
400 unknown_field Gövdede bilinmeyen bir alan var.
401 unauthenticated Kimlik bilgisi eksik, geçersiz veya iptal edilmiş.
403 insufficient_permissions Kimlik bilgisinin gerekli izni 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

jq -Rs '{metadata_xml: .}' idp-metadata.xml > import.json
curl -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b:import-metadata" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d @import.json
keenauth connections import-metadata conn_01j9xp6q0r1s5t7v9w1x3y5z7b --metadata-file idp-metadata.xml