Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
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.
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.
W tym artykule pokazano, jak włączyć logowanie dla użytkowników przy użyciu wielodzierżawowego punktu końcowego dla Microsoft Entra ID, umożliwiając użytkownikom z wielu dzierżaw Microsoft Entra logowanie się przy użyciu usługi Azure AD B2C bez konieczności konfigurowania dostawcy tożsamości dla każdej dzierżawy. Jednak użytkownicy-goście w ramach żadnej z tych dzierżaw nie będą mogli się zalogować. W tym celu należy indywidualnie skonfigurować każdego najemcę.
Wymagania wstępne
- Utwórz przepływ użytkownika, aby użytkownicy mogli zarejestrować się i zalogować do aplikacji.
- Rejestrowanie aplikacji internetowej.
- Wykonaj kroki opisane w Jak rozpocząć z zasadami niestandardowymi w usłudze Active Directory B2C. W tym samouczku przedstawiono sposób aktualizowania niestandardowych plików zasad, aby korzystać z konfiguracji kont usługi Azure AD B2C.
- Rejestrowanie aplikacji internetowej.
Uwaga / Notatka
W tym artykule przyjęto założenie, że pakiet startowy SocialAndLocalAccounts jest używany w poprzednich krokach wymienionych w wymaganiach wstępnych.
Rejestrowanie aplikacji Microsoft Entra
Aby umożliwić użytkownikom logowanie do usługi Azure AD B2C za pomocą konta Microsoft Entra, należy najpierw utworzyć aplikację w dzierżawie Microsoft Entra na portalu Azure. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft.
Zaloguj się do witryny Azure Portal.
Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia z paska nawigacyjnego, aby przełączyć się do dzierżawy Microsoft Entra z menu Katalogi i subskrypcje.
Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz pozycję Rejestracje aplikacji.
Wybierz opcję Nowa rejestracja.
Wprowadź nazwę aplikacji. Na przykład
Azure AD B2C App
.Wybierz Konta w dowolnym katalogu organizacyjnym (dowolny katalog Microsoft Entra — wielodostępny) dla tej aplikacji.
W polu Identyfikator URI przekierowania wybierz wartość Web i wprowadź następujący adres URL z użyciem małych liter, gdzie
your-B2C-tenant-name
jest zastępowany nazwą dzierżawy usługi Azure AD B2C.https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
Na przykład
https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp
.Jeśli używasz domeny niestandardowej, wprowadź.
https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp
Zastąpyour-domain-name
własną domeną iyour-tenant-name
nazwą najemcy.Wybierz pozycję Zarejestruj. Zarejestruj identyfikator aplikacji (klienta) do użycia w późniejszym kroku.
Wybierz pozycję Certyfikaty i wpisy tajne, a następnie wybierz pozycję Nowy klucz tajny klienta.
Wprowadź opis dla tajemnicy, wybierz datę wygaśnięcia, a następnie wybierz Dodaj. Zapisz wartość sekretu, aby użyć jej w późniejszym kroku.
Uwaga / Notatka
Wpis tajny klienta nie zostanie ponownie wyświetlony po tym punkcie. Jeśli nie zarejestrujesz tego, będziesz musiał utworzyć nowy.
[Opcjonalnie] Konfigurowanie opcjonalnych oświadczeń
Jeśli chcesz uzyskać family_name
oświadczenia i z given_name
identyfikatora Entra firmy Microsoft, możesz skonfigurować opcjonalne oświadczenia dla aplikacji w interfejsie użytkownika witryny Azure Portal lub manifeście aplikacji. Aby uzyskać więcej informacji, zobacz How to provide optional claims to your Microsoft Entra app (Jak dostarczyć opcjonalne oświadczenia do aplikacji Microsoft Entra).
- Zaloguj się do witryny Azure Portal. Wyszukaj i wybierz Microsoft Entra ID.
- W sekcji Zarządzanie wybierz pozycję Rejestracje aplikacji.
- Wybierz aplikację, dla której chcesz skonfigurować opcjonalne oświadczenia z listy.
- W sekcji Zarządzanie wybierz pozycję Konfiguracja tokenu.
- Wybierz pozycję Dodaj opcjonalne oświadczenie.
- W polu Typ tokenu wybierz pozycję Identyfikator.
- Wybierz opcjonalne oświadczenia, które chcesz dodać,
family_name
igiven_name
. - Wybierz Dodaj. Jeśli zostanie wyświetlone ustawienie Włącz uprawnienie poczty e-mail programu Microsoft Graph (wymagane do wyświetlenia oświadczeń w tokenie), włącz je, a następnie wybierz pozycję Dodaj ponownie.
[Opcjonalnie] Weryfikowanie autentyczności aplikacji
Weryfikacja wydawcy pomaga użytkownikom zrozumieć autentyczność zarejestrowanej aplikacji. Zweryfikowana aplikacja oznacza, że wydawca aplikacji zweryfikował swoją tożsamość przy użyciu programu Microsoft Partner Network (MPN). Dowiedz się, jak oznaczyć aplikację jako taką, której wydawca jest zweryfikowany.
Tworzenie klucza zasad
Teraz musisz przechowywać klucz aplikacji utworzony w dzierżawie usługi Azure AD B2C.
- 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 witryny Azure Portal, a następnie wyszukaj i wybierz pozycję Azure AD B2C.
- W obszarze Policieswybierz pozycję Identity Experience Framework.
- Wybierz Klucze zasad, a następnie wybierz Dodaj.
- W obszarze Opcje wybierz pozycję
Manual
. - Wprowadź nazwę klucza zasad. Na przykład
AADAppSecret
. PrefiksB2C_1A_
jest dodawany automatycznie do nazwy klucza podczas jego tworzenia, więc odniesienie do niego w pliku XML w następnej sekcji wygląda na B2C_1A_AADAppSecret. - W Sekret, wprowadź wcześniej zarejestrowany sekret klienta.
- W obszarze Użycie klucza wybierz pozycję
Signature
. - Wybierz Utwórz.
Skonfiguruj Microsoft Entra ID jako dostawcę tożsamości
Aby umożliwić użytkownikom logowanie się przy użyciu konta Microsoft Entra, należy zdefiniować identyfikator Entra firmy Microsoft jako dostawcę oświadczeń, z którym usługa Azure AD B2C może komunikować się za pośrednictwem punktu końcowego. Punkt końcowy udostępnia zestaw oświadczeń używanych przez usługę Azure AD B2C do sprawdzania, czy określony użytkownik został uwierzytelniony.
Microsoft Entra ID można zdefiniować jako dostawcę oświadczeń, dodając Microsoft Entra ID do elementu ClaimsProvider w pliku rozszerzenia polityki.
Otwórz plik SocialAndLocalAccounts/TrustFrameworkExtensions.xml (zobacz pliki, które zostały użyte w wymaganiach wstępnych).
Znajdź element ClaimsProviders . Jeśli nie istnieje, dodaj go pod elementem głównym.
Dodaj nowy element ClaimsProvider w następujący sposób:
<ClaimsProvider> <Domain>commonaad</Domain> <DisplayName>Common AAD</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="AADCommon-OpenIdConnect"> <DisplayName>Multi-Tenant AAD</DisplayName> <Description>Login with your Contoso account</Description> <Protocol Name="OpenIdConnect"/> <Metadata> <Item Key="METADATA">https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration</Item> <!-- Update the Client ID below to the Application ID --> <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item> <Item Key="response_types">code</Item> <Item Key="scope">openid profile</Item> <Item Key="response_mode">form_post</Item> <Item Key="HttpBinding">POST</Item> <Item Key="UsePolicyInRedirectUri">false</Item> <Item Key="DiscoverMetadataByTokenIssuer">true</Item> <!-- The key below allows you to specify each of the Azure AD tenants that can be used to sign in. Update the GUIDs below for each tenant. --> <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000,https://login.microsoftonline.com/11111111-1111-1111-1111-111111111111</Item> <!-- The commented key below specifies that users from any tenant can sign-in. Uncomment if you would like anyone with an Azure AD account to be able to sign in. --> <!-- <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item> --> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_AADAppSecret"/> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid"/> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" /> <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" /> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/> <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
W elemencie ClaimsProvider zaktualizuj wartość domain na unikatową wartość, która może służyć do odróżnienia jej od innych dostawców tożsamości.
W elemecie TechnicalProfile zaktualizuj wartość displayName, na przykład
Multi-Tenant AAD
. Ta wartość jest wyświetlana na przycisku logowania na stronie logowania.Ustaw client_id na ID aplikacji Microsoft Entra zarejestrowanej wcześniej jako aplikacja wielodostępna.
W obszarze KryptograficzneKlucze zaktualizuj wartość StorageReferenceId na nazwę utworzonego wcześniej klucza zasad. Na przykład
B2C_1A_AADAppSecret
.
Ograniczanie dostępu
Użycie https://login.microsoftonline.com/
jako wartości validTokenIssuerPrefixes umożliwia wszystkim użytkownikom firmy Microsoft Entra logowanie się do aplikacji. Zaktualizuj listę prawidłowych wystawców tokenów i ogranicz dostęp do określonej listy użytkowników dzierżawy firmy Microsoft Entra, którzy mogą się zalogować.
Aby uzyskać wartości, sprawdź metadane odnajdywania OpenID Connect dla każdego dzierżawcy w Microsoft Entra, z których chcesz, aby użytkownicy się logowali. Format adresu URL metadanych jest podobny do https://login.microsoftonline.com/your-tenant/v2.0/.well-known/openid-configuration
, gdzie your-tenant
to nazwa dzierżawcy usługi Microsoft Entra. Przykład:
https://login.microsoftonline.com/fabrikam.onmicrosoft.com/v2.0/.well-known/openid-configuration
Wykonaj następujące kroki dla każdego tenanta Microsoft Entra, używanego do logowania:
- Otwórz przeglądarkę i przejdź do adresu URL metadanych OpenID Connect dla dzierżawy.
issuer
Znajdź obiekt i zapisz jego wartość. Powinien wyglądać podobnie dohttps://login.microsoftonline.com/ aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0
. - Skopiuj i wklej wartość do klucza ValidTokenIssuerPrefixes . Oddzielaj wielu wystawców przecinkami. Przykład z dwoma wystawcami jest wyświetlany w poprzednim
ClaimsProvider
przykładzie XML.
Dodanie ścieżki użytkownika
W tym momencie dostawca tożsamości został skonfigurowany, ale nie jest jeszcze dostępny na żadnej ze stron logowania. Jeśli nie masz własnej niestandardowej podróży użytkownika, utwórz duplikat szablonu podróży użytkownika, inaczej przejdź do następnego kroku.
- Otwórz plik TrustFrameworkBase.xml z pakietu startowego.
- Znajdź i skopiuj całą zawartość elementu UserJourney , który zawiera
Id="SignUpOrSignIn"
element . - Otwórz TrustFrameworkExtensions.xml i znajdź element UserJourneys . Jeśli element nie istnieje, dodaj go.
- Wklej całą zawartość elementu UserJourney skopiowaną jako element podrzędny elementu UserJourneys .
- Zmień identyfikator podróży użytkownika. Na przykład
Id="CustomSignUpSignIn"
.
Dodaj dostawcę tożsamości do podróży użytkownika
Teraz, gdy masz ścieżkę użytkownika, dodaj nowego dostawcę tożsamości do tej ścieżki. Najpierw dodaj przycisk logowania, a następnie połącz przycisk z akcją. Akcja to utworzony wcześniej profil techniczny.
Znajdź element kroku aranżacji, który zawiera
Type="CombinedSignInAndSignUp"
lubType="ClaimsProviderSelection"
w ścieżce użytkownika. Zazwyczaj jest to pierwszy krok aranżacji. Element ClaimsProviderSelections zawiera listę dostawców tożsamości, za pomocą których użytkownik może się zalogować. Kolejność elementów kontroluje kolejność przycisków logowania przedstawionych użytkownikowi. Dodaj element XML ClaimsProviderSelection. Ustaw wartość TargetClaimsExchangeId na przyjazną nazwę.W następnym kroku aranżacji dodaj element ClaimsExchange . Ustaw Id na wartość identyfikatora wymiany oświadczeń dla celu. Zaktualizuj wartość TechnicalProfileReferenceId na Id profilu technicznego utworzonego wcześniej.
Poniższy kod XML przedstawia dwa pierwsze kroki orkiestracji podróży użytkownika z dostawcą tożsamości:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="AzureADCommonExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="AzureADCommonExchange" TechnicalProfileReferenceId="AADCommon-OpenIdConnect" />
</ClaimsExchanges>
</OrchestrationStep>
Konfigurowanie polityki podmiotu polegającego
Polityka zaufanej strony, na przykład SignUpSignIn.xml, określa podróż użytkownika, którą zrealizuje Azure AD B2C. Znajdź element DefaultUserJourney w stronie zaufanej. Zaktualizuj identyfikator ReferenceId , aby był zgodny z identyfikatorem podróży użytkownika, w którym dodano dostawcę tożsamości.
W poniższym przykładzie dla ścieżki użytkownika CustomSignUpSignIn
identyfikator ReferenceId jest ustawiony na:CustomSignUpSignIn
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Przekaż zasady niestandardowe
- Zaloguj się do witryny Azure Portal.
- Wybierz ikonę Katalog i subskrypcja na pasku narzędzi portalu, a następnie wybierz katalog zawierający dzierżawę usługi Azure AD B2C.
- W witrynie Azure Portal wyszukaj i wybierz pozycję Azure AD B2C.
- W obszarze Policieswybierz pozycję Identity Experience Framework.
- Wybierz Załaduj zasady niestandardowe, a następnie załaduj dwa zmienione pliki zasad w następującej kolejności: zasady rozszerzenia, na przykład
TrustFrameworkExtensions.xml
, a następnie zasady strony zależnej, takie jakSignUpSignIn.xml
.
Przetestuj swoje zasady niestandardowe
- Wybierz zasady zaufanej strony, na przykład
B2C_1A_signup_signin
. - W polu Aplikacja wybierz wcześniej zarejestrowaną aplikację internetową. Adres URL odpowiedzi powinien zawierać wartość
https://jwt.ms
. - Wybierz przycisk Uruchom teraz .
- Na stronie rejestracji lub logowania wybierz pozycję Common Microsoft Entra ID , aby zalogować się przy użyciu konta Microsoft Entra.
Aby przetestować funkcję logowania wielodostępnego, wykonaj dwa ostatnie kroki przy użyciu poświadczeń dla użytkownika, który istnieje z inną dzierżawą firmy Microsoft Entra. Skopiuj punkt końcowy 'Uruchom teraz' i otwórz go w oknie prywatnym przeglądarki, na przykład w trybie Incognito w Google Chrome lub w oknie InPrivate w Microsoft Edge. Otwarcie w oknie przeglądarki prywatnej umożliwia przetestowanie pełnej podróży użytkownika, nie używając żadnych aktualnie buforowanych poświadczeń firmy Microsoft Entra.
Jeśli proces logowania zakończy się pomyślnie, przeglądarka zostanie przekierowana do https://jwt.ms
, gdzie wyświetlana jest zawartość tokenu zwróconego przez Azure AD B2C.
Zobacz także
- Dowiedz się, jak przekazać token Microsoft Entra do swojej aplikacji.
- Zapoznaj się z pokazem na żywo federacji multitenant Microsoft Entra Live demo, oraz jak przekazać token dostępu Microsoft Entra Live demo