# SAML vs OpenID Connect

Adres: https://softwaredictionary.org/tr/karsilastirma/saml-vs-openid-connect
Son güncelleme: 2026-10-06

Kısaca: İkisi de tek oturum açma sağlar. SAML tarayıcıdan imzalı XML assertion'lar iletir; OpenID Connect OAuth 2.0 üzerine kuruludur ve imzalı bir JSON ID token verir.

## SAML ile OpenID Connect arasındaki fark nedir?

2005'te yayımlanan SAML 2.0 ile 2014'te tamamlanan OpenID Connect aynı temel sorunu çözer: kullanıcıların ayrı bir parola yerine Microsoft Entra ID, Okta ya da Google gibi bir kimlik sağlayıcı (IdP) üzerinden bir uygulamaya giriş yapmasını sağlamak. IdP kullanıcının kimliğini doğruladıktan sonra, kim olduğuna dair imzalı bir beyanla onu uygulamaya karşı onaylar.

Fark, biçimde ve işin tesisatındadır. SAML bu beyanı XML Signature ile imzalanmış bir XML assertion olarak paketler ve genellikle tarayıcı üzerinden uygulamaya post eder. OpenID Connect ise OAuth 2.0 üzerinde bir katmandır: uygulama tek kullanımlık bir kod alır, bu kodu sağlayıcıda token'larla takas eder ve kullanıcının kimliği ile e-postası gibi claim'ler taşıyan bir JSON Web Token olan ID token'ı denetler. OAuth üzerine kurulu olduğu için aynı alışveriş, uygulamaya API çağırmak için bir erişim token'ı da verebilir.

Bu da OpenID Connect'i mobil uygulamalara, tek sayfalı uygulamalara ve API'lere daha uygun kılar; yeni uygulamalarda ve "Google ile oturum aç" gibi tüketici girişlerinde de olağan seçim odur. SAML ise kurumlarda derin köklere sahiptir: pek çok şirket çalışanlarının tek oturum açması için onu şart koşar; bu yüzden onlara satılan yazılımlar çoğu zaman ikisini de destekler. Kimlik sağlayıcıların çoğu iki protokolü de konuşur.

Sık yapılan bir yanlış, SAML'in güvensiz, OpenID Connect'in ise varsayılan olarak güvenli olduğunu düşünmektir. İkisi de özenle uygulandığında güvenlidir ve imzalar ile claim'ler denetlenmediğinde ikisi de çöker: SAML'in XML imzalarını doğrulamak bilinen biçimde zordur, bir ID token'ın da yayıncısı, hedef kitlesi ve süresi doğrulanmalıdır. Her iki durumda da kendi kodunuzu yazmak yerine iyi bakılan bir kütüphane kullanın.

| Özellik | SAML | OpenID Connect |
| --- | --- | --- |
| Yayımlanma | 2005 (SAML 2.0), OASIS tarafından | 2014, OpenID Foundation tarafından |
| Biçim | XML Signature ile imzalanmış XML assertion'ları | JSON; ID token imzalı bir JWT'dir |
| Üzerine kurulduğu | Kendi XML tabanlı protokolü | OAuth 2.0 |
| Tipik akış | Tarayıcı imzalı bir assertion'ı uygulamaya post eder | Uygulama tek kullanımlık bir kodu token'larla takas eder |
| API erişimi | Kapsamında değil: girişle ilgilenir | Aynı alışveriş bir OAuth erişim token'ı da döndürebilir |
| Mobil ve tek sayfalı uygulamalar | Zahmetli: tarayıcı yönlendirmeleri ve form post'ları etrafında kurulu | Kod akışı ve PKCE ile çok uygun |
| Kurulum | Her IdP ile metadata ve sertifika alışverişi | Sağlayıcının discovery belgesini ve anahtarlarını bir URL'den okumak |
| Yaygın olduğu yer | Çalışanlar için kurumsal tek oturum açma | Yeni uygulamalar, tüketici girişleri ve kurumsal tek oturum açma |

## SAML şu durumlarda doğru seçim

- Kurumsal müşteriler tek oturum açma için SAML şart koşuyor.
- Yalnızca SAML konuşan eski uygulamalarla ya da kimlik sistemleriyle entegre oluyorsunuz.
- Uygulamanız, tarayıcıdan kullanılan klasik, sunucu tarafında render edilen bir web uygulaması.

## OpenID Connect şu durumlarda doğru seçim

- Yeni bir uygulama, özellikle bir mobil ya da tek sayfalı uygulama geliştiriyorsunuz.
- Kullanıcılar Google, Apple ya da Microsoft gibi sağlayıcılarla giriş yapabilmeli.
- Uygulamanın kullanıcı adına API çağırmak için erişim token'larına da ihtiyacı var.

## Sık sorulan sorular

**SAML'in yerini OpenID Connect mi alıyor?**

Yeni uygulamalarda büyük ölçüde evet. Ama SAML kurumlarda o kadar yaygın ki uzun yıllar boyunca bir gereklilik olmayı sürdürecek; bu yüzden kurumsal yazılımlar çoğu zaman ikisini de destekler.

**Bir uygulama hem SAML'i hem OpenID Connect'i destekleyebilir mi?**

Evet, pek çoğu destekler; çoğu zaman da iki protokolü de konuşan ve uygulamaya kullanıcıları içeri almanın tek ve tutarlı bir yolunu sunan bir kimlik aracısı (identity broker) üzerinden.

**OpenID Connect ile OAuth aynı şey mi?**

Hayır. OAuth 2.0 uygulamalara API'lere erişim verir; OpenID Connect ise onun üzerine kurularak, kullanıcının kim olduğunu söyleyen bir ID token ile girişi ekler.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
