Azure AD B2C'de SAML uygulaması kaydetme

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, ayarladığınız ilke türünü seçmek için İlke türü seçin 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.

Diagram with Azure Active Directory B2C as an identity provider on the left and as a service provider on the right.

  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 bkz . Azure AD B2C TLS ve şifre paketi gereksinimleri.

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 Zorunlu Tanım
SAML isteği imzalama Hayır 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ır 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 Zorunlu Tanım
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ı otomatik olarak imzalanan 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.

Bahşiş

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. bağımsız değişkenini -Subject uygulamanız ve Azure AD B2C kiracı adı gibi uygun şekilde contosowebapp.contoso.onmicrosoft.comdeğ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ı'nın altında Kişisel>Sertifikalar>yourappname.yourtenant.onmicrosoft.com'ni seçin.

  4. Sertifikayı seçin ve ardından Tüm Görevleri>Dışarı Aktar eylemini>seçin.

  5. İleri>Evet, özel anahtarı>dışarı aktar İleri'yi 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>Son seçeneğini belirleyin.

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ükleme

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

  1. Azure Portal oturum açın.
  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için ü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ı ve ardından 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 seçeneğini belirleyin.

saml uygulamasına bağlanmak için ilkenizi etkinleştirme

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 dosyasını 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 özniteliğine 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 SAML yanıtı vermek için yapılandırma

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 - B2C_1A_signup_signin_saml

    2. PublicPolicyUri olarak belirleyin http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml. Yer tutucuyu Azure AD B2C kiracınızın etki alanı adının alt etki alanıyla değiştirin <tenant-name> . Örneğin, kiracı birincil etki alanınız ise contoso.onmicrosoft.comkullanın contoso. 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ı vermek için, yeni SAML Belirteci Veren teknik profiline Saml2AssertionIssuerbaşvurmak için adımı değiştirinSendClaims.

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

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 ilgili adım numarası için 4, için LocalAccounts6 SocialAccountsve için SocialAndLocalAccountsWithMfa9'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ış talepleri, SAML onaylama işlemine eşlemeyi oluşturur.

öğesindeki <RelyingParty> öğenin tamamını <TechnicalProfile> 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>

Dekont

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.

İlkenizi karşıya yükleme

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

değerini Azure AD B2C kiracınızın adıyla değiştirin <tenant-name> . değerini ilkenin adıyla (ID) değiştirin <policy-name> . Bir örnek aşağıda verilmiştir:

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 oturum açın.
  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için ü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ı'ı ve ardından Yeni kayıt'ı 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ştireceksiniz.
  8. Kaydet'i 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

olarak güncelleştirmezseniz accessTokenAcceptedVersion 2 , 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ı değeri tarafından identifierUri yüklendikten sonra Azure AD B2C, SAML Kimlik Doğrulama isteğini doğrulamak ve nasıl yanıt verileceğ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ı 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 meta veri belgesinde bu URL'yi bu örnekte gösterildiği gibi öğesinin AssertionConsumerService özniteliği olarak Location 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 oturum açtıktan sonra kullanıcıları yeniden yönlendirmek için kullanır HTTP-POST .

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

"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 öğesinin SingleLogoutService özniteliği olarak Location 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, bağlama türü kullanılarak oturumları kapatılan kullanıcıları yeniden yönlendirmek için öğesini HTTP-Redirect kullanırlogoutURL.

Örnek olarak SAML test uygulamasını kullanarak özelliğini olarak https://samltestapp2.azurewebsites.net/logoutayarlarsınızlogoutUrl:

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

Dekont

Uygulamanın meta veri uç noktasını özelliği aracılığıyla doldurmadan uygulama bildiriminde yanıt URL'sini ve oturumu kapatma URL'sini yapılandırmayı samlMetadataUrl 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.
  • İlke adını güncelleştirin. Ö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:

  • Uygulama veya hizmet sorumlusu nesnesindeki oturumu kapatma URL'si için birden çok oturum kapatma URL'si veya POST bağlaması belirtin.
  • Uygulama veya hizmet sorumlusu nesnesinde bağlı olan taraf isteklerini doğrulamak için bir imzalama anahtarı belirtin.
  • Uygulama veya hizmet sorumlusu nesnesinde bir belirteç şifreleme anahtarı belirtin.
  • Kimlik sağlayıcısının Azure AD B2C olduğu IdP tarafından başlatılan oturum açmayı belirtin.

Sonraki adımlar