OpenID Connect (OIDC), OAuth 2.0 çerçevesi üzerinde çalışan bir kimlik doğrulama ve yetkilendirme protokolüdür. OIDC'nin birincil hedefi, web ve mobil uygulamaların kullanıcıların kimliğini doğrulama ve korunan kaynaklara erişimi yönetme biçimini standartlaştırmaktır. "Talepler" olarak bilinen, kullanıcı bilgilerini aktarmak için kullanılabilecek esnek, birlikte çalışabilen ve güvenli bir kimlik katmanı sağlayarak OAuth 2.0'ın yeteneklerini genişletir. OIDC, OpenID Vakfı tarafından Google, Microsoft ve Facebook gibi önde gelen teknoloji kuruluşlarının desteğiyle geliştirilmiş ve sürdürülmüştür.
OIDC, modern kullanıcı kimlik doğrulama çözümlerinin önemli bir bileşeni haline geldi çünkü geliştiricilerin özel kimlik doğrulama şemalarını uygularken karşılaştığı çeşitli önemli zorlukları ele alıyor. Bu zorluklar arasında parola depolamanın güvenli bir şekilde yönetilmesi, birden fazla uygulamada tek oturum açmanın (SSO) etkinleştirilmesi ve çok faktörlü kimlik doğrulama (MFA) desteği sağlanması yer alıyor. Geliştiriciler, OIDC'yi kullanarak kimlik doğrulama sorumluluklarını güvenilir Kimlik Sağlayıcılara (IdP'ler) devredebilir ve böylece uygulamalarının belirli gereksinimlerine odaklanabilirler.
Standart bir OIDC akışında üç ana rol vardır: Kullanıcı, İstemci Uygulaması ve Kimlik Sağlayıcı (IdP).
- Kullanıcı: Kullanıcı, bir istemci uygulamasının korunan kaynaklarına erişim isteyen kişidir.
- İstemci Uygulaması: İstemci uygulaması, işlevlerini gerçekleştirmek için kullanıcı bilgilerine erişim gerektiren yazılımdır. AppMaster platformu bağlamında bu, platformun sezgisel no-code araçları kullanılarak oluşturulmuş bir web veya mobil uygulama olabilir.
- Kimlik Sağlayıcı (IdP): Kimlik Sağlayıcı, kullanıcının kimliğini doğrulamaktan ve korunan kaynaklara erişmek için gereken belirteçleri oluşturmaktan sorumlu sunucudur. IdP'ler Google, Apple, Facebook, Microsoft veya OIDC standardını uygulayan başka herhangi bir hizmet olabilir.
OIDC'yi uygulamak için geliştiriciler genellikle bir dizi adımı takip eder; bu adımlar şunları içerir: uygulamalarını seçilen IdP'ye kaydetme, istemci uygulamasını kullanıcılardan kimlik doğrulaması isteyecek şekilde yapılandırma, belirteç verme işlemini yönetme ve kullanıcı bilgileri için belirteç alışverişini yönetme ve son olarak erişimi yönetme ve sağlanan belirteçleri kullanarak uygulamalarının güvenliğini sağlayın.
OIDC'nin üç temel yapı taşı vardır: Kimlik Belirteçleri, Kullanıcı Bilgisi Uç Noktası ve Keşif. Her birini ayrıntılı olarak tartışalım:
- Kimlik Belirteçleri: Kimlik Belirteci, kimliği doğrulanmış kullanıcı hakkında bir dizi iddiayı içeren bir JSON Web Belirtecidir (JWT). OIDC, "sub" (konu veya kullanıcı tanımlayıcı), "aud" (hedef kitle veya hedeflenen alıcılar) ve "iss" (belirteci veren kuruluş veya belirteci düzenleyen kuruluş) gibi minimum standart talep kümesi gerektirir. Geliştiriciler ayrıca ek kullanıcı bilgilerini temsil edecek özel talepler de tanımlayabilir.
- Kullanıcı Bilgisi Uç Noktası: Kullanıcı Bilgisi Uç Noktası, kimliği doğrulanmış kullanıcı hakkındaki talepleri döndüren, IdP tarafından sağlanan OAuth 2.0 korumalı bir kaynaktır. Bu talepler genellikle istemci uygulaması tarafından e-posta adresi, tam ad ve profil resmi gibi daha ayrıntılı kullanıcı bilgilerini elde etmek için kullanılır.
- Keşif: OIDC, IdP'ler tarafından yayınlanan meta verilerin dinamik keşfini destekleyerek istemci uygulamalarının endpoints, desteklenen kapsamları ve IdP ile etkileşim kurmak için gerekli diğer bilgileri yapılandırmasını kolaylaştırır. Bu meta veriler genellikle iyi bilinen bir keşif endpoint bulunur ve çalışma zamanında programlı olarak getirilebilir.
OIDC spesifikasyonu, çeşitli uygulama türlerine, ihtiyaçlara ve yeteneklere hitap eden çeşitli standart akışları tanımlar. En popüler akışlardan bazıları Yetkilendirme Kodu Akışı (PKCE ile veya PKCE olmadan), Örtülü Akış ve Hibrit Akıştır. Her akış farklı gereksinimleri karşılar ve değişen derecelerde güvenlik ve karmaşıklık sunar.
AppMaster platformu bağlamında OIDC'den web, arka uç ve mobil uygulamalar için güvenli ve kusursuz kimlik doğrulama uygulamak amacıyla yararlanılabilir. AppMaster, popüler IdP'lerle entegre olarak geliştiricilerin birden fazla cihaz, platform ve uygulama genelinde tutarlı bir kimlik doğrulama deneyimi sunmasına olanak tanır. Ek olarak, AppMaster tarafından oluşturulan uygulamalar, OIDC'yi kullanarak artırılmış güvenlikten, azaltılmış geliştirme çabasından ve gelişmiş kullanıcı deneyiminden yararlanarak daha hızlı, daha güvenli ve uygun maliyetli bir uygulama geliştirme sürecine yol açar.
Sonuç olarak OpenID Connect, web ve mobil ekosistemde modern kullanıcı kimlik doğrulaması için fiili standart haline gelen güçlü bir kimlik doğrulama ve yetkilendirme çerçevesidir. OIDC, güçlü güvenlik özellikleri ve birlikte çalışabilirliği sayesinde hem geliştiricilere hem de son kullanıcılara önemli faydalar sunuyor. Geliştiriciler, OIDC'yi AppMaster platformuna dahil ederek, kolaylaştırılmış kimlik doğrulama süreçleri, olağanüstü kullanıcı deneyimleri ve güvenli ve güvenilir erişim yönetimi güvencesi ile yüksek kaliteli uygulamalar sunabilirler.