Azure AD B2C ilkeye 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ıştır ancak bir kimlik geliştiricisi tarafından birçok farklı görevi tamamlamak üzere özel ilkeler tam olarak düzenlenebilir.

Özel ilke tam olarak yapılandırılabilir ve ilke odaklıdır. Özel ilke, standart protokollerde varlıklar arasında güveni sağlar. Örneğin OpenID Bağlan, OAuth, SAML ve standart olmayan birkaç örnek ( REST API tabanlı sistemden sisteme talep alışverişi). Ç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 edildi. XML öğeleri yapı taşlarını, kullanıcıyla ve diğer taraflarla etkileşimi ve iş mantığını tanımlar.

Özel ilke başlangıç paketi

Azure AD B2C ilke başlangıç paketi, hızlı bir şekilde devam etmek için önceden yerleşik çeşitli ilkelerle birlikte gelir. Bu başlangıç paketlerinin her biri, açıklanan senaryolara ulaşmak için gereken en küçük teknik profil sayısını ve kullanıcı yolculuklarını içerir:

  • LocalAccounts - Yalnızca yerel hesapların kullanımını sağlar.
  • SocialAccounts - Yalnızca sosyal (veya federasyon) hesapların kullanımını sağlar.
  • SocialAndLocalAccounts - Yerel ve sosyal hesapların kullanımını sağlar. Örneklerimizin çoğu bu ilkeye başvurur.
  • SocialAndLocalAccountsWithMFA - Sosyal, yerel ve çok faktörlü kimlik doğrulama seçeneklerini sağlar.

Deponun Azure AD B2C GitHub,özel CIAM kullanıcı yolculukları için Azure AD B2C ö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, ilke yürütme sırasında verilerin geçici Azure AD B2C sağlar. Kullanıcıyla ilgili ad, soyadı veya kullanıcı ya da diğer sistemlerden (talep değişimleri) alınan diğer talepler gibi bilgileri depolar. Talep şeması, taleplerinizi bildir yerdir.

İlke çalıştır çalıştır Azure AD B2C iç ve dış taraflara ve dış taraflara talep göndererek alır ve ardından bu taleplerin bir alt kümesini belirteci kapsamında bağlı olan taraf uygulamanıza gönderir. Talepler şu yollarla kullanılır:

  • Dizin kullanıcısı nesnesine karşı bir talep kaydedilir, okunur veya güncelleştirilir.
  • Bir dış kimlik sağlayıcısından bir talep alınmıştır.
  • Talepler, özel bir REST API kullanılarak gönderilir veya alınmıştır.
  • Veriler, kaydolma veya profil akışlarını düzenleme sırasında kullanıcıdan talep olarak toplanır.

Taleplerinizi manipüle etmeye

Talep dönüştürmeleri, verilen bir talebi başka bir talebi dönüştürmek, bir talebi değerlendirmek veya bir talep değeri ayarlamak için kullanılabilen önceden tanımlanmış işlevlerdir. Örneğin, bir dize koleksiyonuna öğe ekleme, dizenin büyük/küçük harflerini değiştirme veya tarih ve saat talebi değerlendirme. Talep dönüştürmesi bir dönüştürme yöntemini belirtir.

Kullanıcı arabiriminizi özelleştirme ve yerelleştirme

Kullanıcılarınıza web tarayıcılarında bir sayfa sunarak bilgi toplamak için, kendi onaylayan teknik profilini kullanın. Talep eklemek ve kullanıcı girişini özelleştirmek için, kendinden onay alan teknik profilinizi düzenleyebilirsiniz.

Kendi onayını alan teknik profiliniz için kullanıcı arabirimini özelleştirmek için, özelleştirilmiş HTML içeriğine sahip içerik tanımı öğesinde bir URL belirtirsiniz. Kendinden onay alan teknik profilde, bu içerik tanımı kimliğine işaret eden bir profil vardır.

Dile özgü dizeleri özelleştirmek için yerelleştirme öğesini kullanın. İçerik tanımı, yüklenilecek yerelleştirilmiş kaynakların listesini belirten bir yerelleştirme başvurusu içerebilir. Azure AD B2C arabirimi öğelerini URL'nize yüklenen HTML içeriğiyle birleştirin 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 bir bağlı olan taraf uygulaması, belirli bir kullanıcı yolculuğunu yürütmek için bağlı olan taraf ilkesine çağrır. Bağlı olan taraf ilkesi, yürütülecek kullanıcı yolculuğunu ve belirteci içeren taleplerin listesini belirtir.

Diagram showing the policy execution flow

Aynı ilkeyi kullanan tüm bağlı olan taraf uygulamaları aynı belirteç taleplerini alır ve kullanıcı aynı kullanıcı yolculuğunu tamamlar.

Kullanıcı yolculukları

Kullanıcı yolculukları, iş mantığını, kullanıcının uygulamanıza erişmek için takip edecekleri yol ile tanımlamanızı sağlar. Kullanıcı, uygulamanıza sunulacak talepleri almak için kullanıcı yolculuğuna alınır. 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önergelerde, sosyal ve yerel hesap başlangıç paketi ilkesine düzenleme adımlarını nasıl ekleyebilirsiniz? Burada, eklenen bir REST API çağrısı örneği velenmiştir.

customized user journey

Düzenleme adımları

Düzenleme adımı, amacını veya işlevselliğini uygulayan bir yönteme başvurur. Bu yöntem teknik profil olarak adlandırılan bir yöntemdir. Kullanıcı yolculuğunuz iş mantığını daha iyi temsil etmek için dallara ihtiyaç olduğunda, düzenleme adımı alt yolculuğuna başvurur. Alt yolculuk kendi düzenleme adımlarını içerir.

Bir kullanıcının belirteç almak için kullanıcı yolculuğunda son düzenleme adımına ulaşması gerekir. Ancak kullanıcıların tüm düzenleme adımlarını takip etmek zorunda değildir. Düzenleme adımları, düzenleme adımlarında tanımlanan önkoşullara göre koşullu olarak yürütülebilirsiniz.

Bir düzenleme adımı tamamlandıktan sonra Azure AD B2C talep çantasında depolar. Talep çantasında yer alan talepler, kullanıcı yolculuğunda diğer düzenleme adımlarıyla kullanılabilir.

Aşağıdaki diyagramda kullanıcı yolculuğu düzenleme adımlarının talep çantasına nasıl erişebilirsiniz?

Azure AD B2C user journey

Teknik profil

Teknik profil, farklı türlerde taraflarla 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ırarak yapılandırılan tarafla iletişim kurar. İş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

Kullanıcı kullanıcı arabirimiyle etkileşim kurduğunda, toplanan verileri doğrulamak istiyor olabilir. Kullanıcıyla etkileşim kurmak için, kendinden onay alan bir teknik profil kullanılmalıdır.

Kullanıcı girişini doğrulamak için, kendini onaylayan teknik profilden bir doğrulama teknik profili çağrılır. Doğrulama teknik profili, etkileşimli olmayan teknik profilleri çağırma yöntemidir. Bu durumda, teknik profil çıkış talepleri veya bir hata iletisi döndürür. Hata iletisi ekranda kullanıcıya işlenir ve kullanıcının yeniden denemesi için izin verir.

Aşağıdaki diyagramda, Azure AD B2C kimlik bilgilerini doğrulamak için doğrulama teknik profilini nasıl kullandığı göstermektedir.

Validation technical profile diagram

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ı gidermeye ve ilkelerinizin uzun süreli bakımına 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üretildi. Müşterinizin ihtiyaçlarına uygun farklı dilleri karşılamak için bu dosyayı kullanın.
  • Kiracınız için benzersiz yapılandırma değişikliklerini tutan bir Uzantılar dosyası. Bu ilke dosyası Yerelleştirme dosyasından türetildi. Yeni işlevsellik eklemek veya mevcut işlevleri 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 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 ilke dosyasını gerektirir. Bu ilke dosyası uzantılar dosyasından türetildi.

Devralma modeli aşağıdaki gibidir:

  • Herhangi bir düzeydeki alt ilke, üst ilkeden devralabilir ve yeni öğeler ekleyerek bu ilkeyi genişletabilir.
  • Daha karmaşık senaryolar için daha fazla devralma düzeyi (toplamda 10'a kadar) eklersiniz.
  • Daha fazla bağlı olan taraf ilkeleri ekleme. Örneğin hesabımı silin, telefon numarasını, SAML bağlı olan taraf ilkesi ve daha fazlasını girin.

Aşağıdaki diyagramda, ilke dosyaları ile bağlı olan taraf uygulamaları arasındaki ilişki gösterir.

Diagram showing the trust framework policy inheritance model

Rehberlik ve en iyi deneyimler

En iyi yöntemler

Özel Azure AD B2C bir ilke içinde, istediğiniz kullanıcı deneyimlerini oluşturmak ve hizmetin işlevselliğini genişletmek için kendi iş mantığınızı tümleştirin. Çalışmaya başlamaya yönelik bir dizi en iyi uygulama ve önerimiz var.

  • Uzantı ilkesi veya bağlı olan taraf ilkesiiçinde mantığınızı oluşturun. Aynı kimlike başvurarak temel ilkeyi geçersiz kacak yeni öğeler eklemek. Bu yaklaşım, microsoft yeni başlangıç paketleri yayımlarsa daha sonra temel ilkeyi yükseltmeyi kolaylaştırırken projenizin ölçeğini de geliştirmenize olanak sağlar.
  • Temel ilke içinde,herhangi bir değişiklik yapmaktan kaçınmanız kesinlikle önerilir. Gerekli olduğunda, değişikliklerin nerede olduğunu açıklama yapın.
  • Teknik profil meta verileri gibi bir öğeyi geçersiz kıyorken, teknik profilin tamamını temel ilkeden kopyalamaktan kaçının. Bunun yerine, öğesinin yalnızca gerekli bölümünü kopyalayın. Değişikliğin nasıl yapılana bir örnek için bkz. E-posta doğrulamayı devre dışı bırakma.
  • Temel işlevlerin paylaşılmasıyla teknik profillerin çoğaltılması sayısını azaltmak için teknik profil dahil etme kullanın.
  • Oturum açma sırasında Azure AD dizinine yazmaktan kaçının; bu da azaltma sorunlarına yol açabilirsiniz.
  • İ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ı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 azaltmaya, bant genişliğine kaydetmeye ve yanıt hızını artırmaya olanak sağlar.
  • Kullanıcı yolculuğunda değişiklik yapmak için, temel ilkeden uzantı ilkesine tüm kullanıcı yolculuğunu kopyalayın. Kopyalanan 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 etmek için değiştirir.

Sorun giderme

Uygulama ilkeleriyle Azure AD B2C, kullanıcı yolculuğunu yürütürken hatalarla veya özel durumlarla karşınıza olabilir. , Application Analizler kullanılarak araştırabilirsiniz.

Sürekli tümleştirme

Azure Pipelines'de ayarlarınızı sürekli tümleştirme ve teslim (CI/CD) işlem hattı kullanarak, Azure AD B2C özel ilkelerinizi yazılım teslimi ve kod denetimi otomasyonu hizmetinize dahil edin. Geliştirme, test ve üretim gibi Azure AD B2C ortamlara dağıtım sırasında, el ile esnilen işlemleri kaldırmanız ve Azure Pipelines.

Ortamınızı hazırlama

Özel ilkeyi Azure AD B2C başlama:

  1. Azure AD B2C kiracısı oluşturma
  2. İlkenizi test etmek Azure portal kullanarak bir web uygulaması kaydetme.
  3. Gerekli ilke anahtarlarını ekleyin ve uygulama Identity Experience Framework kaydedin.
  4. İlke Azure AD B2C paketini al ve kiracınıza yükleyin.
  5. Başlangıç paketini karşıya yükledikten sonra, kaydolma veya oturum açma ilkenizi test etmek için .
  6. Yüklemenizi ve indirmenizi öneririz Visual Studio Code (VS Code). Visual Studio Code masaüstünüzde çalışan ve Windows, macOS ve Linux'ta kullanılabilen hafif ama güçlü bir kaynak kod düzenleyicisidir. Bu VS Code, Azure AD B2C için Azure AD B2C uzantısını yükleyerek özel ilke XML dosyalarınıza hızla VS Code

Sonraki adımlar

İlkenizi ayarip test Azure AD B2C sonra ilkenizi özelleştirmeye başlayabilirsiniz. Nasıl yapmayı öğrenmek için aşağıdaki makalelerin üzerinden gidin:

  • Talepler ekleyin ve özel ilkeler kullanarak kullanıcı girişini özelleştirin. Başlangıç paketi teknik profillerini özelleştirerek bir talep tanımlamayı ve kullanıcı arabirimine talep eklemeyi öğrenin.
  • Özel bir ilke kullanarak uygulamanın kullanıcı arabirimini özelleştirin. Kendi HTML içeriğinizi oluşturma ve içerik tanımını özelleştirme hakkında bilgi edinebilirsiniz.
  • Özel bir ilke kullanarak uygulamanın kullanıcı arabirimini yerelleştirin. Yerelleştirilmiş kaynaklar öğesini ekleyerek desteklenen diller listesini ayarlamayı ve dile özgü etiketler sağlamayı öğrenin.
  • İlke geliştirme ve test sırasında e-posta doğrulamasını devre dışı abilirsiniz. Teknik profil meta verisi üzerine yazmayı öğrenin.
  • Özel ilkeler kullanarak bir Google hesabıyla oturum açma ayarlama. OAuth2 teknik profiliyle yeni bir talep sağlayıcısı oluşturma hakkında bilgi. Ardından, Google oturum açma seçeneğini içerecek şekilde kullanıcı yolculuğunu özelleştirin.
  • Özel ilkeleriniz ile ilgili sorunları tanılamak için Application Azure Active Directory ile B2C günlüklerini Analizler. Yeni teknik profiller eklemeyi ve bağlı olan taraf ilkenizi yapılandırmayı öğrenin.