Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ö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.
- Uygulama, Azure AD B2C için SAML oturum açma uç noktasına gönderilen bir SAML AuthN isteği oluşturur.
- 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.
- Kullanıcı federasyon kimlik sağlayıcısı kullanarak oturum açarsa, Azure AD B2C'ye bir belirteç yanıtı gönderilir.
- 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.
Otomatik olarak imzalanan bir sertifika oluşturmak için aşağıdaki PowerShell komutunu çalıştırın.
-Subjectbağımsız değişkenini, uygulamanıza ve Azure AD B2C kiracı adınıza uygun olacak şekilde,contosowebapp.contoso.onmicrosoft.comolarak değiştirin. Ayrıca, sertifika için-NotAfterfarklı 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"Windows bilgisayarda Kullanıcı sertifikalarını yönet'i arayın ve seçin
Sertifikalar - Geçerli Kullanıcı altında Kişisel>Sertifikalar>yourappname.yourtenant.onmicrosoft.com seçin.
Sertifikayı seçin ve ardından Seçenekler>Tüm Görevler>Dışa Aktar seçeneğini seçin.
İleri Sonraki>Evet, özel anahtarı dışa aktar>Sonraki seçin.
Dosya Biçimini Dışarı Aktar varsayılanlarını kabul edin ve İleri'yi seçin.
Parolayı Etkinleştir seçeneğini belirleyin, sertifika için bir parola girin ve İleri'yi seçin.
Sertifikanızı kaydedeceğiniz konumu belirtmek için Gözat'ı seçin ve istediğiniz bir dizine gidin.
Farklı Kaydet penceresinde bir Dosya adı girin ve Kaydet'i seçin.
İ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.
- Azure portalınaoturum açın.
- 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.
- 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.
- Genel Bakış sayfasında Kimlik Deneyimi Çerçevesi'ni seçin.
- İlke Anahtarları'nı seçin ve daha sonra Ekle'yi seçin.
- Seçenekler için Karşıya Yükle'yi seçin.
- 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.
- Özel anahtarla sertifika .pfx dosyanıza gidin ve dosyayı seçin.
- 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
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.
tercih ettiğiniz düzenleyicide SignUpOrSigninSAML.xml dosyasını açın.
Değerini değiştirin:
PolicyId'danB2C_1A_signup_signin_saml'ePublicPolicyUri'danhttp://<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.comisecontosokullanı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">Kullanıcı yolculuğunun sonunda Azure AD B2C bir
SendClaimsadı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,SendClaimsadımını yeni SAML Belirteci Veren teknik profil olanSaml2AssertionIssuer'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.
- Azure portalınaoturum açın.
- 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.
- Soldaki menüde Azure AD B2C'yi seçin. İsterseniz Tüm hizmetler'i seçip Azure AD B2C'yi arayıp seçebilirsiniz.
- Uygulama kayıtlarıöğesini seçin, ve ardından Yeni kayıtöğesini seçin.
- Uygulama için bir Ad girin. Örneğin, SAMLApp1 girin.
- Desteklenen hesap türleri'nin altında Yalnızca bu kuruluş dizinindeki Hesaplar'ı seçin.
-
Yeniden Yönlendirme URI'si'nin altında Web'i seçin ve girin
https://localhost. Bu değeri daha sonra uygulama kaydının bildiriminde değiştirirsiniz. - 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.
- Azure portalında, önceki bölümde oluşturduğunuz uygulama kaydına gidin.
- 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
issuerdeğeri, uygulama kayıt bildirimi öğesinde yapılandırılan URI'lerdenidentifierUrisbiriyle eşleşmelidir. SAML isteğininissueradı öğesindeidentifierUrisyoksa, 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:
- Daha önce belirtilen meta veri URL'sine gidin.
- öğesindeki
<X509Certificate>değeri kopyalayın. - Bir metin dosyasına yapıştırın.
- 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
identifierUrisbulunan URI'lerden birini kullanın. Örneğin, kullanınhttps://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 nesnesinde oturumu kapatma URL'si için birden çok oturum kapatma URL'si veya POST bağlaması belirtin.
- Uygulama veya hizmet ilkesi nesnesinde bağlı taraf taleplerini doğrulamak için bir imzalama anahtarı belirtin.
- Uygulama veya hizmet asıl 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.
İlgili içerik
- Azure AD B2C GitHub topluluk deposundan SAML test web uygulamasını edinin.
- Azure AD B2C'de SAML uygulaması kaydetme seçeneklerine bakın.
- Geliştirici en iyi yöntemleri aracılığıyla Dayanıklılık oluşturmayı öğrenin.