Introdução às políticas personalizadas no Azure Active Directory B2CGet started with custom policies in Azure Active Directory B2C

Observação

No Azure Active Directory B2C, as políticas personalizadas são projetadas principalmente para tratar de cenários complexos.In Azure Active Directory B2C, custom policies are designed primarily to address complex scenarios. Para a maioria dos cenários, recomendamos que você use fluxos de usuáriointernos.For most scenarios, we recommend that you use built-in user flows.

As políticas personalizadas são arquivos de configuração que definem o comportamento do locatário do Azure AD (Azure Active Directory) B2C.Custom policies are configuration files that define the behavior of your Azure Active Directory (Azure AD) B2C tenant. Neste artigo, você criará uma política personalizada que dá suporte para inscrição ou entrada de conta local usando um endereço de email e uma senha.In this article, you create a custom policy that supports local account sign-up or sign-in by using an email address and password. Você também pode preparar o ambiente para adicionar provedores de identidade.You also prepare your environment for adding identity providers.

Pré-requisitosPrerequisites

Adicionar chaves de criptografia e de assinaturaAdd signing and encryption keys

  1. Entre no portal do Azure como administrador global do locatário Azure AD B2C.Sign in to the Azure portal as the global administrator of your Azure AD B2C tenant.
  2. Verifique se você está usando o diretório que contém seu locatário de Azure AD B2C.Make sure you're using the directory that contains your Azure AD B2C tenant. Clique no filtro diretório e assinatura no menu superior e escolha o diretório que contém seu locatário.Click the Directory and subscription filter in the top menu and choose the directory that contains your tenant.
  3. Escolha Todos os serviços no canto superior esquerdo do portal do Azure, procure e selecione Azure AD B2C.Choose All services in the top-left corner of the Azure portal, search for and select Azure AD B2C.
  4. Na página de Visão Geral, selecione Estrutura de Experiência de Identidade.On the Overview page, select Identity Experience Framework.

Criar a chave de assinaturaCreate the signing key

  1. Selecione Chaves de Política e, em seguida, escolha Adicionar.Select Policy Keys and then select Add.
  2. Para Opções, escolha Generate.For Options, choose Generate.
  3. Em Nome, insira TokenSigningKeyContainer.In Name, enter TokenSigningKeyContainer. O prefixo B2C_1A_ pode ser adicionado automaticamente.The prefix B2C_1A_ might be added automatically.
  4. Para Tipo de chave, selecione RSA.For Key type, select RSA.
  5. Para Uso de chave, selecione Assinatura.For Key usage, select Signature.
  6. Clique em Criar.Click Create.

Criar a chave de criptografiaCreate the encryption key

  1. Selecione Chaves de Política e, em seguida, escolha Adicionar.Select Policy Keys and then select Add.
  2. Para Opções, escolha Generate.For Options, choose Generate.
  3. Em Nome, insira TokenEncryptionKeyContainer.In Name, enter TokenEncryptionKeyContainer. O prefixo B2C_1A_ pode ser adicionado automaticamente.The prefix B2C_1A_ might be added automatically.
  4. Para Tipo de chave, selecione RSA.For Key type, select RSA.
  5. Para o Uso da chave, selecione Criptografia.For Key usage, select Encryption.
  6. Clique em Criar.Click Create.

Criar a chave do FacebookCreate the Facebook key

Se você já tiver um segredo do aplicativo do Facebook, adicione-o como uma chave de política em seu locatário.If you already have a Facebook application secret, add it as a policy key to your tenant. Caso contrário, você deve criar a chave com um valor de espaço reservado para que suas políticas passem na validação.Otherwise, you must create the key with a placeholder value so that your policies pass validation.

  1. Selecione Chaves de Política e, em seguida, escolha Adicionar.Select Policy Keys and then select Add.
  2. Para Opções, escolha Manual.For Options, choose Manual.
  3. Para Nome, insira FacebookSecret.For Name, enter FacebookSecret. O prefixo B2C_1A_ pode ser adicionado automaticamente.The prefix B2C_1A_ might be added automatically.
  4. Em Segredo, digite o segredo do Facebook de developers.facebook.com ou 0 como um espaço reservado.In Secret, enter your Facebook secret from developers.facebook.com or 0 as a placeholder. Esse valor é o segredo, não a ID do aplicativo.This value is the secret, not the application ID.
  5. Para Uso de chave, selecione Assinatura.For Key usage, select Signature.
  6. Clique em Criar.Click Create.

Registrar aplicativos do Identity Experience FrameworkRegister Identity Experience Framework applications

O Azure AD B2C exige o registro de dois aplicativos que são usados para a inscrição e entrada de usuários: IdentityExperienceFramework (um aplicativo Web) e ProxyIdentityExperienceFramework (um aplicativo nativo) com permissão delegada do aplicativo IdentityExperienceFramework.Azure AD B2C requires you to register two applications that are used to sign up and sign in users: IdentityExperienceFramework (a web app), and ProxyIdentityExperienceFramework (a native app) with delegated permission from the IdentityExperienceFramework app. As contas locais só existem em seu locatário.Local accounts exist only in your tenant. Seus usuários entram com uma combinação exclusiva de endereço de email/senha para acessar seus aplicativos registrados por locatário.Your users sign up with a unique email address/password combination to access your tenant-registered applications.

Registrar o aplicativo IdentityExperienceFrameworkRegister the IdentityExperienceFramework application

  1. Selecione todos os serviços no canto superior esquerdo do portal do Azure.Select All services in the top-left corner of the Azure portal.
  2. Na caixa de pesquisa, insira Azure Active Directory.In the search box, enter Azure Active Directory.
  3. Selecione Azure Active Directory nos resultados da pesquisa.Select Azure Active Directory in the search results.
  4. Em gerenciar no menu à esquerda, selecione registros de aplicativo (Herdado) .Under Manage in the left-hand menu, select App registrations (Legacy).
  5. Selecione Novo registro de aplicativo.Select New application registration.
  6. Para Nome, insira IdentityExperienceFramework.For Name, enter IdentityExperienceFramework.
  7. Para Tipo de aplicativo, escolha Aplicativo Web/API.For Application type, choose Web app/API.
  8. Para URL de logon, insira https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, em que your-tenant-name é o nome de domínio de locatário do 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. Agora todas as URLs devem estar usando b2clogin.com.All URLs should now be using b2clogin.com.
  9. Clique em Criar.Click Create. Após a criação, copie a ID do aplicativo e salve-a para uso posterior.After it's created, copy the application ID and save it to use later.

Registrar o aplicativo ProxyIdentityExperienceFrameworkRegister the ProxyIdentityExperienceFramework application

  1. Em registros de aplicativo (Herdado) , selecione novo registro de aplicativo.In App registrations (Legacy), select New application registration.
  2. Para Nome, insira ProxyIdentityExperienceFramework.For Name, enter ProxyIdentityExperienceFramework.
  3. Para Tipo de aplicativo, escolha Nativo.For Application type, choose Native.
  4. Para URI de redirecionamento, insira https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, em que your-tenant-name é o seu locatário do 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. Clique em Criar.Click Create. Após a criação, copie a ID do aplicativo e salve-a para uso posterior.After it's created, copy the application ID and save it to use later.
  6. Na página Configurações, selecione Permissões necessárias e, em seguida, selecione Adicionar.On the Settings page, select Required permissions, and then select Add.
  7. Escolha selecionar uma API, procure e selecione IdentityExperienceFrameworke, em seguida, clique em selecionar.Choose Select an API, search for and select IdentityExperienceFramework, and then click Select.
  8. Marque a caixa de seleção ao lado de Acessar IdentityExperienceFramework, clique em Selecionar e, em seguida, clique em Concluído.Select the check box next to Access IdentityExperienceFramework, click Select, and then click Done.
  9. Selecione Conceder Permissões e, em seguida, confirme selecionando Sim.Select Grant Permissions, and then confirm by selecting Yes.

Pacote de início de política personalizadaCustom policy starter pack

As políticas personalizadas são um conjunto de arquivos XML que você carrega em seu locatário Azure AD B2C para definir perfis técnicos e percursos do usuário.Custom policies are a set of XML files you upload to your Azure AD B2C tenant to define technical profiles and user journeys. Fornecemos pacotes de início com várias políticas predefinidas para ajudá-lo a ir rapidamente.We provide starter packs with several pre-built policies to get you going quickly. Cada um desses pacotes de início contém o menor número de perfis técnicos e percursos do usuário necessários para atingir os cenários descritos:Each of these starter packs contains the smallest number of technical profiles and user journeys needed to achieve the scenarios described:

  • LocalAccounts – habilita o uso somente de contas locais.LocalAccounts - Enables the use of local accounts only.
  • SocialAccounts – habilita o uso apenas de contas sociais (ou federadas).SocialAccounts - Enables the use of social (or federated) accounts only.
  • SocialAndLocalAccounts – habilita o uso de contas locais e sociais.SocialAndLocalAccounts - Enables the use of both local and social accounts.
  • SocialAndLocalAccountsWithMFA -habilita opções de autenticação de multifator, locais e sociais.SocialAndLocalAccountsWithMFA - Enables social, local, and multi-factor authentication options.

Cada pacote de início contém:Each starter pack contains:

  • Arquivo base -poucas modificações são necessárias para a base.Base file - Few modifications are required to the base. Exemplo: TrustFrameworkBase. xmlExample: TrustFrameworkBase.xml
  • Arquivo de extensão -esse arquivo é onde a maioria das alterações de configuração são feitas.Extension file - This file is where most configuration changes are made. Exemplo: TrustFrameworkExtensions. xmlExample: TrustFrameworkExtensions.xml
  • Arquivos de terceira parte confiável -arquivos específicos da tarefa chamados por seu aplicativo.Relying party files - Task-specific files called by your application. Exemplos: SignUpOrSignin. xml, ProfileEdit. xml, PasswordReset. xmlExamples: SignUpOrSignin.xml, ProfileEdit.xml, PasswordReset.xml

Neste artigo, você edita os arquivos de política personalizada XML no pacote de início do SocialAndLocalAccounts .In this article, you edit the XML custom policy files in the SocialAndLocalAccounts starter pack. Se você precisar de um editor de XML, tente Visual Studio Code, um editor de plataforma cruzada leve.If you need an XML editor, try Visual Studio Code, a lightweight cross-platform editor.

Obter o pacote de inícioGet the starter pack

Obtenha os pacotes de início de política personalizados do GitHub e, em seguida, atualize os arquivos XML no pacote de início do SocialAndLocalAccounts com seu nome de locatário 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. Baixe o arquivo. zip ou clone o repositório:Download the .zip file or clone the repository:

    git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
    
  2. Em todos os arquivos no diretório SocialAndLocalAccounts , substitua a cadeia de caracteres yourtenant pelo nome do seu locatário Azure ad B2C.In all of the files in the SocialAndLocalAccounts directory, replace the string yourtenant with the name of your Azure AD B2C tenant.

    Por exemplo, se o nome do seu locatário B2C for contosotenant, todas as instâncias yourtenant.onmicrosoft.com de contosotenant.onmicrosoft.comse tornarão.For example, if the name of your B2C tenant is contosotenant, all instances of yourtenant.onmicrosoft.com become contosotenant.onmicrosoft.com.

Adicionar IDs de aplicativo à política personalizadaAdd application IDs to the custom policy

Adicione as IDs de aplicativo ao arquivo de extensões TrustFrameworkExtensions.xml.Add the application IDs to the extensions file TrustFrameworkExtensions.xml.

  1. <TechnicalProfile Id="login-NonInteractive">Abra SocialAndLocalAccounts/ eTrustFrameworkExtensions.xml localize o elemento.Open SocialAndLocalAccounts/TrustFrameworkExtensions.xml and find the element <TechnicalProfile Id="login-NonInteractive">.
  2. Substitua ambas as instâncias IdentityExperienceFrameworkAppId de pela ID do aplicativo IdentityExperienceFramework que você criou anteriormente.Replace both instances of IdentityExperienceFrameworkAppId with the application ID of the IdentityExperienceFramework application that you created earlier.
  3. Substitua ambas as instâncias ProxyIdentityExperienceFrameworkAppId de pela ID do aplicativo ProxyIdentityExperienceFramework que você criou anteriormente.Replace both instances of ProxyIdentityExperienceFrameworkAppId with the application ID of the ProxyIdentityExperienceFramework application that you created earlier.
  4. Salve o arquivo.Save the file.

Fazer upload das políticasUpload the policies

  1. Selecione o item de menu Identity Experience Framework em seu locatário B2C no portal do Azure.Select the Identity Experience Framework menu item in your B2C tenant in the Azure portal.
  2. Selecione carregar política personalizada.Select Upload custom policy.
  3. Nesta ordem, carregue os arquivos de política: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

À medida que você carrega os arquivos, o Azure B2C_1A_ adiciona o prefixo a cada um.As you upload the files, Azure adds the prefix B2C_1A_ to each.

Dica

Se o seu editor de XML oferecer suporte à validação, valide TrustFrameworkPolicy_0.3.0.0.xsd os arquivos em relação ao esquema XML localizado no diretório raiz do pacote inicial.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. A validação de esquema XML identifica erros antes do upload.XML schema validation identifies errors before uploading.

Teste a política personalizadaTest the custom policy

  1. Em políticas personalizadas, selecione B2C_1A_signup_signin.Under Custom policies, select B2C_1A_signup_signin.
  2. Para Selecionar aplicativo na página Visão geral da política personalizada, selecione o aplicativo Web chamado webapp1 que você registrou anteriormente.For Select application on the overview page of the custom policy, select the web application named webapp1 that you previously registered.
  3. Verifique se a URL de resposta é https://jwt.ms.Make sure that the Reply URL is https://jwt.ms.
  4. Selecione Executar Agora.Select Run now.
  5. Inscreva-se usando um endereço de email.Sign up using an email address.
  6. Selecione executar agora novamente.Select Run now again.
  7. Entre com a mesma conta para confirmar que você tem a configuração correta.Sign in with the same account to confirm that you have the correct configuration.

Adicionar o Facebook como um provedor de identidadeAdd Facebook as an identity provider

  1. Conclua as etapas em Configurar inscrição e entrar com uma conta do Facebook para configurar um aplicativo do Facebook.Complete the steps in Set up sign-up and sign-in with a Facebook account to configure a Facebook application.

  2. No arquivo, substitua o valor de client_id pela ID do aplicativo do Facebook: TrustFrameworkExtensions.xml SocialAndLocalAccounts/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>
    
  3. Faça upload do arquivo TrustFrameworkExtensions.xml no seu locatário.Upload the TrustFrameworkExtensions.xml file to your tenant.

  4. Em políticas personalizadas, selecione B2C_1A_signup_signin.Under Custom policies, select B2C_1A_signup_signin.

  5. Selecione executar agora e selecione Facebook para entrar com o Facebook e testar a política personalizada.Select Run now and select Facebook to sign in with Facebook and test the custom policy. Ou, invoque a política diretamente do seu aplicativo registrado.Or, invoke the policy directly from your registered application.

Próximas etapasNext steps

Em seguida, tente adicionar Azure Active Directory (Azure AD) como um provedor de identidade.Next, try adding Azure Active Directory (Azure AD) as an identity provider. O arquivo base usado neste guia de introdução já contém parte do conteúdo de que você precisa para adicionar outros provedores de identidade, como o 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.

Para obter informações sobre como configurar o Azure AD como e o provedor de identidade, consulte Configurar inscrição e entrada com uma conta de Azure Active Directory usando Active Directory B2C políticas personalizadas.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.