İnternet üzerinde kimlik doğrulama ve yetkilendirme, modern web uygulamaları için kritik öneme sahiptir. OpenID Connect (OIDC), kullanıcıların kimliklerini güvenli bir şekilde doğrulamak için kullanılan popüler bir kimlik doğrulama protokolüdür. Bu yazıda, OpenID Connect’in temel bileşenlerini ve işleyişini basit bir şekilde açıklayacağız.
OpenID Connect Nedir?
OpenID Connect (OIDC), OAuth 2.0 üzerine inşa edilmiş bir kimlik doğrulama protokolüdür. OIDC, OAuth 2.0’ın yetkilendirme özelliklerini kullanarak kimlik doğrulama sağlar ve bu sayede hem güvenli hem de kullanımı kolay bir kimlik doğrulama süreci sunar.
Son Kullanıcı
- Kimdir? Kimlik doğrulaması yapılacak kişidir.
- Görevi Nedir? Kendi kimliğini doğrulamak için kimlik sağlayıcıya (Identity Provider) giriş yapar.
Güvenen Taraf
- Kimdir? Kullanıcının kimliğini doğrulamak isteyen uygulamadır. Örneğin, bir e-ticaret sitesi.
- Görevi Nedir? Kullanıcıyı kimlik sağlayıcıya yönlendirir ve kimlik doğrulama sonucunu alır.
Kimlik Sağlayıcı
- Kimdir? Kullanıcıların kimliklerini doğrulayan ve onlara kimlik bilgileri sağlayan sunucudur. Örneğin, Google, Facebook, veya Microsoft.
- Görevi Nedir? Kullanıcının kimliğini doğrular ve güvenen tarafa (relying party) kimlik doğrulama sonucunu ve kullanıcı bilgilerini içeren bir kimlik belirteci (ID token) sağlar.
Kimlik Belirteci
- Nedir? Kimlik sağlayıcı tarafından üretilen ve kullanıcının kimlik bilgilerini içeren JSON Web Token (JWT) formatında bir belirteçtir.
- Görevi Nedir? Kullanıcının kimliğini doğrulamak ve güvenen tarafa (relying party) iletmek.
İşleyiş Süreci
- Kimlik Doğrulama İsteği: Relying party, son kullanıcıyı kimlik sağlayıcıya yönlendirerek kimlik doğrulama isteğinde bulunur.
- Kimlik Doğrulama: Son kullanıcı, kimlik sağlayıcıya giriş yapar ve kimliğini doğrular.
- ID Token Alma: Kimlik sağlayıcı, doğrulanan kullanıcıya bir ID token üretir ve bunu relying party’e iletir.
- Kimlik Doğrulama Onayı: Relying party, aldığı ID token’ı doğrular ve kullanıcının kimliğini onaylar.
Örnek Senaryo
Kimlik doğrulama sürecini bir örnek üzerinden inceleyelim:
- Kimlik Doğrulama İsteği: Bir e-ticaret sitesi (relying party), kullanıcıdan Google hesabıyla (identity provider) giriş yapmasını ister.
- Kimlik Doğrulama: Kullanıcı, Google hesabına giriş yapar ve kimliğini doğrular.
- ID Token Alma: Google, kullanıcının kimliğini doğrular ve bir ID token üretir. Bu ID token, e-ticaret sitesine iletilir.
- Kimlik Doğrulama Onayı: E-ticaret sitesi, aldığı ID token’ı doğrular ve kullanıcının kimliğini onaylar. Artık kullanıcı, e-ticaret sitesinde oturum açmıştır.
Sonuç
OpenID Connect, kullanıcıların kimliklerini güvenli ve kolay bir şekilde doğrulamak için kullanılan güçlü bir protokoldür. OAuth 2.0 üzerine inşa edilmiştir ve bu sayede hem kimlik doğrulama hem de yetkilendirme süreçlerini destekler. OpenID Connect’in nasıl çalıştığını ve hangi durumlarda kullanılacağını anlamak için, temel aldığı protokol olan OAuth 2.0 hakkında bilgi sahibi olmanız da önemlidir.
OAuth 2.0’ın güvenli erişim ve yetkilendirme süreçleri hakkında daha fazla bilgi almak isterseniz, daha önce yazmış olduğum OAuth 2.0: Güvenli Erişim ve Yetkilendirme için Temel Bilgiler başlıklı yazıma göz atabilirsiniz.