Wprowadzenie do zasad niestandardowych w Azure Active Directory B2CGet started with custom policies in Azure Active Directory B2C

Uwaga

W Azure Active Directory B2C zasady niestandardowe są przeznaczone głównie do realizacji złożonych scenariuszy.In Azure Active Directory B2C, custom policies are designed primarily to address complex scenarios. W przypadku większości scenariuszy zalecamy używanie wbudowanych przepływów użytkowników.For most scenarios, we recommend that you use built-in user flows.

Zasady niestandardowe to pliki konfiguracji, które definiują zachowanie dzierżawy Azure Active Directory B2C (Azure AD B2C).Custom policies are configuration files that define the behavior of your Azure Active Directory B2C (Azure AD B2C) tenant. W tym artykule opisano tworzenie niestandardowych zasad, które obsługują rejestrację lub logowanie do konta lokalnego przy użyciu adresu e-mail i hasła.In this article, you create a custom policy that supports local account sign-up or sign-in by using an email address and password. Możesz również przygotować środowisko do dodawania dostawców tożsamości.You also prepare your environment for adding identity providers.

Wymagania wstępnePrerequisites

Dodaj klucze podpisywania i szyfrowaniaAdd signing and encryption keys

  1. Zaloguj się do portalu Azure.Sign in to the Azure portal.
  2. Na pasku narzędzi portalu wybierz ikonę katalog i subskrypcję , a następnie wybierz katalog zawierający dzierżawę Azure AD B2C.Select the Directory + Subscription icon in the portal toolbar, and then select the directory that contains your Azure AD B2C tenant.
  3. W Azure Portal Wyszukaj i wybierz pozycję Azure AD B2C.In the Azure portal, search for and select Azure AD B2C.
  4. Na stronie Przegląd w obszarze zasadywybierz pozycję platforma obsługi tożsamości.On the overview page, under Policies, select Identity Experience Framework.

Utwórz klucz podpisywaniaCreate the signing key

  1. Wybierz pozycję klucze zasad , a następnie wybierz pozycję Dodaj.Select Policy Keys and then select Add.
  2. W obszarze Opcjewybierz pozycję Generate.For Options, choose Generate.
  3. W polu Nazwawprowadź TokenSigningKeyContainer.In Name, enter TokenSigningKeyContainer. Prefiks B2C_1A_ może zostać dodany automatycznie.The prefix B2C_1A_ might be added automatically.
  4. W obszarze Typ kluczawybierz pozycję RSA.For Key type, select RSA.
  5. W obszarze użycie kluczawybierz pozycję podpis.For Key usage, select Signature.
  6. Wybierz pozycję Utwórz.Select Create.

Utwórz klucz szyfrowaniaCreate the encryption key

  1. Wybierz pozycję klucze zasad , a następnie wybierz pozycję Dodaj.Select Policy Keys and then select Add.
  2. W obszarze Opcjewybierz pozycję Generate.For Options, choose Generate.
  3. W polu Nazwawprowadź TokenEncryptionKeyContainer.In Name, enter TokenEncryptionKeyContainer. Prefiks B2C_1A_ może zostać dodany automatycznie.The prefix B2C_1A_ might be added automatically.
  4. W obszarze Typ kluczawybierz pozycję RSA.For Key type, select RSA.
  5. W obszarze użycie kluczawybierz pozycję szyfrowanie.For Key usage, select Encryption.
  6. Wybierz pozycję Utwórz.Select Create.

Tworzenie klucza FacebookCreate the Facebook key

Dodaj wpis tajny aplikacji usługi Facebook jako klucz zasad.Add your Facebook application's App Secret as a policy key. Możesz użyć klucza tajnego aplikacji utworzonej w ramach wymagań wstępnych tego artykułu.You can use the App Secret of the application you created as part of this article's prerequisites.

  1. Wybierz pozycję klucze zasad , a następnie wybierz pozycję Dodaj.Select Policy Keys and then select Add.
  2. W obszarze Opcjewybierz pozycję Manual.For Options, choose Manual.
  3. W obszarze Nazwawprowadź FacebookSecret.For Name, enter FacebookSecret. Prefiks B2C_1A_ może zostać dodany automatycznie.The prefix B2C_1A_ might be added automatically.
  4. W kluczu tajnymwprowadź klucz tajny aplikacji w serwisie Facebook z Developers.Facebook.com.In Secret, enter your Facebook application's App Secret from developers.facebook.com. Ta wartość jest kluczem tajnym, a nie IDENTYFIKATORem aplikacji.This value is the secret, not the application ID.
  5. W obszarze użycie kluczawybierz pozycję podpis.For Key usage, select Signature.
  6. Wybierz pozycję Utwórz.Select Create.

Rejestrowanie aplikacji platformy obsługi tożsamościRegister Identity Experience Framework applications

Azure AD B2C wymaga zarejestrowania dwóch aplikacji używanych do rejestracji i logowania użytkowników przy użyciu kont lokalnych: IdentityExperienceFramework, internetowego interfejsu API i ProxyIdentityExperienceFramework, natywnej aplikacji z delegowanym uprawnieniem do aplikacji IdentityExperienceFramework.Azure AD B2C requires you to register two applications that it uses to sign up and sign in users with local accounts: IdentityExperienceFramework, a web API, and ProxyIdentityExperienceFramework, a native app with delegated permission to the IdentityExperienceFramework app. Użytkownicy mogą zarejestrować się przy użyciu adresu e-mail lub nazwy użytkownika i hasła w celu uzyskania dostępu do aplikacji zarejestrowanych w ramach dzierżawy, co powoduje utworzenie "konta lokalnego".Your users can sign up with an email address or username and a password to access your tenant-registered applications, which creates a "local account." Konta lokalne istnieją tylko w dzierżawie Azure AD B2C.Local accounts exist only in your Azure AD B2C tenant.

Musisz zarejestrować te dwie aplikacje w dzierżawie Azure AD B2C tylko raz.You need to register these two applications in your Azure AD B2C tenant only once.

Rejestrowanie aplikacji IdentityExperienceFrameworkRegister the IdentityExperienceFramework application

Aby zarejestrować aplikację w dzierżawie Azure AD B2C, możesz użyć bieżącego środowiska aplikacji lub naszego nowego interfejsu Unified rejestracje aplikacji (wersja zapoznawcza) .To register an application in your Azure AD B2C tenant, you can use the current Applications experience, or our new unified App registrations (Preview) experience. Dowiedz się więcej na temat nowego środowiska.Learn more about the new experience.

  1. Zaloguj się do portalu Azure.Sign in to the Azure portal.
  2. W Azure Portal Wyszukaj i wybierz pozycję Azure Active Directory.In the Azure portal, search for and select Azure Active Directory.
  3. W menu przegląd Azure Active Directory w obszarze zarządzajwybierz pozycję rejestracje aplikacji (starsza wersja) .In the Azure Active Directory overview menu, under Manage, select App registrations (Legacy).
  4. Wybierz pozycję Rejestrowanie nowej aplikacji.Select New application registration.
  5. W obszarze Nazwawprowadź IdentityExperienceFramework.For Name, enter IdentityExperienceFramework.
  6. W obszarze Typ aplikacjiwybierz pozycję aplikacja sieci Web/interfejs API.For Application type, choose Web app/API.
  7. W obszarze adres URL logowaniawprowadź https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, gdzie your-tenant-name jest nazwą domeny dzierżawy Azure AD B2C.For Sign-on URL, enter https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, where your-tenant-name is your Azure AD B2C tenant domain name. Wszystkie adresy URL powinny teraz używać b2clogin.com.All URLs should now be using b2clogin.com.
  8. Wybierz pozycję Utwórz.Select Create. Po jego utworzeniu Skopiuj identyfikator aplikacji i Zapisz go do późniejszego użycia.After it's created, copy the application ID and save it to use later.

Rejestrowanie aplikacji ProxyIdentityExperienceFrameworkRegister the ProxyIdentityExperienceFramework application

  1. W rejestracje aplikacji (starsza wersja) wybierz pozycję rejestracja nowej aplikacji.In App registrations (Legacy), select New application registration.
  2. W obszarze Nazwawprowadź ProxyIdentityExperienceFramework.For Name, enter ProxyIdentityExperienceFramework.
  3. W obszarze Typ aplikacjiwybierz opcję natywny.For Application type, choose Native.
  4. W obszarze Identyfikator URI przekierowaniawprowadź https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, gdzie your-tenant-name jest dzierżawcą Azure AD B2C.For Redirect URI, enter https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, where your-tenant-name is your Azure AD B2C tenant.
  5. Wybierz pozycję Utwórz.Select Create. Po jego utworzeniu Skopiuj identyfikator aplikacji i Zapisz go do późniejszego użycia.After it's created, copy the application ID and save it to use later.
  6. Wybierz pozycję Ustawienia, a następnie wybierz pozycję wymagane uprawnienia, a następnie wybierz pozycję Dodaj.Select Settings, then select Required permissions, and then select Add.
  7. Wybierz pozycję Wybierz interfejs API, Wyszukaj i wybierz pozycję IdentityExperienceFramework, a następnie kliknij pozycję Wybierz.Choose Select an API, search for and select IdentityExperienceFramework, and then click Select.
  8. Zaznacz pole wyboru obok pozycji dostęp do IdentityExperienceFramework, kliknij pozycję Wybierz, a następnie kliknij pozycję gotowe.Select the check box next to Access IdentityExperienceFramework, click Select, and then click Done.
  9. Wybierz pozycję Udziel uprawnień, a następnie potwierdź, wybierając pozycję tak.Select Grant permissions, and then confirm by selecting Yes.

Pakiet startowy zasad niestandardowychCustom policy starter pack

Zasady niestandardowe są zestawem plików XML przekazywanym do dzierżawy Azure AD B2C, aby zdefiniować profile techniczne i przedziały użytkowników.Custom policies are a set of XML files you upload to your Azure AD B2C tenant to define technical profiles and user journeys. Udostępniamy pakiety początkowe z kilkoma wstępnie utworzonymi zasadami, aby szybko rozpocząć pracę.We provide starter packs with several pre-built policies to get you going quickly. Każdy z tych pakietów początkowych zawiera najmniejszą liczbę profilów technicznych i podróży użytkowników, które są konieczne do osiągnięcia opisanych scenariuszy:Each of these starter packs contains the smallest number of technical profiles and user journeys needed to achieve the scenarios described:

  • LocalAccounts — umożliwia korzystanie tylko z kont lokalnych.LocalAccounts - Enables the use of local accounts only.
  • SocialAccounts — umożliwia korzystanie tylko z kont społecznościowych (lub federacyjnych).SocialAccounts - Enables the use of social (or federated) accounts only.
  • SocialAndLocalAccounts — umożliwia korzystanie z kont lokalnych i społecznościowych.SocialAndLocalAccounts - Enables the use of both local and social accounts.
  • SocialAndLocalAccountsWithMFA — umożliwia korzystanie z opcji uwierzytelniania społecznościowego, lokalnego i wieloskładnikowego.SocialAndLocalAccountsWithMFA - Enables social, local, and multi-factor authentication options.

Każdy początkowy pakiet zawiera:Each starter pack contains:

  • Plik podstawowy — do podstawy wymagane są kilka modyfikacji.Base file - Few modifications are required to the base. Przykład: TrustFrameworkBase. XMLExample: TrustFrameworkBase.xml
  • Plik rozszerzenia — ten plik jest miejscem, w którym wprowadzane są większość zmian konfiguracji.Extension file - This file is where most configuration changes are made. Przykład: TrustFrameworkExtensions. XMLExample: TrustFrameworkExtensions.xml
  • Pliki jednostek uzależnionych — pliki specyficzne dla zadania wywoływane przez aplikację.Relying party files - Task-specific files called by your application. Przykłady: SignUpOrSignin. XML, ProfileEdit. XML, PasswordReset. XMLExamples: SignUpOrSignin.xml, ProfileEdit.xml, PasswordReset.xml

W tym artykule opisano edytowanie niestandardowych plików zasad XML w pakiecie SocialAndLocalAccounts Starter.In this article, you edit the XML custom policy files in the SocialAndLocalAccounts starter pack. Jeśli potrzebujesz edytora XML, wypróbuj Visual Studio Code, lekki Edytor Międzyplatformowy.If you need an XML editor, try Visual Studio Code, a lightweight cross-platform editor.

Pobierz pakiet startowyGet the starter pack

Pobierz pakiety początkowe dla zasad niestandardowych z usługi GitHub, a następnie zaktualizuj pliki XML w pakiecie SocialAndLocalAccounts Starter przy użyciu nazwy dzierżawy Azure AD B2C.Get the custom policy starter packs from GitHub, then update the XML files in the SocialAndLocalAccounts starter pack with your Azure AD B2C tenant name.

  1. Pobierz plik zip lub Sklonuj repozytorium:Download the .zip file or clone the repository:

    git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
    
  2. We wszystkich plikach w katalogu SocialAndLocalAccounts Zastąp ciąg yourtenant nazwą Azure AD B2C dzierżawy.In all of the files in the SocialAndLocalAccounts directory, replace the string yourtenant with the name of your Azure AD B2C tenant.

    Na przykład jeśli nazwa dzierżawy usługi B2C jest contosotenant, wszystkie wystąpienia yourtenant.onmicrosoft.com stają się contosotenant.onmicrosoft.com.For example, if the name of your B2C tenant is contosotenant, all instances of yourtenant.onmicrosoft.com become contosotenant.onmicrosoft.com.

Dodawanie identyfikatorów aplikacji do zasad niestandardowychAdd application IDs to the custom policy

Dodaj identyfikatory aplikacji do pliku rozszerzeń TrustFrameworkExtensions. XML.Add the application IDs to the extensions file TrustFrameworkExtensions.xml.

  1. Otwórz TrustFrameworkExtensions.xml SocialAndLocalAccounts/i znajdź element <TechnicalProfile Id="login-NonInteractive">.Open SocialAndLocalAccounts/TrustFrameworkExtensions.xml and find the element <TechnicalProfile Id="login-NonInteractive">.
  2. Zastąp oba wystąpienia IdentityExperienceFrameworkAppId IDENTYFIKATORem aplikacji utworzonego wcześniej.Replace both instances of IdentityExperienceFrameworkAppId with the application ID of the IdentityExperienceFramework application that you created earlier.
  3. Zastąp oba wystąpienia ProxyIdentityExperienceFrameworkAppId IDENTYFIKATORem aplikacji utworzonego wcześniej.Replace both instances of ProxyIdentityExperienceFrameworkAppId with the application ID of the ProxyIdentityExperienceFramework application that you created earlier.
  4. Zapisz plik.Save the file.

Przekazywanie zasadUpload the policies

  1. Wybierz element menu Struktura środowiska tożsamości w dzierżawie B2C w Azure Portal.Select the Identity Experience Framework menu item in your B2C tenant in the Azure portal.
  2. Wybierz pozycję Przekaż zasady niestandardowe.Select Upload custom policy.
  3. W tej kolejności należy przekazać pliki zasad:In this order, upload the policy files:
    1. TrustFrameworkBase. XMLTrustFrameworkBase.xml
    2. TrustFrameworkExtensions. XMLTrustFrameworkExtensions.xml
    3. SignUpOrSignin. XMLSignUpOrSignin.xml
    4. ProfileEdit. XMLProfileEdit.xml
    5. PasswordReset. XMLPasswordReset.xml

Podczas przekazywania plików platforma Azure dodaje prefiks B2C_1A_ do każdego z nich.As you upload the files, Azure adds the prefix B2C_1A_ to each.

Porada

Jeśli Edytor XML obsługuje walidację, sprawdź poprawność plików względem schematu XML TrustFrameworkPolicy_0.3.0.0.xsd znajdującego się w katalogu głównym pakietu początkowego.If your XML editor supports validation, validate the files against the TrustFrameworkPolicy_0.3.0.0.xsd XML schema that is located in the root directory of the starter pack. Walidacja schematu XML identyfikuje błędy przed przekazaniem.XML schema validation identifies errors before uploading.

Testowanie zasad niestandardowychTest the custom policy

  1. W obszarze zasady niestandardowewybierz pozycję B2C_1A_signup_signin.Under Custom policies, select B2C_1A_signup_signin.
  2. Dla opcji wybierz aplikację na stronie Przegląd zasad niestandardowych wybierz aplikację sieci Web o nazwie webapp1 , która została wcześniej zarejestrowana.For Select application on the overview page of the custom policy, select the web application named webapp1 that you previously registered.
  3. Upewnij się, że adres URL odpowiedzi jest https://jwt.ms.Make sure that the Reply URL is https://jwt.ms.
  4. Wybierz pozycję Uruchom teraz.Select Run now.
  5. Utwórz konto przy użyciu adresu e-mail.Sign up using an email address.
  6. Ponownie wybierz pozycję Uruchom teraz .Select Run now again.
  7. Zaloguj się przy użyciu tego samego konta, aby potwierdzić, że konfiguracja jest poprawna.Sign in with the same account to confirm that you have the correct configuration.

Dodawanie usługi Facebook jako dostawcy tożsamościAdd Facebook as an identity provider

  1. W pliku SocialAndLocalAccounts/ TrustFrameworkExtensions.xml Zastąp wartość client_id identyfikatorem aplikacji Facebook:In the SocialAndLocalAccounts/TrustFrameworkExtensions.xml file, replace the value of client_id with the Facebook application ID:

    <TechnicalProfile Id="Facebook-OAUTH">
      <Metadata>
      <!--Replace the value of client_id in this technical profile with the Facebook app ID"-->
        <Item Key="client_id">00000000000000</Item>
    
  2. Przekaż plik TrustFrameworkExtensions. XML do dzierżawy.Upload the TrustFrameworkExtensions.xml file to your tenant.

  3. W obszarze zasady niestandardowewybierz pozycję B2C_1A_signup_signin.Under Custom policies, select B2C_1A_signup_signin.

  4. Wybierz pozycję Uruchom teraz i wybierz pozycję Facebook, aby zalogować się za pomocą usługi Facebook i przetestować zasady niestandardowe.Select Run now and select Facebook to sign in with Facebook and test the custom policy.

Następne krokiNext steps

Następnie spróbuj dodać Azure Active Directory (Azure AD) jako dostawcę tożsamości.Next, try adding Azure Active Directory (Azure AD) as an identity provider. Plik podstawowy używany w tym przewodniku wprowadzającym zawiera już część zawartości potrzebną do dodawania innych dostawców tożsamości, takich jak usługa Azure AD.The base file used in this getting started guide already contains some of the content that you need for adding other identity providers like Azure AD.

Aby uzyskać informacje o konfigurowaniu usługi Azure AD jako dostawcy tożsamości, zobacz Konfigurowanie logowania i logowanie przy użyciu konta Azure Active Directory za pomocą zasad niestandardowych Active Directory B2C.For information about setting up Azure AD as and identity provider, see Set up sign-up and sign-in with an Azure Active Directory account using Active Directory B2C custom policies.