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.
Uwaga / Notatka
W usłudze Azure Active Directory B2C niestandardowe zasady są przeznaczone głównie do rozwiązywania złożonych scenariuszy. W przypadku większości scenariuszy zalecamy używanie wbudowanych przepływów użytkownika. Jeśli nie zostało to zrobione, dowiedz się więcej o niestandardowym pakiecie startowym zasad w temacie Wprowadzenie do zasad niestandardowych w usłudze Active Directory B2C.
Przegląd
W tym artykule opisano sposób konfigurowania federacji z inną dzierżawą usługi Azure AD B2C. Gdy aplikacje są chronione przy użyciu usługi Azure AD B2C, umożliwia to użytkownikom z innych usług Azure AD B2C logowanie się przy użyciu istniejących kont. Na poniższym diagramie użytkownicy mogą zalogować się do aplikacji chronionej przez usługę Azure AD B2C firmy Contoso przy użyciu konta zarządzanego przez dzierżawę usługi Azure AD B2C firmy Fabrikam. W takim przypadku konto użytkownika musi znajdować się w dzierżawie firmy Fabrikam, zanim aplikacja chroniona przez usługę Azure AD B2C firmy Contoso może podjąć próbę logowania.
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.
Weryfikowanie domeny wydawcy aplikacji
Od listopada 2020 r. nowe rejestracje aplikacji są wyświetlane jako niezweryfikowane w monicie zgody użytkownika, chyba że domena wydawcy aplikacji zostanie zweryfikowana, a tożsamość firmy została zweryfikowana w usłudze Microsoft Partner Network i skojarzona z aplikacją. (Dowiedz się więcej o tej zmianie). Należy pamiętać, że w przypadku przepływów użytkownika usługi Azure AD B2C domena wydawcy jest wyświetlana tylko w przypadku korzystania z konta Microsoft lub innej dzierżawy usługi Microsoft Entra jako dostawcy tożsamości. Aby spełnić te nowe wymagania, wykonaj następujące czynności:
- Zweryfikuj tożsamość firmy przy użyciu konta programu Microsoft Partner Network (MPN). Ten proces weryfikuje informacje o firmie i podstawowym kontakcie firmy.
- Ukończ proces weryfikacji wydawcy, aby skojarzyć konto MPN z rejestracją aplikacji przy użyciu jednej z następujących opcji:
- Jeśli rejestracja aplikacji dla dostawcy tożsamości konta Microsoft znajduje się w dzierżawie Microsoft Entra, zweryfikuj aplikację w portalu Rejestracji Aplikacji.
- Jeśli rejestracja aplikacji dla dostawcy tożsamości konta Microsoft znajduje się w dzierżawie usługi Azure AD B2C, oznacz aplikację jako zweryfikowaną przez wydawcę przy użyciu API Microsoft Graph (na przykład przy użyciu Eksploratora Graph). Interfejs ustawiania zweryfikowanego wydawcy aplikacji jest obecnie wyłączony dla dzierżaw usługi Azure AD B2C.
Tworzenie aplikacji usługi Azure AD B2C
Aby włączyć logowanie użytkowników przy użyciu konta z innej dzierżawy usługi Azure AD B2C (na przykład Fabrikam), w usłudze Azure AD B2C (na przykład Contoso):
- Utwórz przepływ użytkownika lub politykę niestandardową.
- Następnie utwórz aplikację w usłudze Azure AD B2C zgodnie z opisem w tej sekcji.
Aby utworzyć aplikację.
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 witrynie Azure Portal wyszukaj i wybierz pozycję Azure AD B2C.
Wybierz pozycję Rejestracje aplikacji, a następnie wybierz pozycję Nowa rejestracja.
Wprowadź nazwę aplikacji. Na przykład ContosoApp.
W obszarze Obsługiwane typy kontwybierz Konta w dowolnym dostawcy tożsamości lub katalogu organizacyjnym, aby uwierzytelniać użytkowników za pomocą przepływów użytkowników.
W obszarze Identyfikator URI przekierowania wybierz pozycję Sieć Web, a następnie wprowadź następujący adres URL pisanymi małymi literami, gdzie
your-B2C-tenant-name
jest zastępowany nazwą dzierżawy usługi Azure AD B2C (na przykład Contoso).https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
Na przykład
https://contoso.b2clogin.com/contoso.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.W obszarze Uprawnienia zaznacz pole wyboru Udziel zgody administratora na dostęp do uprawnień openid i offline_access.
Wybierz pozycję Zarejestruj.
Na stronie Azure AD B2C — rejestracje aplikacji wybierz utworzoną aplikację, na przykład ContosoApp.
Zarejestruj identyfikator aplikacji (klienta) wyświetlany na stronie Przegląd aplikacji. Jest to konieczne podczas konfigurowania dostawcy tożsamości w następnej sekcji.
W menu po lewej stronie w obszarze Zarządzajwybierz pozycję Certyfikaty & tajne informacje.
Wybierz Nowy klucz tajny klienta.
Wprowadź opis tajnego klucza klienta w polu Opis . Na przykład clientsecret1.
Pod Wygasa wybierz okres czasu, na jaki tajemnica jest ważna, a następnie wybierz Dodaj.
Zapisz wartość sekretu. Jest to konieczne podczas konfigurowania dostawcy tożsamości w następnej sekcji.
Konfigurowanie usługi Azure AD B2C jako dostawcy tożsamości
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 witryny Azure Portal, a następnie wyszukaj i wybierz pozycję Azure AD B2C.
Wybierz pozycję Dostawcy tożsamości, a następnie wybierz pozycję Nowy dostawca OpenID Connect.
W polu Nazwa wprowadź nazwę. Na przykład wprowadź Fabrikam.
W polu Adres URL metadanych wprowadź poniższy adres URL, zastępując
{tenant}
nazwą domeny swojego dzierżawcy Azure AD B2C (na przykład Fabrikam). Zastąp element{policy}
nazwą zasady skonfigurowaną u innego dzierżawcy.https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration
Na przykład
https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration
.Dla identyfikatora klienta , wprowadź wcześniej zarejestrowany identyfikator aplikacji.
Dla sekretu klientawprowadź wcześniej zapisany sekret klienta.
W polu Zakres wprowadź
openid
.Pozostaw wartości domyślne dla pola Typ odpowiedzi i Tryb odpowiedzi.
(Opcjonalnie) W polu Wskazówka dotycząca domeny wprowadź nazwę domeny, której chcesz użyć do logowania bezpośredniego. Na przykład fabrikam.com.
W obszarze Mapowanie oświadczeń dostawcy tożsamości wybierz następujące oświadczenia:
- Identyfikator użytkownika: sub
- Nazwa wyświetlana: nazwa
- Podana nazwa: given_name
- Nazwisko: family_name
- Adres e-mail: adres e-mail
Wybierz Zapisz.
Dodaj dostawcę tożsamości usługi Azure AD B2C do przepływu użytkownika
- W dzierżawie Azure AD B2C wybierz opcję Przepływy użytkownika.
- Kliknij przepływ użytkownika, do którego chcesz dodać dostawcę tożsamości usługi Azure AD B2C.
- W obszarze Dostawcy tożsamości społecznościowych wybierz pozycję Fabrikam.
- Wybierz Zapisz.
- Aby przetestować politykę, wybierz pozycję Uruchom przepływ użytkownika.
- W polu Aplikacja wybierz aplikację internetową o nazwie testapp1 , która została wcześniej zarejestrowana. Adres URL odpowiedzi powinien zawierać wartość
https://jwt.ms
. - Wybierz przycisk Uruchom przepływ użytkownika.
- Na stronie rejestracji lub logowania wybierz pozycję Fabrikam, aby zalogować się do innej dzierżawy Azure AD B2C.
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.
Tworzenie klucza zasad
Musisz zachować klucz aplikacji, który utworzyłeś wcześniej 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
FabrikamAppSecret
. PrefiksB2C_1A_
jest dodawany automatycznie do nazwy klucza podczas jego tworzenia, więc w pliku XML w poniższej sekcji odnosi się do B2C_1A_FabrikamAppSecret. - W Sekret, wprowadź wcześniej zarejestrowany sekret klienta.
- W obszarze Użycie klucza wybierz pozycję
Signature
. - Wybierz Utwórz.
Konfigurowanie usługi Azure AD B2C jako dostawcy tożsamości
Aby umożliwić użytkownikom logowanie się przy użyciu konta z innej dzierżawy usługi Azure AD B2C (Fabrikam), należy zdefiniować innego dostawcę usługi Azure AD B2C 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.
Usługę Azure AD B2C można zdefiniować jako dostawcę oświadczeń, dodając usługę Azure AD B2C do elementu ClaimsProvider w pliku rozszerzenia zasad.
Otwórz plik TrustFrameworkExtensions.xml .
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>fabrikam.com</Domain> <DisplayName>Federation with Fabrikam tenant</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="AzureADB2CFabrikam-OpenIdConnect"> <DisplayName>Fabrikam</DisplayName> <Protocol Name="OpenIdConnect"/> <Metadata> <!-- Update the Client ID below to the Application ID --> <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item> <!-- Update the metadata URL with the other Azure AD B2C tenant name and policy name --> <Item Key="METADATA">https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration</Item> <Item Key="UsePolicyInRedirectUri">false</Item> <Item Key="response_types">code</Item> <Item Key="scope">openid</Item> <Item Key="response_mode">form_post</Item> <Item Key="HttpBinding">POST</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_FabrikamAppSecret"/> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" /> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" /> <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" /> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" /> <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="otherMails" PartnerClaimType="emails"/> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Zaktualizuj następujące elementy XML przy użyciu odpowiedniej wartości:
Element XML Wartość DostawcaRoszczeń\Domain Nazwa domeny używana do logowania bezpośredniego. Wprowadź nazwę domeny, której chcesz użyć podczas logowania bezpośredniego. Na przykład fabrikam.com. ProfilTechniczny\NazwaWyświetlana Ta wartość zostanie wyświetlona na przycisku logowania na ekranie logowania. Na przykład Fabrikam. Metadata\identyfikator_klienta Identyfikator aplikacji przypisany przez dostawcę tożsamości. Zaktualizuj identyfikator klienta przy użyciu identyfikatora aplikacji utworzonego wcześniej w drugiej dzierżawie usługi Azure AD B2C. Metadane\METADANE Adres URL wskazujący dokument konfiguracji dostawcy tożsamości OpenID Connect, który jest również znany jako dobrze znany punkt końcowy konfiguracji OpenID. Wprowadź następujący adres URL, zastępując {tenant}
ciąg nazwą domeny innej dzierżawy usługi Azure AD B2C (Fabrikam). Zastąp element{tenant}
nazwą zasad skonfigurowaną w innym dzierżawcy, a{policy]
nazwą zasad:https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration
. Na przykładhttps://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration
.Kryptograficzneklucze Zaktualizuj wartość StorageReferenceId na nazwę utworzonego wcześniej klucza zasad. Na przykład B2C_1A_FabrikamAppSecret
.
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="AzureADB2CFabrikamExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="AzureADB2CFabrikamExchange" TechnicalProfileReferenceId="AzureADB2CFabrikam-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ę Fabrikam, aby zalogować się do innej dzierżawy Azure AD B2C.
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.
Dalsze kroki
Dowiedz się, jak przekazać do aplikacji inny token usługi Azure AD B2C.