Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Z tego artykułu dowiesz się, jak połączyć aplikacje SAML (Security Assertion Markup Language) (dostawców usług) z usługą Azure Active Directory B2C (Azure AD B2C) w celu uwierzytelniania.
Przed rozpoczęciem użyj selektora Wybierz typ zasad w górnej części tej strony, aby wybrać typ konfigurowanych zasad. Usługa Azure Active Directory B2C oferuje dwie metody definiowania sposobu interakcji użytkowników z aplikacjami: za pomocą wstępnie zdefiniowanych przepływów użytkowników lub w pełni konfigurowalnych zasad niestandardowych. Kroki wymagane w tym artykule są różne dla każdej metody.
Ta funkcja jest dostępna tylko dla zasad niestandardowych. Aby uzyskać instrukcje konfiguracji, wybierz pozycję Zasady niestandardowe w poprzednim selektorze.
Przegląd
Organizacje, które używają Azure AD B2C jako rozwiązania do zarządzania tożsamościami i dostępem klientów, mogą wymagać integracji z aplikacjami, które uwierzytelniają się przy użyciu protokołu SAML. Na poniższym diagramie pokazano, jak usługa Azure AD B2C służy jako dostawca tożsamości (IdP) w celu osiągnięcia logowania jednokrotnego (SSO) z aplikacjami opartymi na protokole SAML.
- Aplikacja tworzy żądanie uwierzytelniania SAML, które jest wysyłane do punktu końcowego logowania SAML dla usługi Azure AD B2C.
- Użytkownik może uwierzytelnić się przy użyciu konta lokalnego usługi Azure AD B2C lub dowolnego innego dostawcy tożsamości federacyjnej (jeśli jest skonfigurowany).
- Jeśli użytkownik zaloguje się przy użyciu dostawcy tożsamości federacyjnej, odpowiedź tokenu zostanie wysłana do usługi Azure AD B2C.
- Azure AD B2C generuje asercję SAML i wysyła ją do aplikacji.
Obejrzyj ten klip wideo, aby dowiedzieć się, jak zintegrować aplikacje SAML z usługą Azure AD B2C.
Wymagania wstępne
W scenariuszu opisanym w tym artykule potrzebne są następujące elementy:
- Niestandardowa polityka SocialAndLocalAccounts z pakietu startowego polityk niestandardowych. Wykonaj kroki opisane w temacie Wprowadzenie do zasad niestandardowych w usłudze Azure AD B2C.
- Podstawowa wiedza na temat protokołu SAML i znajomość implementacji SAML aplikacji.
- Aplikacja internetowa skonfigurowana jako aplikacja SAML. Musi mieć możliwość wysyłania żądań uwierzytelniania SAML oraz odbierania, dekodowania i weryfikowania odpowiedzi SAML z usługi Azure AD B2C. Aplikacja SAML jest również nazywana aplikacją odbierającą lub dostawcą usług.
- Publicznie dostępny punkt końcowy metadanych lub dokument XML aplikacji SAML.
- Dzierżawa usługi Azure AD B2C.
Jeśli nie masz jeszcze aplikacji SAML i skojarzonego z nią punktu końcowego metadanych, możesz użyć aplikacji testowej SAML , którą udostępniliśmy do testowania.
Ważne
Punkty końcowe muszą być zgodne z wymaganiami dotyczącymi zabezpieczeń usługi Azure AD B2C. Starsze wersje protokołu TLS i szyfry są przestarzałe. Aby uzyskać więcej informacji, zobacz wymagania dotyczące protokołu TLS i szyfrowania usługi Azure AD B2C.
Ustawianie certyfikatów
Aby utworzyć relację zaufania między aplikacją a usługą Azure AD B2C, obie usługi muszą mieć możliwość tworzenia i weryfikowania swoich podpisów. Skonfiguruj certyfikaty X509 w aplikacji i w usłudze Azure AD B2C.
Certyfikaty aplikacji
| Użycie | Wymagane | Opis |
|---|---|---|
| Podpisywanie żądań SAML | Nie. | Certyfikat z kluczem prywatnym przechowywanym w aplikacji internetowej. Aplikacja używa certyfikatu do podpisywania żądań SAML wysyłanych do usługi Azure AD B2C. Aplikacja internetowa musi uwidocznić klucz publiczny za pośrednictwem punktu końcowego metadanych SAML. Azure AD B2C weryfikuje podpis żądania SAML przy użyciu klucza publicznego z metadanych aplikacji. |
| Szyfrowanie asercji SAML | Nie. | Certyfikat z kluczem prywatnym przechowywanym w aplikacji internetowej. Aplikacja internetowa musi uwidocznić klucz publiczny za pośrednictwem punktu końcowego metadanych SAML. Azure AD B2C może szyfrować potwierdzenia w aplikacji przy użyciu klucza publicznego. Aplikacja używa klucza prywatnego do odszyfrowania potwierdzenia. |
Certyfikaty B2C usługi Azure AD
| Użycie | Wymagane | Opis |
|---|---|---|
| Podpisywanie odpowiedzi SAML | Tak | Certyfikat z kluczem prywatnym przechowywanym w usłudze Azure AD B2C. Azure AD B2C używa tego certyfikatu do podpisywania odpowiedzi SAML wysyłanej do aplikacji. Aplikacja odczytuje klucz publiczny metadanych w usłudze Azure AD B2C, aby zweryfikować podpis odpowiedzi SAML. |
| Podpisywanie asercji SAML | Tak | Certyfikat z kluczem prywatnym przechowywanym w usłudze Azure AD B2C. Azure AD B2C używa tego certyfikatu do podpisywania <saml:Assertion> części odpowiedzi SAML. |
W środowisku produkcyjnym zaleca się korzystanie z certyfikatów wystawionych przez publiczny urząd certyfikacji. Ale możesz również wykonać tę procedurę za pomocą certyfikatów z podpisem własnym.
Tworzenie klucza zasad
Aby mieć relację zaufania między aplikacją a usługą Azure AD B2C, utwórz certyfikat podpisywania dla odpowiedzi SAML. Azure AD B2C używa tego certyfikatu do podpisywania odpowiedzi SAML wysyłanej do aplikacji. Aplikacja odczytuje klucz publiczny metadanych dla usługi Azure AD B2C w celu zweryfikowania podpisu odpowiedzi SAML.
Wskazówka
Tego klucza zasad można używać do innych celów, takich jak podpisywanie potwierdzenia SAML.
Uzyskaj certyfikat
Jeśli nie masz jeszcze certyfikatu, możesz użyć certyfikatu z podpisem własnym. Certyfikat z podpisem własnym jest certyfikatem zabezpieczeń, który nie jest podpisany przez urząd certyfikacji i nie zapewnia gwarancji bezpieczeństwa certyfikatu podpisanego przez urząd certyfikacji.
W systemie Windows użyj polecenia cmdlet New-SelfSignedCertificate w programie PowerShell, aby wygenerować certyfikat.
Uruchom następujące polecenie programu PowerShell, aby wygenerować certyfikat z podpisem własnym. Zmodyfikuj
-Subjectargument odpowiednio dla aplikacji i nazwy dzierżawy usługi Azure AD B2C, na przykładcontosowebapp.contoso.onmicrosoft.com. Możesz również dostosować-NotAfterdatę, aby określić inne wygaśnięcie certyfikatu.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"Na komputerze z systemem Windows wyszukaj i wybierz pozycję Zarządzaj certyfikatami użytkowników
W obszarze Certyfikaty — bieżący użytkownik wybierz pozycję Certyfikaty>yourappname.yourtenant.onmicrosoft.com.
Wybierz certyfikat, a następnie wybierz pozycję Akcja>Wszystkie zadania>eksportu.
Wybierz pozycję >prywatny Dalej.
Zaakceptuj wartości domyślne formatu pliku eksportu, a następnie wybierz przycisk Dalej.
Włącz opcję Hasło , wprowadź hasło dla certyfikatu, a następnie wybierz pozycję Dalej.
Aby określić lokalizację do zapisania certyfikatu, wybierz pozycję Przeglądaj i przejdź do wybranego katalogu.
W oknie Zapisz jako wprowadź nazwę pliku, a następnie wybierz pozycję Zapisz.
Wybierz pozycję Next>Finish (Zakończ).
Aby usługa Azure AD B2C akceptowała hasło pliku pfx, należy zaszyfrować hasło przy użyciu opcji TripleDES-SHA1 w narzędziu eksportu magazynu certyfikatów systemu Windows, w przeciwieństwie do AES256-SHA256.
Prześlij certyfikat
Należy przechowywać certyfikat w swoim dzierżawcy usługi Azure AD B2C.
- Zaloguj się do witryny Azure Portal.
- Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się na dzierżawę Azure AD B2C z menu Katalogi + subskrypcje.
- Wybierz pozycję Wszystkie usługi w lewym górnym rogu Azure Portal, a następnie wyszukaj i wybierz pozycję Azure AD B2C.
- Na stronie Przegląd wybierz pozycję Identity Experience Framework.
- Wybierz Klucze zasad, a następnie wybierz Dodaj.
- W polu Opcje wybierz pozycję Prześlij.
- W polu Nazwa wprowadź nazwę klucza zasad. Na przykład wprowadź SamlIdpCert. Prefiks B2C_1A_ jest dodawany automatycznie do nazwy klucza.
- Przejdź do pliku pfx certyfikatu z kluczem prywatnym i wybierz go.
- Wybierz Utwórz.
Włącz swoją zasadę, aby połączyć się z aplikacją SAML
Aby nawiązać połączenie z aplikacją SAML, Azure AD B2C musi mieć możliwość tworzenia odpowiedzi SAML.
Otwórz SocialAndLocalAccounts\TrustFrameworkExtensions.xml w pakiecie startowym zasad niestandardowych.
<ClaimsProviders> Znajdź sekcję i dodaj następujący fragment kodu XML, aby zaimplementować generator odpowiedzi SAML:
<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>
Skonfiguruj identyfikator URI wystawcy odpowiedzi SAML
Wartość IssuerUri elementu metadanych można zmienić w profilu technicznym wystawcy tokenu SAML. Zmiana ta jest odzwierciedlana w atrybucie issuerUri zwróconym w odpowiedzi SAML z usługi Azure AD B2C. Skonfiguruj aplikację tak, aby akceptowała tę samą IssuerUri wartość podczas sprawdzania poprawności odpowiedzi SAML.
<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>
Skonfiguruj swoje zasady, aby generować odpowiedź SAML
Teraz, gdy zasady mogą tworzyć odpowiedzi SAML, należy skonfigurować zasady tak, aby wysyłały odpowiedź SAML zamiast domyślnej odpowiedzi JWT dla aplikacji.
Tworzenie zasad rejestracji lub logowania skonfigurowanych dla protokołu SAML
Utwórz kopię pliku SignUpOrSignin.xml w katalogu roboczym pakietu startowego i zapisz go pod nową nazwą. Jako przykład w tym artykule użytoSignUpOrSigninSAML.xml. Ten plik jest plikiem zasad dla strony korzystającej. Domyślnie jest skonfigurowany do wystawiania odpowiedzi JWT.
Otwórz plik SignUpOrSigninSAML.xml w preferowanym edytorze.
Zmień wartość:
PolicyIddoB2C_1A_signup_signin_samlPublicPolicyUridohttp://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml. Zastąp element zastępczy<tenant-name>subdomeną nazwy domeny dzierżawcy usługi Azure AD B2C. Na przykład, jeśli podstawowa domena najemcy tocontoso.onmicrosoft.com, użyjcontoso. Jeśli nie masz nazwy najemcy, dowiedz się, jak odczytać szczegóły dzierżawy.
<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">Po zakończeniu ścieżki użytkownika usługa Azure AD B2C zawiera
SendClaimskrok. Ten krok odwołuje się do profilu technicznego wystawcy tokenu. Aby wydać odpowiedź SAML zamiast domyślnej odpowiedzi JWT, zmodyfikujSendClaimskrok, aby odwołać się do nowego profilu technicznego wystawcy tokenu SAML,Saml2AssertionIssuer.
Dodaj następujący fragment kodu XML tuż przed elementem <RelyingParty> . Ten XML zastępuje krok 7 orkiestracji w ścieżce użytkownika SignUpOrSignIn.
Jeśli rozpoczęto pracę z innego folderu w pakiecie startowym lub dostosowano ścieżkę użytkownika przez dodanie lub usunięcie kroków orkiestracji, upewnij się, że liczba w elemencie order odpowiada liczbie określonej w ścieżce użytkownika w kroku wystawcy tokenu. Na przykład w innych folderach pakietu startowego odpowiedni numer kroku to 4 dla LocalAccounts, 6 dla SocialAccountsi 9 dla SocialAndLocalAccountsWithMfa.
<UserJourneys>
<UserJourney Id="SignUpOrSignIn">
<OrchestrationSteps>
<OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
</OrchestrationSteps>
</UserJourney>
</UserJourneys>
Element jednostki uzależnionej określa protokół używany przez aplikację. Wartość domyślna to OpenId. Element Protocol musi zostać zmieniony na SAML. Oświadczenia wyjściowe utworzą mapowanie oświadczeń do asercji SAML.
Zastąp cały <TechnicalProfile> element w elemencie <RelyingParty> następującym kodem XML profilu technicznego.
<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>
Ostateczny plik zasad jednostki uzależnionej powinien wyglądać podobnie do następującego kodu XML:
<?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>
Uwaga
Możesz wykonać ten sam proces, aby zaimplementować inne typy przepływów użytkowników (na przykład: logowanie, resetowanie hasła lub przepływy edycji profilu).
Prześlij swoją polisę
Zapisz zmiany i przekaż nowe pliki zasadTrustFrameworkExtensions.xml i SignUpOrSigninSAML.xml do witryny Azure Portal.
Testowanie metadanych SAML dostawcy tożsamości usługi Azure AD B2C
Po przekazaniu plików zasad usługa Azure AD B2C wykorzystuje informacje o konfiguracji, aby wygenerować dokument metadanych SAML dostawcy tożsamości, który aplikacja wykorzysta. Dokument metadanych SAML zawiera lokalizacje usług, takie jak metody logowania, metody wylogowywanie i certyfikaty.
Metadane zasad usługi Azure AD B2C są dostępne pod następującym adresem URL:
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/samlp/metadata
Zastąp <tenant-name> nazwą dzierżawy usługi Azure AD B2C. Zastąp <policy-name> nazwą (ID) polisy. Oto przykład:
https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/metadata
Rejestrowanie aplikacji SAML w usłudze Azure AD B2C
Aby Azure AD B2C ufała aplikacji, należy utworzyć rejestrację aplikacji Azure AD B2C. Rejestracja zawiera informacje o konfiguracji, takie jak punkt końcowy metadanych aplikacji.
- Zaloguj się do witryny Azure Portal.
- Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się na dzierżawę Azure AD B2C z menu Katalogi + subskrypcje.
- W menu po lewej stronie wybierz pozycję Azure AD B2C. Możesz też wybrać pozycję Wszystkie usługi , a następnie wyszukać i wybrać pozycję Azure AD B2C.
- Wybierz pozycję Rejestracje aplikacji, a następnie wybierz pozycję Nowa rejestracja.
- Wprowadź nazwę aplikacji. Na przykład wprowadź SAMLApp1.
- W obszarze Obsługiwane typy kont wybierz Konta tylko w tym katalogu organizacyjnym.
- W obszarze Identyfikator URI przekierowania wybierz Web, a następnie wprowadź
https://localhost. Tę wartość można zmodyfikować w dalszej części manifestu rejestracji aplikacji. - Wybierz pozycję Zarejestruj.
Konfigurowanie aplikacji w usłudze Azure AD B2C
W przypadku aplikacji SAML należy skonfigurować kilka właściwości w manifeście rejestracji aplikacji.
- W Azure Portal przejdź do rejestracji aplikacji utworzonej w poprzedniej sekcji.
- W obszarze Zarządzaj wybierz pozycję Manifest , aby otworzyć edytor manifestu. Następnie zmodyfikuj właściwości opisane w poniższych sekcjach.
Dodawanie identyfikatora
Gdy aplikacja SAML wysyła żądanie do usługi Azure AD B2C, żądanie uwierzytelniania SAML zawiera atrybut.Issuer Wartość tego atrybutu jest zwykle taka sama jak wartość metadanych entityID aplikacji. Usługa Azure AD B2C używa tej wartości do wyszukania rejestracji aplikacji w katalogu i odczytania konfiguracji. Aby to wyszukiwanie zakończyło się pomyślnie, identifierUri rejestracja w aplikacji musi zostać wypełniona wartością pasującą do atrybutu Issuer .
W manifeście rejestracji znajdź identifierURIs parametr i dodaj odpowiednią wartość. Ta wartość będzie taka sama, jak wartość skonfigurowana w żądaniach AuthN protokołu SAML dla EntityId w aplikacji oraz wartość entityID w metadanych aplikacji. Należy również znaleźć accessTokenAcceptedVersion parametr i ustawić wartość na 2.
Ważne
Jeśli nie zaktualizujesz pliku accessTokenAcceptedVersion do 2 pojawi się komunikat o błędzie wymagający zweryfikowanej domeny.
Poniższy przykład pokazuje wartość entityID w metadanych SAML:
<EntityDescriptor ID="id123456789" entityID="https://samltestapp2.azurewebsites.net" validUntil="2099-12-31T23:59:59Z" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
Właściwość identifierUris akceptuje adresy URL tylko w domenie tenant-name.onmicrosoft.com.
"identifierUris":"https://tenant-name.onmicrosoft.com/app-name",
Udostępnianie metadanych aplikacji za pomocą usługi Azure AD B2C
Po załadowaniu rejestracji aplikacji przez wartość identifierUri, usługa Azure AD B2C używa metadanych aplikacji do zweryfikowania żądania uwierzytelniania SAML i określenia sposobu odpowiedzi.
Zalecamy, aby aplikacja uwidaczniała publicznie dostępny punkt końcowy metadanych.
Jeśli istnieją właściwości określone zarówno w adresie URL metadanych SAML, jak również w manifeście rejestracji aplikacji, zostaną one scalone. Właściwości określone w adresie URL metadanych są przetwarzane jako pierwsze i mają pierwszeństwo.
Korzystając z aplikacji testowej SAML jako przykładu, należy użyć następującej wartości dla samlMetadataUrl w manifeście aplikacji:
"samlMetadataUrl":"https://samltestapp2.azurewebsites.net/Metadata",
Zastąp lub ustaw adres URL konsumenta potwierdzenia (opcjonalnie)
Możesz skonfigurować adres URL odpowiedzi, do którego Azure AD B2C wysyła odpowiedzi SAML. Adresy URL odpowiedzi można skonfigurować w manifeście aplikacji. Ta konfiguracja jest przydatna, gdy aplikacja nie uwidacznia publicznie dostępnego punktu końcowego metadanych.
Adres URL odpowiedzi dla aplikacji SAML to punkt końcowy, na którym aplikacja oczekuje otrzymania odpowiedzi SAML. Aplikacja zwykle podaje ten adres URL w dokumencie metadanych jako atrybut elementu Location, jak pokazano w tym przykładzie: AssertionConsumerService
<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>
Jeśli brakuje elementu metadanych AssertionConsumerService aplikacji lub chcesz go zastąpić, skonfiguruj właściwość manifestu replyUrlsWithType rejestracji aplikacji. Azure AD B2C używa elementu replyUrlsWithType do przekierowywania użytkowników po ich zalogowaniu przy użyciu typu powiązania oznaczonego jako HTTP-POST.
Korzystając z przykładowej aplikacji testowej SAML, należy ustawić właściwość urlreplyUrlsWithType na wartość pokazaną w poniższym fragmencie JSON.
"replyUrlsWithType":[
{
"url":"https://samltestapp2.azurewebsites.net/SP/AssertionConsumer",
"type":"Web"
}
],
Zastąp lub ustaw adres URL wylogowania (opcjonalnie)
Adres URL wylogowania określa, gdzie przekierować użytkownika po żądaniu wylogowania. Aplikacja zwykle udostępnia ten adres URL w dokumencie metadanych jako atrybut Location elementu SingleLogoutService, jak pokazano w poniższym przykładzie.
<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>
Jeśli brakuje elementu metadanych SingleLogoutService aplikacji, skonfiguruj właściwość manifestu logoutUrl rejestracji aplikacji. Azure AD B2C używa elementu logoutURL do przekierowywania użytkowników po ich wylogowaniu, stosując typ powiązania HTTP-Redirect.
Korzystając z aplikacji testowej SAML jako przykładu, należy ustawić właściwość logoutUrl na https://samltestapp2.azurewebsites.net/logout:
"logoutUrl": "https://samltestapp2.azurewebsites.net/logout",
Uwaga
Jeśli zdecydujesz się skonfigurować adres URL odpowiedzi i adres URL wylogowania w manifeście aplikacji bez wypełniania punktu końcowego metadanych aplikacji przy użyciu właściwości samlMetadataUrl, Azure AD B2C nie zweryfikuje podpisu żądania SAML. Nie zaszyfruje też odpowiedzi SAML.
Skonfiguruj usługę Azure AD B2C jako dostawcę tożsamości SAML w swojej aplikacji SAML
Ostatnim krokiem jest włączenie usługi Azure AD B2C jako dostawcy tożsamości SAML w aplikacji SAML. Każda aplikacja jest inna, a kroki są różne. Szczegółowe informacje znajdziesz w dokumentacji aplikacji.
Metadane można skonfigurować w aplikacji jako metadane statyczne lub metadane dynamiczne. W trybie statycznym skopiuj wszystkie metadane lub część metadanych z metadanych zasad usługi Azure AD B2C. W trybie dynamicznym podaj adres URL metadanych i zezwól aplikacji na dynamiczne odczytywanie metadanych.
Zazwyczaj wymagane są niektóre lub wszystkie z następujących elementów:
Metadane: użyj formatu
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/Samlp/metadata.Wystawca: wartość żądania
issuerSAML musi być zgodna z jednym z identyfikatorów URI skonfigurowanych widentifierUriselemencie manifestu rejestracji aplikacji. Jeśli nazwa żądaniaissuerSAML nie istnieje widentifierUriselemencie, dodaj ją do manifestu rejestracji aplikacji. Na przykład:https://contoso.onmicrosoft.com/app-name.Adres URL logowania, punkt końcowy SAML, adres URL SAML: sprawdź wartość elementu XML w pliku metadanych zasad SAML usługi Azure AD B2C.
Certyfikat: Ten certyfikat jest B2C_1A_SamlIdpCert, ale bez klucza prywatnego. Aby uzyskać klucz publiczny certyfikatu:
- Przejdź do określonego wcześniej adresu URL metadanych.
- Skopiuj wartość w elemencie
<X509Certificate>. - Wklej go do pliku tekstowego.
- Zapisz plik tekstowy jako plik .cer .
Testowanie za pomocą aplikacji do testowania SAML
Możesz użyć naszej aplikacji testowej SAML , aby przetestować swoją konfigurację:
- Zaktualizuj nazwę dzierżawy.
- Zaktualizuj nazwę zasady. Na przykład użyj B2C_1A_signup_signin_saml.
- Określ identyfikator URI wystawcy. Użyj jednego z identyfikatorów URI znajdujących się w elemencie
identifierUrisw manifeście rejestracji aplikacji. Użyj na przykład nazwyhttps://contoso.onmicrosoft.com/app-name.
Wybierz pozycję Zaloguj się, a powinien pojawić się ekran logowania użytkownika. Po zalogowaniu się zostanie wysłana z powrotem odpowiedź SAML do przykładowej aplikacji.
Obsługiwane i nieobsługiwane modalności SAML
Następujące scenariusze aplikacji SAML są obsługiwane za pośrednictwem własnego punktu końcowego metadanych:
- Określ wiele adresów URL wylogowania lub powiązania POST dla adresu URL wylogowania w kontekście aplikacji lub głównego obiektu usługowego.
- Określ klucz podpisywania, aby zweryfikować żądania strony ufającej w obiekcie aplikacji lub głównego obiektu usługi.
- Określ klucz szyfrowania tokenu w obiekcie jednostki aplikacji lub usługi.
- Określ logowanie inicjowane przez dostawcę tożsamości, gdzie dostawcą tożsamości jest Azure AD B2C.
Powiązana zawartość
- Pobierz testową aplikację internetową SAML z repozytorium społeczności GitHub usługi Azure AD B2C.
- Zobacz opcje rejestrowania aplikacji SAML w usłudze Azure AD B2C.
- Dowiedz się, jak budować rezyliencję poprzez najlepsze praktyki dla deweloperów.