Azure AD B2C özel ilkesine genel bakış
Özel ilkeler, Azure Active Directory B2C (Azure AD B2C) kiracınızın davranışlarını tanımlayan yapılandırma dosyalarıdır. Kullanıcı akışları Azure AD B2C portalında en yaygın kimlik görevleri için önceden tanımlanmış olsa da, bir kimlik geliştiricisi birçok farklı görevi tamamlamak için özel ilkeleri düzenleyebilir.
Özel ilke tamamen yapılandırılabilir ve ilke temellidir. Özel ilke, standart protokollerdeki varlıklar arasındaki güveni düzenler. Örneğin, OpenID Bağlan, OAuth, SAML ve birkaç standart dışı değer, örneğin REST API tabanlı sistemden sisteme talep alışverişleri. Çerçeve, kullanıcı dostu, beyaz etiketli deneyimler oluşturur.
Özel ilke, hiyerarşik bir zincirde birbirine başvuran bir veya daha fazla XML biçimli dosya olarak temsil edilir. XML öğeleri yapı taşları, kullanıcı ve diğer taraflarla etkileşim ve iş mantığını tanımlar.
Özel ilke başlangıç paketi
Azure AD B2C özel ilke başlangıç paketi , hızlı bir şekilde başlamanızı sağlamak için önceden oluşturulmuş çeşitli ilkelerle birlikte gelir. Bu başlangıç paketlerinin her biri, açıklanan senaryolara ulaşmak için gereken en az sayıda teknik profili ve kullanıcı yolculuğunu içerir:
- LocalAccounts - Yalnızca yerel hesapların kullanımını etkinleştirir.
- SocialAccounts - Yalnızca sosyal (veya federasyon) hesapların kullanımını etkinleştirir.
- SocialAndLocalAccounts - Hem yerel hem de sosyal hesapların kullanılmasını sağlar. Örneklerimizin çoğu bu ilkeye başvurur.
- SocialAndLocalAccountsWithMFA - Sosyal, yerel ve çok faktörlü kimlik doğrulama seçeneklerini etkinleştirir.
Azure AD B2C örnekleri GitHub deposunda, çeşitli gelişmiş Azure AD B2C özel CIAM kullanıcı yolculukları ve senaryoları için örnekler bulabilirsiniz. Örneğin, yerel hesap ilkesi geliştirmeleri, sosyal hesap ilkesi geliştirmeleri, MFA geliştirmeleri, kullanıcı arabirimi geliştirmeleri, genel geliştirmeler, uygulama geçişi, kullanıcı geçişi, koşullu erişim, web testi ve CI/CD.
Temel bilgileri anlama
Talepler
Talep, Azure AD B2C ilkesi yürütme sırasında verilerin geçici olarak depolanmasını sağlar. Talepler daha çok programlama dilindeki değişkene benzer. Kullanıcıyla ilgili ad, soyadı veya kullanıcıdan veya diğer sistemlerden alınan diğer talepler (talep değişimleri) gibi bilgileri depolayabilir. Talep şeması , taleplerinizi bildirdiğiniz yerdir.
İlke çalıştırıldığında, Azure AD B2C iç ve dış taraflara talep gönderip alır ve ardından belirtecin bir parçası olarak bağlı olan taraf uygulamanıza bu taleplerin bir alt kümesini gönderir. Talepler şu yollarla kullanılır:
- Dizin kullanıcı nesnesine karşı bir talep kaydedilir, okunur veya güncelleştirilir.
- Bir dış kimlik sağlayıcısından talep alınır.
- Talepler özel bir REST API hizmeti kullanılarak gönderilir veya alınır.
- Veriler, kaydolma veya profil akışlarını düzenleme sırasında kullanıcıdan talep olarak toplanır.
Taleplerinizi düzenleme
Talep dönüştürmeleri , belirli bir talebi başka bir talepe dönüştürmek, bir talebi değerlendirmek veya talep değeri ayarlamak için kullanılabilen önceden tanımlanmış işlevlerdir. Örneğin, dize koleksiyonuna öğe ekleme, dizenin büyük/küçük harflerini değiştirme veya tarih ve saat talebini değerlendirme. Talep dönüştürmesi, önceden tanımlanmış bir dönüştürme yöntemi belirtir.
Kullanıcı arabiriminizi özelleştirme ve yerelleştirme
Web tarayıcılarında bir sayfa sunarak kullanıcılarınızdan bilgi toplamak için, kendi kendine onaylanan teknik profili kullanın. Talep eklemek ve kullanıcı girişini özelleştirmek için kendi onayladığınız teknik profilinizi düzenleyebilirsiniz.
Kendi kendini onayladığınız teknik profilinizin kullanıcı arabirimini özelleştirmek için, içerik tanımı öğesinde özelleştirilmiş HTML içeriğine sahip bir URL belirtirsiniz. Kendi kendine onaylanan teknik profilde bu içerik tanımı kimliğini gösterirsiniz.
Dile özgü dizeleri özelleştirmek için yerelleştirme öğesini kullanın. İçerik tanımı, yüklenecek yerelleştirilmiş kaynakların listesini belirten bir yerelleştirme başvurusu içerebilir. Azure AD B2C, kullanıcı arabirimi öğelerini URL'nizden yüklenen HTML içeriğiyle birleştirir ve sayfayı kullanıcıya görüntüler.
Bağlı olan taraf ilkesine genel bakış
SAML protokolünde hizmet sağlayıcısı olarak bilinen bağlı olan bir taraf uygulaması, belirli bir kullanıcı yolculuğunu yürütmek için bağlı olan taraf ilkesini çağırır. Bağlı olan taraf ilkesi, yürütülecek kullanıcı yolculuğunu ve belirtecin içerdiği taleplerin listesini belirtir.
Aynı ilkeyi kullanan tüm bağlı taraf uygulamaları aynı belirteç taleplerini alır ve kullanıcı aynı kullanıcı yolculuğundan geçer.
Kullanıcı yolculukları
Kullanıcı yolculukları , kullanıcının uygulamanıza erişim elde etmek için izlediği yol ile iş mantığını tanımlamanıza olanak tanır. Kullanıcı, uygulamanıza sunulacak talepleri almak için kullanıcı yolculuğundan geçirilir. Kullanıcı yolculuğu, bir dizi düzenleme adımından oluşturulur. Bir kullanıcının belirteç almak için son adıma ulaşması gerekir.
Aşağıdaki yönergeler, sosyal ve yerel hesap başlangıç paketi ilkesine düzenleme adımlarını nasıl ekleyebileceğinizi açıklar. Aşağıda eklenen REST API çağrısının bir örneği verilmiştir.
Düzenleme adımları
Düzenleme adımı, amaçlanan amacını veya işlevselliğini uygulayan bir yönteme başvurur. Bu yönteme teknik profil adı verilir. Kullanıcı yolculuğunuzun iş mantığını daha iyi temsil etmesi için dallanma gerektiğinde düzenleme adımı alt yolculuğa başvurur. Alt yolculuk kendi düzenleme adımları kümesini içerir.
Bir kullanıcının belirteç almak için kullanıcı yolculuğundaki son düzenleme adımına ulaşması gerekir. Ancak kullanıcıların tüm düzenleme adımlarını tamamlaması gerekmeyebilir. Düzenleme adımları, düzenleme adımında tanımlanan önkoşullara göre koşullu olarak yürütülebilir.
Düzenleme adımı tamamlandıktan sonra Azure AD B2C, çıktısı alınan talepleri talep çantasında depolar. Talep çantasındaki talepler, kullanıcı yolculuğundaki diğer düzenleme adımları tarafından kullanılabilir.
Aşağıdaki diyagramda, kullanıcı yolculuğunun düzenleme adımlarının talep çantasına nasıl erişebileceği gösterilmektedir.
Teknik profil
Teknik profil, farklı taraf türleriyle iletişim kurmak için bir arabirim sağlar. Kullanıcı yolculuğu, iş mantığınızı tanımlamak için düzenleme adımları aracılığıyla teknik profilleri çağırmayı birleştirir.
Tüm teknik profil türleri aynı kavramı paylaşır. Giriş talepleri gönderir, talep dönüştürmeyi çalıştırır ve yapılandırılan tarafla iletişim kurarsınız. İşlem tamamlandıktan sonra teknik profil çıkış taleplerini talep çantasına döndürür. Daha fazla bilgi için bkz . teknik profillere genel bakış.
Doğrulama teknik profili
Bir kullanıcı kullanıcı arabirimiyle etkileşime geçtiğinde, toplanan verileri doğrulamak isteyebilirsiniz. Kullanıcıyla etkileşime geçmek için kendi kendine onaylanan bir teknik profil kullanılmalıdır.
Kullanıcı girişini doğrulamak için, kendi kendini onaylayan teknik profilden doğrulama teknik profili çağrılır. Doğrulama teknik profili, etkileşimli olmayan herhangi bir teknik profili çağırma yöntemidir. Bu durumda, teknik profil çıkış talepleri veya bir hata iletisi döndürebilir. Hata iletisi ekranda kullanıcıya işlenir ve kullanıcının yeniden denemesine olanak tanır.
Aşağıdaki diyagramda Azure AD B2C'nin kullanıcı kimlik bilgilerini doğrulamak için doğrulama teknik profilini nasıl kullandığı gösterilmektedir.
Devralma modeli
Her başlangıç paketi aşağıdaki dosyaları içerir:
- Tanımların çoğunu içeren bir Temel dosya. İlkelerinizin sorunlarını giderme ve uzun süreli bakım konusunda yardımcı olmak için, bu dosyada yaptığınız değişikliklerin sayısını en aza indirmeyi deneyin.
- Yerelleştirme dizelerini tutan bir Yerelleştirme dosyası. Bu ilke dosyası Temel dosyadan türetilir. Bu dosyayı, müşteri gereksinimlerinize uygun farklı dilleri barındırmak için kullanın.
- Kiracınız için benzersiz yapılandırma değişikliklerini barındıran bir Uzantı dosyası. Bu ilke dosyası Yerelleştirme dosyasından türetilir. Yeni işlevler eklemek veya mevcut işlevselliği geçersiz kılmak için bu dosyayı kullanın. Örneğin, yeni kimlik sağlayıcılarıyla federasyon yapmak için bu dosyayı kullanın.
- Web, mobil veya masaüstü uygulamalarınız gibi bağlı olan taraf uygulaması tarafından doğrudan çağrılan tek bir görev odaklı dosya olan Bağlı Taraf (RP) dosyası. Kaydolma, oturum açma veya profil düzenleme gibi her benzersiz görev kendi bağlı olan taraf ilkesi dosyasını gerektirir. Bu ilke dosyası uzantılar dosyasından türetilir.
Devralma modeli aşağıdaki gibidir:
- Herhangi bir düzeydeki alt ilke üst ilkeden devralabilir ve yeni öğeler ekleyerek bunu genişletebilir.
- Daha karmaşık senaryolar için daha fazla devralma düzeyi ekleyebilirsiniz (toplamda 10'a kadar).
- Daha fazla bağlı olan taraf ilkesi ekleyebilirsiniz. Örneğin, hesabımı silin, telefon numarasını, SAML bağlı olan taraf ilkesini ve daha fazlasını değiştirin.
Aşağıdaki diyagramda ilke dosyalarıyla bağlı olan taraf uygulamalar arasındaki ilişki gösterilmektedir.
Rehberlik ve en iyi deneyimler
En iyi yöntemler
Azure AD B2C özel ilkesinde, ihtiyacınız olan kullanıcı deneyimlerini oluşturmak ve hizmetin işlevselliğini genişletmek için kendi iş mantığınızı tümleştirebilirsiniz. Başlamak için bir dizi en iyi uygulama ve önerimiz var.
- Mantığınızı uzantı ilkesinde veya bağlı olan taraf ilkesinde oluşturun. Aynı kimlikle başvurarak temel ilkeyi geçersiz kılan yeni öğeler ekleyebilirsiniz. Bu yaklaşım, Microsoft'un yeni başlangıç paketleri yayımlaması durumunda temel ilkeyi yükseltmeyi kolaylaştırırken projenizin ölçeğini genişletmenize olanak tanır.
- Temel ilkede değişiklik yapmaktan kaçınmanızı kesinlikle öneririz. Gerektiğinde, değişikliklerin yapıldığı yerde açıklamalar yapın.
- Teknik profil meta verileri gibi bir öğeyi geçersiz kıldığınızda, temel ilkeden teknik profilin tamamını kopyalamaktan kaçının. Bunun yerine, öğesinin yalnızca gerekli bölümünü kopyalayın. Değişikliğin nasıl yapılacağını gösteren bir örnek için bkz . E-posta doğrulamasını devre dışı bırakma.
- Temel işlevlerin paylaşıldığı teknik profillerin çoğaltılma oranını azaltmak için teknik profil ekleme özelliğini kullanın.
- Oturum açma sırasında Microsoft Entra dizinine yazmaktan kaçının; bu da azaltma sorunlarına yol açabilir.
- İlkenizin REST API'leri gibi dış bağımlılıkları varsa bunların yüksek oranda kullanılabilir olduğundan emin olun.
- Daha iyi bir kullanıcı deneyimi için, özel HTML şablonlarınızın çevrimiçi içerik teslimi kullanılarak genel olarak dağıtıldığından emin olun. Azure Content Delivery Network (CDN), yükleme sürelerini azaltmanıza, bant genişliğinden tasarruf etmenizi ve yanıt hızını artırmanıza olanak tanır.
- Kullanıcı yolculuğunda değişiklik yapmak istiyorsanız, temel ilkeden uzantı ilkesine kullanıcı yolculuğunun tamamını kopyalayın. Kopyaladığınız kullanıcı yolculuğuna benzersiz bir kullanıcı yolculuğu kimliği girin. Ardından bağlı olan taraf ilkesinde varsayılan kullanıcı yolculuğu öğesini yeni kullanıcı yolculuğuna işaret eden şekilde değiştirin.
Sorun giderme
Azure AD B2C ilkeleriyle geliştirme yaparken, kullanıcı yolculuğunuzu yürütürken hatalarla veya özel durumlarla karşılaşabilirsiniz. , Uygulama Analizler kullanılarak araştırılabilir.
- Özel durumları tanılamak için Uygulama Analizler Azure AD B2C ile tümleştirin.
- Visual Studio Code için Azure AD B2C uzantısı, bir ilke adına ve saate göre günlüklere erişmenize ve günlükleri görselleştirmenize yardımcı olabilir.
- Özel ilkeleri ayarlamada en yaygın hata, yanlış biçimlendirilmiş XML'dir. XML dosyanızı karşıya yüklemeden önce hataları belirlemek için XML şema doğrulamasını kullanın.
Sürekli tümleştirme
Azure Pipelines'da ayarladığınız sürekli tümleştirme ve teslim (CI/CD) işlem hattını kullanarak, Azure AD B2C özel ilkelerinizi yazılım teslim ve kod denetimi otomasyonunuza ekleyebilirsiniz. Geliştirme, test ve üretim gibi farklı Azure AD B2C ortamlarına dağıtım yaparken, el ile gerçekleştirilen işlemleri kaldırmanızı ve Azure Pipelines'ı kullanarak otomatikleştirilmiş test gerçekleştirmenizi öneririz.
Ortamınızı hazırlama
Azure AD B2C özel ilkesini kullanmaya başlarsınız:
- Azure AD B2C kiracısı oluşturma
- İlkenizi test edebilmeniz için Azure portalını kullanarak bir web uygulaması kaydedin.
- Gerekli ilke anahtarlarını ekleyin ve Identity Experience Framework uygulamalarını kaydedin.
- Azure AD B2C ilkesi başlangıç paketini alın ve kiracınıza yükleyin.
- Başlangıç paketini karşıya yükledikten sonra kaydolma veya oturum açma ilkenizi test edin.
- Visual Studio Code'u (VS Code) indirmenizi ve yüklemenizi öneririz. Visual Studio Code, masaüstünüzde çalışan ve Windows, macOS ve Linux için kullanılabilen basit ama güçlü bir kaynak kodu düzenleyicisidir. VS Code ile VS Code için Azure AD B2C uzantısını yükleyerek Azure AD B2C özel ilke XML dosyalarınızda hızla gezinebilir ve bunları düzenleyebilirsiniz
Sonraki adımlar
Azure AD B2C ilkenizi ayarlayıp test ettikten sonra ilkenizi özelleştirmeye başlayabilirsiniz. Nasıl yapılacağını öğrenmek için aşağıdaki makaleleri inceleyin:
- Talep ekleyin ve özel ilkeler kullanarak kullanıcı girişini özelleştirin. Başlangıç paketi teknik profillerinden bazılarını özelleştirerek talep tanımlamayı ve kullanıcı arabirimine talep eklemeyi öğrenin.
- Özel bir ilke kullanarak uygulamanızın kullanıcı arabirimini özelleştirin. Kendi HTML içeriğinizi oluşturmayı ve içerik tanımını özelleştirmeyi öğrenin.
- Özel bir ilke kullanarak uygulamanızın kullanıcı arabirimini yerelleştirin. Yerelleştirilmiş kaynaklar öğesini ekleyerek desteklenen dillerin listesini ayarlamayı ve dile özgü etiketler sağlamayı öğrenin.
- İlke geliştirme ve test sırasında e-posta doğrulamasını devre dışı bırakabilirsiniz. Teknik profil meta verilerinin üzerine yazmayı öğrenin.
- Özel ilkeleri kullanarak bir Google hesabıyla oturum açmayı ayarlayın. OAuth2 teknik profiliyle yeni bir talep sağlayıcısı oluşturmayı öğrenin. Ardından kullanıcı yolculuğunu Google oturum açma seçeneğini içerecek şekilde özelleştirin.
- Özel ilkelerinizle ilgili sorunları tanılamak için Uygulama Analizler ile Azure Active Directory B2C günlüklerini toplayabilirsiniz. Yeni teknik profiller eklemeyi ve bağlı olan taraf ilkenizi yapılandırmayı öğrenin.
- Özel ilkenin sıfırdan nasıl derlenmiş olduğunu anlamak istiyorsanız Azure Active Directory B2C nasıl yapılır kılavuzu serisinde kendi özel ilkelerinizi oluşturma ve çalıştırma hakkında bilgi edinin.