logologo
Ai badge logo

Bu madde yapay zeka desteği ile üretilmiştir.

OpenID Connect (OIDC)

fav gif
Kaydet
viki star outline
1_qFCRN57oOsDM9RNB9_pFmQ.png
OpenID Connect (OIDC)
Alan
Kimlik ve Erişim Yönetimi
Kategori
Kimlik Doğrulama Protokolü
Standart Geliştirici
OpenID Foundation
İlk Yayın
2014
Temel Yapı
OAuth 2.0 üzerine inşa edilmiş kimlik katmanı
Amaç
Kullanıcı kimliğinin doğrulanmasını ve profil bilgisi paylaşımını güvenli biçimde sağlamak

OpenID Connect (OIDC), OAuth 2.0 protokolü üzerine kurulu bir kimlik doğrulama protokolüdür. OIDC, kullanıcı kimliğini güvenli şekilde doğrulamak ve hizmet sağlayıcıya sınırlı profil bilgileri sunmak için geliştirilmiş modern, hafif ve REST tabanlı bir standarttır. Özellikle mobil uygulamalar, tek sayfalık web uygulamaları ve mikroservis mimarileri gibi modern ortamlarda yaygın biçimde kullanılır.

Temel Kavramlar ve Bileşenler

OpenID Connect mimarisinde üç temel taraf yer alır:

  • Kullanıcı (End-User): Kimlik doğrulaması yapılacak kişi.
  • İstemci (Client): Kimlik doğrulaması sonucunu talep eden uygulama (örneğin bir web servisi veya mobil uygulama).
  • Yetkilendirme Sunucusu (Authorization Server): Kimlik sağlayıcı olarak çalışır ve kullanıcıyı doğrulayıp kimlik belirten jetonlar üretir.

Kimlik doğrulama sürecinin sonunda istemci uygulama aşağıdaki jetonları alır:

  • ID Token: Kullanıcının kimliğini taşıyan, imzalı JSON Web Token’dır (JWT).
  • Access Token: Kaynak sunuculara erişim için kullanılan token’dır.
  • Refresh Token: Oturum süresini yenilemek için kullanılan token’dır (isteğe bağlı).

Avantajları

  • Modern uygulamalara uygunluk: Mobil, SPA ve bulut tabanlı mimarilerle doğal uyumludur.
  • Hafif yapı: JSON tabanlı veri alışverişi sayesinde XML'e göre çok daha az karmaşıklık taşır.
  • RESTful protokol: HTTP üzerinden taşınan ve geliştiriciler için kolayca uygulanabilir yapısı sayesinde hızlı entegrasyon sunar.
  • Esnek kimlik paylaşımı: Kullanıcıya ait yalnızca gerekli bilgiler (email, ad, profil fotoğrafı vb.) paylaşılabilir.
  • OAuth 2.0 ile bütünleşik: Mevcut OAuth sistemlerine entegre edilerek hem yetkilendirme hem de kimlik doğrulama sağlanır.

Kullanım Alanları

  • Web ve Mobil Uygulamalar: Tek oturumla çoklu servislere erişim sağlamak isteyen modern sistemlerde kullanılır.
  • Kurumsal Kimlik Yönetimi: Kuruluş içi servislerde, kullanıcıların kimlik bilgilerini merkezi bir sistemle yönetmek için kullanılır.
  • Sosyal Giriş (Social Login): Google, Microsoft, Facebook gibi sağlayıcılar OpenID Connect tabanlı kimlik doğrulama sunar.
  • API Güvenliği: Mikroservislerin kullanıcı kimliğine dayalı kararlar alabilmesi için OIDC ile kimlik bilgisinin güvenli şekilde taşınması sağlanır.

OpenID Connect ile SAML Karşılaştırması (Açıklamalı)

  • Kullanım Alanı:
  • OpenID Connect, günümüzde özellikle mobil ve JavaScript tabanlı uygulamalarda yaygın şekilde tercih edilir.
  • SAML ise daha çok eski kurumsal sistemlerde ve tarayıcı tabanlı uygulamalarda kullanılmaktadır.
  • Veri Biçimi:
  • OIDC, JSON formatında veri taşır ve bu sayede işlem yükü düşer.
  • SAML, XML tabanlıdır ve daha karmaşık bir yapı gerektirir.
  • Geliştirici Dostu Yapı:
  • OIDC, OAuth 2.0 üzerine kurulu olduğu için geliştiriciler tarafından daha kolay anlaşılır ve uygulanabilir.
  • SAML ise ayrıntılı protokol bilgisi ve imzalama kuralları gerektirir.
  • Mobil Uyum:
  • OIDC, mobil uygulamalar için özel olarak optimize edilmiştir.
  • SAML, mobil uyum konusunda sınırlıdır ve çoğu zaman yardımcı katmanlar gerektirir.

Zorluklar ve Dikkat Edilmesi Gerekenler

  • Güvenli token yönetimi: ID token’ın doğrulanması, imzasının kontrol edilmesi ve süresinin takip edilmesi gerekir.
  • Kapsam yönetimi (scopes): Hangi kullanıcı bilgilerine erişileceği dikkatli tanımlanmalıdır.
  • Session yönetimi: OIDC oturum kavramını minimal düzeyde içerir; ileri düzey senaryolarda uygulama düzeyinde çözüm gerekebilir.
  • Uygulamalar arası güvenlik sınırları: Access token’ların yanlış uygulamalarca kullanılmaması için uygun “audience” kontrolleri yapılmalıdır.

OpenID Connect, günümüzün ihtiyaçlarına cevap veren, esnek, güvenli ve geliştirici dostu bir kimlik doğrulama protokolüdür. Özellikle modern uygulama mimarilerinde, kullanıcı deneyimini iyileştirmek ve güvenliği artırmak isteyen sistemler için güçlü bir çözümdür. OAuth 2.0 ile tam entegre çalışması, OIDC’yi hem güvenlik hem pratiklik açısından çağdaş kimlik federasyonu ihtiyaçlarının başlıca standartlarından biri hâline getirmiştir.

Kaynakça

Bradley, John, et al. OpenID Connect Core 1.0. OpenID Foundation, Kasım 2014. Erişim tarihi: 9 Mayıs 2025. https://openid.net/specs/openid-connect-core-1_0.html

Hardt, Dick. The OAuth 2.0 Authorization Framework. IETF RFC 6749. Erişim tarihi: 9 Mayıs 2025. https://datatracker.ietf.org/doc/html/rfc6749

Jones, Michael B., ve Nat Sakimura. OpenID Connect: Scenarios and Use Cases. OpenID Foundation. Erişim tarihi: 9 Mayıs 2025. https://openid.net/connect/

Microsoft Identity Platform. “What Is the OpenID Connect Protocol?” Erişim tarihi: 9 Mayıs 2025. https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc

Sakimura, Nat, et al. “OpenID Connect Explained.” Open Identity Stack, 2015. Erişim tarihi: 9 Mayıs 2025. https://nat.sakimura.org/2015/03/13/what-is-openid-connect/

Sen de Değerlendir!

0 Değerlendirme

Yazar Bilgileri

Avatar
Ana YazarRamazan Cüneyt Küçük9 Mayıs 2025 16:24
KÜRE'ye Sor