Aracılığıyla paylaş


Azure AD B2C'de SAML uygulaması kaydetme

Önemli

1 Mayıs 2025 tarihinden itibaren Azure AD B2C artık yeni müşteriler için satın alınamayacak. SSS bölümünden daha fazla bilgi edinebilirsiniz.

Bu makalede, kimlik doğrulaması için Güvenlik Onaylama İşaretleme Dili (SAML) uygulamalarınızı (hizmet sağlayıcıları) Azure Active Directory B2C'ye (Azure AD B2C) bağlamayı öğrenin.

Başlamadan önce, ayarlamakta olduğunuz ilke türünü seçmek için bu sayfanın üst kısmındaki İlke türü seç seçicisini kullanın. Azure Active Directory B2C, kullanıcıların uygulamalarınızla nasıl etkileşim kurduğunu tanımlamak için iki yöntem sunar: önceden tanımlanmış kullanıcı akışları veya tam olarak yapılandırılabilir özel ilkeler aracılığıyla. Bu makalede gerekli adımlar her yöntem için farklıdır.

Bu özellik yalnızca özel ilkeler için kullanılabilir. Kurulum adımları için, önceki seçicide Özel ilke'yi seçin.

Genel Bakış

Müşteri kimliği ve erişim yönetimi çözümü olarak Azure AD B2C kullanan kuruluşlar, SAML protokollerini kullanarak kimlik doğrulaması yapılan uygulamalarla tümleştirme gerektirebilir. Aşağıdaki diyagramda Azure AD B2C'nin SAML tabanlı uygulamalarla çoklu oturum açma (SSO) elde etmek için kimlik sağlayıcısı (IdP) olarak nasıl hizmet ettiği gösterilmektedir.

Azure Active Directory B2C'yi sol tarafta kimlik sağlayıcısı ve sağ tarafta hizmet sağlayıcısı olarak gösteren diyagram.

  1. Uygulama, Azure AD B2C için SAML oturum açma uç noktasına gönderilen bir SAML AuthN isteği oluşturur.
  2. Kullanıcı kimlik doğrulaması için bir Azure AD B2C yerel hesabı veya başka bir federasyon kimlik sağlayıcısı (yapılandırıldıysa) kullanabilir.
  3. Kullanıcı federasyon kimlik sağlayıcısı kullanarak oturum açarsa, Azure AD B2C'ye bir belirteç yanıtı gönderilir.
  4. Azure AD B2C bir SAML onayı oluşturur ve bunu uygulamaya gönderir.

SAML uygulamalarını Azure AD B2C ile tümleştirmeyi öğrenmek için bu videoyu izleyin.

Önkoşullar

Bu makaledeki senaryo için şunlar gerekir:

  • Özel bir ilke başlangıç paketinden SocialAndLocalAccounts özel ilkesi. Azure AD B2C'de özel ilkeleri kullanmaya başlama bölümündeki adımları tamamlayın.
  • SAML protokolü hakkında temel bilgiler ve uygulamanın SAML uygulaması hakkında bilgi.
  • SAML uygulaması olarak yapılandırılmış bir web uygulaması. SamL AuthN istekleri gönderebilme ve Azure AD B2C'den SAML yanıtlarını alma, çözme ve doğrulama özelliğine sahip olmalıdır. SAML uygulaması, bağlı olan taraf uygulaması veya hizmet sağlayıcısı olarak da bilinir.
  • SAML uygulamasının genel kullanıma açık SAML meta veri uç noktası veya XML belgesi.
  • Azure AD B2C kiracısı.

Henüz bir SAML uygulamanız ve ilişkili bir meta veri uç noktanız yoksa, test için kullanıma sunduğumuz SAML test uygulamasını kullanabilirsiniz.

Önemli

Uç noktalarınız Azure AD B2C güvenlik gereksinimlerine uygun olmalıdır. Eski TLS sürümleri ve şifreleri kullanım dışıdır. Daha fazla bilgi için Azure AD B2C TLS ve şifre paketi gereksinimleri bölümüne bakın.

Sertifikaları ayarlama

Uygulamanızla Azure AD B2C arasında bir güven ilişkisi oluşturmak için her iki hizmetin de birbirlerinin imzalarını oluşturabilmesi ve doğrulayabilmesi gerekir. Uygulamanızda ve Azure AD B2C'de X509 sertifikalarını yapılandırın.

Uygulama sertifikaları

Kullanım Gerekli Açıklama
SAML isteği imzalama Hayı Web uygulamanızda depolanan özel anahtara sahip bir sertifika. Uygulamanız, Azure AD B2C'ye gönderilen SAML isteklerini imzalamak için sertifikayı kullanır. Web uygulamasının ortak anahtarı SAML meta veri uç noktası aracılığıyla kullanıma sunması gerekir. Azure AD B2C, uygulama meta verilerindeki ortak anahtarı kullanarak SAML istek imzasını doğrular.
SAML onay şifrelemesi Hayı Web uygulamanızda depolanan özel anahtara sahip bir sertifika. Web uygulamasının ortak anahtarı SAML meta veri uç noktası aracılığıyla kullanıma sunması gerekir. Azure AD B2C, ortak anahtarı kullanarak uygulamanıza yönelik onayları şifreleyebilir. Uygulama, onaylama işleminin şifresini çözmek için özel anahtarı kullanır.

Azure AD B2C sertifikaları

Kullanım Gerekli Açıklama
SAML yanıt imzalama Evet Azure AD B2C'de depolanan özel anahtara sahip bir sertifika. Azure AD B2C, uygulamanıza gönderilen SAML yanıtını imzalamak için bu sertifikayı kullanır. Uygulamanız, SAML yanıtının imzasını doğrulamak için Azure AD B2C'deki meta veri ortak anahtarını okur.
SAML onay imzalama Evet Azure AD B2C'de depolanan özel anahtara sahip bir sertifika. Azure AD B2C, SAML yanıtının <saml:Assertion> bölümünü imzalamak için bu sertifikayı kullanır.

Üretim ortamında, genel sertifika yetkilisinin verdiği sertifikaları kullanmanızı öneririz. Ancak bu yordamı kendi imzalı sertifikalarla da tamamlayabilirsiniz.

İlke anahtarı oluşturma

Uygulamanızla Azure AD B2C arasında güven ilişkisine sahip olmak için SAML yanıtı için bir imzalama sertifikası oluşturun. Azure AD B2C, uygulamanıza gönderilen SAML yanıtını imzalamak için bu sertifikayı kullanır. Uygulamanız, SAML yanıtının imzasını doğrulamak için Azure AD B2C için meta veri ortak anahtarını okur.

Tavsiye

Bu ilke anahtarını SAML onayını imzalama gibi başka amaçlar için kullanabilirsiniz.

Sertifika alma

Henüz bir sertifikanız yoksa, otomatik olarak imzalanan bir sertifika kullanabilirsiniz. Otomatik olarak imzalanan sertifika, sertifika yetkilisi (CA) tarafından imzalanmayan ve CA tarafından imzalanan bir sertifikanın güvenlik garantilerini sağlamayan bir güvenlik sertifikasıdır.

Windows'da, sertifika oluşturmak için PowerShell'de New-SelfSignedCertificate cmdlet'ini kullanın.

  1. Otomatik olarak imzalanan bir sertifika oluşturmak için aşağıdaki PowerShell komutunu çalıştırın. -Subject bağımsız değişkenini, uygulamanıza ve Azure AD B2C kiracı adınıza uygun olacak şekilde, contosowebapp.contoso.onmicrosoft.com olarak değiştirin. Ayrıca, sertifika için -NotAfter farklı bir süre sonu belirtmek üzere tarihi ayarlayabilirsiniz.

    New-SelfSignedCertificate `
        -KeyExportPolicy Exportable `
        -Subject "CN=yourappname.yourtenant.onmicrosoft.com" `
        -KeyAlgorithm RSA `
        -KeyLength 2048 `
        -KeyUsage DigitalSignature `
        -NotAfter (Get-Date).AddMonths(12) `
        -CertStoreLocation "Cert:\CurrentUser\My"
    
  2. Windows bilgisayarda Kullanıcı sertifikalarını yönet'i arayın ve seçin

  3. Sertifikalar - Geçerli Kullanıcı altında Kişisel>Sertifikalar>yourappname.yourtenant.onmicrosoft.com seçin.

  4. Sertifikayı seçin ve ardından Seçenekler>Tüm Görevler>Dışa Aktar seçeneğini seçin.

  5. İleri Sonraki>Evet, özel anahtarı dışa aktar>Sonraki seçin.

  6. Dosya Biçimini Dışarı Aktar varsayılanlarını kabul edin ve İleri'yi seçin.

  7. Parolayı Etkinleştir seçeneğini belirleyin, sertifika için bir parola girin ve İleri'yi seçin.

  8. Sertifikanızı kaydedeceğiniz konumu belirtmek için Gözat'ı seçin ve istediğiniz bir dizine gidin.

  9. Farklı Kaydet penceresinde bir Dosya adı girin ve Kaydet'i seçin.

  10. İleri>Bitiş öğesini seçin.

Azure AD B2C'nin .pfx dosya parolasını kabul etmesi için, parolanın AES256-SHA256 yerine Windows Sertifika Deposu Dışarı Aktarma yardımcı programındaki TripleDES-SHA1 seçeneğiyle şifrelenmesi gerekir.

Sertifikayı karşıya yükle

Sertifikanızı Azure AD B2C kiracınızda depolamanız gerekir.

  1. Azure portalınaoturum açın.
  2. Birden çok kiracıya erişiminiz varsa Azure AD B2C kiracınıza geçiş yapmak için Dizinler + abonelikler menüsünde, üstteki menüden Ayarlar simgesini seçin.
  3. Azure portalının sol üst köşesindeki Tüm hizmetler'i seçin ve ardından Azure AD B2C'yi arayıp seçin.
  4. Genel Bakış sayfasında Kimlik Deneyimi Çerçevesi'ni seçin.
  5. İlke Anahtarları'nı seçin ve daha sonra Ekle'yi seçin.
  6. Seçenekler için Karşıya Yükle'yi seçin.
  7. Ad alanına ilke anahtarı için bir ad girin. Örneğin, SamlIdpCert girin. B2C_1A_ ön eki anahtarınızın adına otomatik olarak eklenir.
  8. Özel anahtarla sertifika .pfx dosyanıza gidin ve dosyayı seçin.
  9. Oluştur'i seçin.

SAML uygulaması ile bağlantı kurmak için ilkenizi etkinleştirin.

SAML uygulamanıza bağlanmak için Azure AD B2C'nin SAML yanıtları oluşturabilmesi gerekir.

Özel ilke başlangıç paketinde SocialAndLocalAccounts\TrustFrameworkExtensions.xml açın.

<ClaimsProviders> bölümünü bulun ve SAML yanıt oluşturucunuzu uygulamak için aşağıdaki XML parçacığını ekleyin:

<ClaimsProvider>
  <DisplayName>Token Issuer</DisplayName>
  <TechnicalProfiles>

    <!-- SAML Token Issuer technical profile -->
    <TechnicalProfile Id="Saml2AssertionIssuer">
      <DisplayName>Token Issuer</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputTokenFormat>SAML2</OutputTokenFormat>
      <Metadata>
        <Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
        <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
      </CryptographicKeys>
      <InputClaims/>
      <OutputClaims/>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
    </TechnicalProfile>

    <!-- Session management technical profile for SAML-based tokens -->
    <TechnicalProfile Id="SM-Saml-issuer">
      <DisplayName>Session Management Provider</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
    </TechnicalProfile>

  </TechnicalProfiles>
</ClaimsProvider>

SAML yanıtının veren URI'sini yapılandırma

SAML Belirteci Veren teknik profilinde meta veri öğesinin değerini IssuerUri değiştirebilirsiniz. Bu değişiklik, Azure AD B2C'den issuerUri SAML yanıtında döndürülen öznitelikte yansıtılır. Uygulamanızı SAML yanıt doğrulaması sırasında aynı IssuerUri değeri kabul etmek üzere yapılandırın.

<ClaimsProvider>
  <DisplayName>Token Issuer</DisplayName>
  <TechnicalProfiles>
    <!-- SAML Token Issuer technical profile -->
    <TechnicalProfile Id="Saml2AssertionIssuer">
      <DisplayName>Token Issuer</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputTokenFormat>SAML2</OutputTokenFormat>
      <Metadata>
        <Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
      </Metadata>
      ...
    </TechnicalProfile>

İlkenizi bir SAML yanıtı verecek şekilde yapılandırın.

artık ilkeniz SAML yanıtları oluşturabildiğine göre, ilkeyi uygulamanıza varsayılan JWT yanıtı yerine bir SAML yanıtı vermek üzere yapılandırmanız gerekir.

SAML için yapılandırılmış bir kaydolma veya oturum açma ilkesi oluşturma

  1. başlangıç paketinizin çalışma dizininde SignUpOrSignin.xml dosyasının bir kopyasını oluşturun ve yeni bir adla kaydedin. Bu makalede örnek olarak SignUpOrSigninSAML.xml kullanılır. Bu dosya, bağlı olan taraf için ilke dosyanızdır. Varsayılan olarak bir JWT yanıtı vermek üzere yapılandırılmıştır.

  2. tercih ettiğiniz düzenleyicide SignUpOrSigninSAML.xml dosyasını açın.

  3. Değerini değiştirin:

    1. PolicyId'dan B2C_1A_signup_signin_saml'e

    2. PublicPolicyUri'dan http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml'e. Azure AD B2C kiracınızın etki alanının alt etki alanını <tenant-name> boşluğuyla değiştirin. Örneğin, kiracının birincil alan adı contoso.onmicrosoft.com ise contoso kullanın. Kiracı adınız yoksa kiracınızın ayrıntılarını nasıl okuyacağınızı öğrenin.

    <TrustFrameworkPolicy
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
    PolicySchemaVersion="0.3.0.0"
    TenantId="<tenant-name>.onmicrosoft.com"
    PolicyId="B2C_1A_signup_signin_saml"
    PublicPolicyUri="http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml">
    
  4. Kullanıcı yolculuğunun sonunda Azure AD B2C bir SendClaims adım içerir. Bu adım Belirteç Veren teknik profiline başvurur. Varsayılan JWT yanıtı yerine bir SAML yanıtı üretmek için, SendClaims adımını yeni SAML Belirteci Veren teknik profil olan Saml2AssertionIssuer'e başvuracak şekilde değiştirin.

Aşağıdaki XML kod parçacığını öğenin hemen önüne <RelyingParty> ekleyin. Bu XML, SignUpOrSignIn kullanıcı yolculuğundaki düzenleme adımı 7'nin yerini alır.

Başlangıç paketindeki farklı bir klasörden başladıysanız veya düzenleme adımlarını ekleyerek veya kaldırarak kullanıcı yolculuğunu özelleştirdiyseniz, öğedeki sayinin order belirteç veren adımı için kullanıcı yolculuğunda belirtilen sayıya karşılık olduğundan emin olun. Örneğin, diğer başlangıç paketi klasörlerinde, LocalAccounts için adım numarası 4, SocialAccounts için 6 ve SocialAndLocalAccountsWithMfa için 9'dur.

<UserJourneys>
  <UserJourney Id="SignUpOrSignIn">
    <OrchestrationSteps>
      <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
    </OrchestrationSteps>
  </UserJourney>
</UserJourneys>

Bağlı olan taraf öğesi, uygulamanızın hangi protokolü kullandığını belirler. Varsayılan değer: OpenId. Protocol öğesi olarak SAMLdeğiştirilmelidir. Çıkış iddiaları, SAML beyanıyla eşleştirme oluşturur.

<TechnicalProfile> öğesindeki <RelyingParty> öğesinin tamamını aşağıdaki teknik profil XML'iyle değiştirin.

    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
      </OutputClaims>
      <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
    </TechnicalProfile>

Bağlı olan taraf için son ilke dosyanız aşağıdaki XML kodu gibi görünmelidir:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TrustFrameworkPolicy
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
  PolicySchemaVersion="0.3.0.0"
  TenantId="contoso.onmicrosoft.com"
  PolicyId="B2C_1A_signup_signin_saml"
  PublicPolicyUri="http://contoso.onmicrosoft.com/B2C_1A_signup_signin_saml">

  <BasePolicy>
    <TenantId>contoso.onmicrosoft.com</TenantId>
    <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
  </BasePolicy>

  <UserJourneys>
    <UserJourney Id="SignUpOrSignIn">
      <OrchestrationSteps>
        <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
      </OrchestrationSteps>
    </UserJourney>
  </UserJourneys>

  <RelyingParty>
    <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
      </OutputClaims>
      <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
    </TechnicalProfile>
  </RelyingParty>
</TrustFrameworkPolicy>

Uyarı

Diğer kullanıcı akışı türlerini (örneğin, oturum açma, parola sıfırlama veya profil düzenleme akışları) uygulamak için aynı işlemi izleyebilirsiniz.

Poliçenizi yükleyin

Değişikliklerinizi kaydedin ve yeni TrustFrameworkExtensions.xml ve SignUpOrSigninSAML.xml ilke dosyalarını Azure portalına yükleyin.

Azure AD B2C IdP SAML meta verilerini test edin

İlke dosyaları karşıya yüklendikten sonra Azure AD B2C, uygulamanın kullanacağı kimlik sağlayıcısının SAML meta veri belgesini oluşturmak için yapılandırma bilgilerini kullanır. SAML meta veri belgesi, oturum açma yöntemleri, oturum kapatma yöntemleri ve sertifikalar gibi hizmetlerin konumlarını içerir.

Azure AD B2C ilke meta verileri aşağıdaki URL'de sağlanır:

https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/samlp/metadata

<tenant-name> yerine Azure AD B2C kiracınızın adını yazın. <policy-name> öğesini ilkenin adı (ID) ile değiştirin. İşte bir örnek:

https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/metadata

SAML uygulamanızı Azure AD B2C'ye kaydetme

Azure AD B2C'nin uygulamanıza güvenmesi için bir Azure AD B2C uygulama kaydı oluşturursunuz. Kayıt, uygulamanın meta veri uç noktası gibi yapılandırma bilgilerini içerir.

  1. Azure portalınaoturum açın.
  2. Birden çok kiracıya erişiminiz varsa Azure AD B2C kiracınıza geçiş yapmak için Dizinler + abonelikler menüsünde, üstteki menüden Ayarlar simgesini seçin.
  3. Soldaki menüde Azure AD B2C'yi seçin. İsterseniz Tüm hizmetler'i seçip Azure AD B2C'yi arayıp seçebilirsiniz.
  4. Uygulama kayıtlarıöğesini seçin, ve ardından Yeni kayıtöğesini seçin.
  5. Uygulama için bir Ad girin. Örneğin, SAMLApp1 girin.
  6. Desteklenen hesap türleri'nin altında Yalnızca bu kuruluş dizinindeki Hesaplar'ı seçin.
  7. Yeniden Yönlendirme URI'si'nin altında Web'i seçin ve girinhttps://localhost. Bu değeri daha sonra uygulama kaydının bildiriminde değiştirirsiniz.
  8. Kaydıseçin.

Azure AD B2C'de uygulamanızı yapılandırma

SAML uygulamaları için, uygulama kaydının bildiriminde çeşitli özellikleri yapılandırmanız gerekir.

  1. Azure portalında, önceki bölümde oluşturduğunuz uygulama kaydına gidin.
  2. Yönet'in altında Bildirim'i seçerek bildirim düzenleyicisini açın. Ardından, aşağıdaki bölümlerde açıklanan özellikleri değiştirin.

Tanımlayıcıyı ekleme

SAML uygulamanız Azure AD B2C'ye istekte bulunduğunda SAML Kimlik Doğrulama isteği bir Issuer öznitelik içerir. Bu özniteliğin değeri genellikle uygulamanın meta veri entityID değeriyle aynıdır. Azure AD B2C, dizindeki uygulama kaydını aramak ve yapılandırmayı okumak için bu değeri kullanır. Bu aramanın başarılı olması için, identifierUri uygulama kaydında özniteliğiyle eşleşen Issuer bir değerle doldurulması gerekir.

Kayıt bildiriminde parametresini identifierURIs bulun ve uygun değeri ekleyin. Bu değer, uygulamadaki SAML Kimlik Doğrulama isteklerinde EntityId yapılandırılan değerle ve entityID uygulamanın meta verilerindeki değerle aynı olacaktır. Ayrıca parametresini accessTokenAcceptedVersion bulmanız ve değerini olarak 2ayarlamanız gerekir.

Önemli

accessTokenAcceptedVersion için 2 güncelleme yapmazsanız, doğrulanmış bir etki alanı gerektiren bir hata iletisi alırsınız.

Aşağıdaki örnekte SAML meta verilerindeki değer gösterilmektedir entityID :

<EntityDescriptor ID="id123456789" entityID="https://samltestapp2.azurewebsites.net" validUntil="2099-12-31T23:59:59Z" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">

identifierUris özelliği yalnızca etki alanındaki tenant-name.onmicrosoft.comURL'leri kabul eder.

"identifierUris":"https://tenant-name.onmicrosoft.com/app-name",

Azure AD B2C ile uygulamanın meta verilerini paylaşma

Uygulama kaydının identifierUri değeri ile yüklendikten sonra Azure AD B2C, SAML Kimlik Doğrulama isteğini doğrulamak ve nasıl yanıt vereceğini belirlemek için uygulamanın meta verilerini kullanır.

Uygulamanızın genel olarak erişilebilen bir meta veri uç noktasını kullanıma sunmanızı öneririz.

Hem SAML meta veri URL'sinde hem de uygulama kaydının bildiriminde belirtilen özellikler varsa, bunlar birleştirilir. Meta veri URL'sinde belirtilen özellikler önce işlenir ve öncelik kazanır.

Örnek olarak SAML test uygulamasını kullanarak, uygulama bildiriminde için samlMetadataUrl aşağıdaki değeri kullanırsınız:

"samlMetadataUrl":"https://samltestapp2.azurewebsites.net/Metadata",

Onay tüketici URL'sini geçersiz kılma veya ayarlama (isteğe bağlı)

Azure AD B2C'nin SAML yanıtlarını gönderdiği yanıt URL'sini yapılandırabilirsiniz. Yanıt URL'leri uygulama bildiriminde yapılandırılabilir. Uygulamanız genel olarak erişilebilen bir meta veri uç noktasını kullanıma sunmadığında bu yapılandırma kullanışlıdır.

SAML uygulamasının yanıt URL'si, uygulamanın SAML yanıtlarını almayı beklediği uç noktadır. Uygulama genellikle bu URL'yi, bu örnekte gösterildiği gibi, meta veri belgesinde Location öğesinin AssertionConsumerService özniteliği olarak sağlar:

<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    ...
    <AssertionConsumerService index="0" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://samltestapp2.azurewebsites.net/SP/AssertionConsumer" />        
</SPSSODescriptor>

Uygulamanın meta veri AssertionConsumerService öğesi eksikse veya bunu geçersiz kılmak istiyorsanız, uygulama kayıt bildirimi replyUrlsWithType özelliğini yapılandırın. Azure AD B2C, replyUrlsWithType bağlama türü kullanılarak kullanıcılar oturum açtıktan sonra HTTP-POST ile onları yeniden yönlendirmek için kullanır.

Örnek olarak SAML test uygulamasını kullanarak özelliğini url aşağıdaki JSON kod parçacığında gösterilen değere ayarlarsınızreplyUrlsWithType:

"replyUrlsWithType":[
  {
    "url":"https://samltestapp2.azurewebsites.net/SP/AssertionConsumer",
    "type":"Web"
  }
],

Oturum kapatma URL'sini geçersiz kılma veya ayarlama (isteğe bağlı)

Oturumu kapatma URL'si, oturumu kapatma isteğinden sonra kullanıcının nereye yönlendirileceği tanımlar. Uygulama genellikle aşağıdaki örnekte gösterildiği gibi meta veri belgesinde bu URL'yi Location özniteliği SingleLogoutService öğesinin olarak sağlar.

<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://samltestapp2.azurewebsites.net/logout" ResponseLocation="https://samltestapp2.azurewebsites.net/logout" />

</SPSSODescriptor>

Uygulamanın meta veri SingleLogoutService öğesi eksikse, uygulama kaydı bildirim logoutUrl özelliğini yapılandırın. Azure AD B2C, oturumları kapatılan kullanıcıları logoutURL bağlama türünü kullanarak yeniden yönlendirmek için HTTP-Redirect'yı kullanır.

Örnek olarak SAML test uygulamasını kullanarak özelliğini olarak logoutUrlayarlarsınızhttps://samltestapp2.azurewebsites.net/logout:

"logoutUrl": "https://samltestapp2.azurewebsites.net/logout",

Uyarı

Uygulamanın meta veri uç noktasını samlMetadataUrl özelliği kullanarak doldurmadan, uygulama bildiriminde yanıt URL'sini ve çıkış URL'sini yapılandırmayı seçerseniz, Azure AD B2C SAML istek imzasını doğrulamaz. SAML yanıtını da şifrelemez.

Azure AD B2C'yi SAML uygulamanızda SAML IdP olarak yapılandırma

Son adım, AZURE AD B2C'yi SAML uygulamanızda SAML IdP olarak etkinleştirmektir. Her uygulama farklıdır ve adımlar farklılık gösterir. Ayrıntılar için uygulamanızın belgelerine bakın.

Meta veriler uygulamanızda statik meta veriler veya dinamik meta veriler olarak yapılandırılabilir. Statik modda, Azure AD B2C ilkesi meta verilerinden meta verilerin tamamını veya bir bölümünü kopyalayın. Dinamik modda meta verilerin URL'sini sağlayın ve uygulamanızın meta verileri dinamik olarak okumasına izin verin.

Aşağıdakilerin bazıları veya tümü genellikle gereklidir:

  • Meta veriler: biçimini https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/Samlp/metadatakullanın.

  • Veren: SAML isteğinin issuer değeri, uygulama kayıt bildirimi öğesinde yapılandırılan URI'lerden identifierUris biriyle eşleşmelidir. SAML isteğinin issuer adı öğesinde identifierUris yoksa, bunu uygulama kayıt bildirimine ekleyin. Örneğin: https://contoso.onmicrosoft.com/app-name.

  • Oturum açma URL'si, SAML uç noktası, SAML URL'si: XML öğesinin Azure AD B2C SAML ilkesi meta veri dosyasındaki <SingleSignOnService> değeri denetleyin.

  • Sertifika: Bu sertifika B2C_1A_SamlIdpCert, ancak özel anahtar olmadan. Sertifikanın ortak anahtarını almak için:

    1. Daha önce belirtilen meta veri URL'sine gidin.
    2. öğesindeki <X509Certificate> değeri kopyalayın.
    3. Bir metin dosyasına yapıştırın.
    4. Metin dosyasını .cer dosyası olarak kaydedin.

SAML test uygulamasıyla test

Yapılandırmanızı test etmek için SAML test uygulamamızı kullanabilirsiniz:

  • Kiracı adını güncelleştirin.
  • Politika adını güncelleyin. Örneğin, B2C_1A_signup_signin_saml kullanın.
  • Veren URI'sini belirtin. Uygulama kayıt bildirimindeki öğesinde identifierUris bulunan URI'lerden birini kullanın. Örneğin, kullanın https://contoso.onmicrosoft.com/app-name.

Oturum aç'ı seçtiğinizde bir kullanıcı oturum açma ekranı görüntülenir. Oturum açtığınızda örnek uygulamaya bir SAML yanıtı verilir.

Desteklenen ve desteklenmeyen SAML modaliteleri

Aşağıdaki SAML uygulama senaryoları kendi meta veri uç noktanız aracılığıyla desteklenir: