Tutorial: Criar fluxos dos usuários e políticas personalizadas no Azure Active Directory B2C

Antes de começar, use o seletor anterior para escolher o tipo de política que está configurando. O Azure AD B2C oferece dois métodos para definir como os usuários interagem com seus aplicativos: por meio de fluxos dos usuários predefinidos ou políticas personalizadas totalmente configuráveis. As etapas necessárias neste artigo são diferentes para cada método.

Nos seus aplicativos, pode haver fluxos dos usuários que permitem que os usuários inscrevam-se, conectem-se ou gerenciem seus perfis. É possível criar vários fluxos dos usuários de diferentes tipos no locatário do Azure AD B2C (Azure Active Directory B2C) e usá-los nos aplicativos, conforme necessário. Fluxos dos usuários podem ser reutilizados nos aplicativos.

Um fluxo do usuário permite que você determine como os usuários interagem com seu aplicativo ao entrar, se inscrever, editar um perfil ou redefinir uma senha. Neste artigo, você aprenderá como:

As políticas personalizadas são arquivos de configuração que definem o comportamento do locatário do Azure AD B2C (Azure Active Directory B2C). Neste artigo, você aprenderá como:

  • Criar um fluxo de usuário de inscrição e de entrada
  • Habilitar a redefinição de senha por autoatendimento
  • Criar um fluxo de usuário de edição de perfil

Importante

Alteramos a maneira como fazemos referência às versões de fluxo do usuário. Anteriormente, oferecíamos versões V1 (prontas para produção) e versões V1.1 e V2 (versão prévia). Agora, consolidamos os fluxos dos usuários em duas versões: fluxos dos usuários Recomendados com os recursos mais recentes e fluxos dos usuários Padrão (Herdado) . Todos os fluxos dos usuários da versão prévia herdada (V1.1 e V2) serão preteridos. Para obter detalhes, consulte as Versões de fluxo de usuário no Azure AD B2C. Essas alterações se aplicam somente à nuvem pública do Azure. Os outros ambientes continuarão usando o controle de versão de fluxo do usuário herdado.

Pré-requisitos

Criar um fluxo de usuário de inscrição e de entrada

O fluxo do usuário de inscrição e credenciais controla as experiências de inscrição e credenciais do consumidor com uma única configuração. Os usuários do aplicativo são conduzidos pelo caminho certo, de acordo com o contexto.

  1. Entre no portal do Azure.

  2. Selecione o ícone Diretório + Assinatura na barra de ferramentas do portal e selecione o diretório que contém o locatário do Azure AD B2C.

    Locatário do B2C, painel Diretório e Assinatura, portal do Azure

  3. No portal do Azure, pesquise e selecione Azure AD B2C.

  4. Em Políticas, selecione Fluxos dos usuários e, em seguida, selecione Novo fluxo de usuário.

    Página fluxos dos usuários no portal com o botão Novo fluxo de usuário realçado

  5. Na página Criar um fluxo de usuário, selecione o fluxo do usuário Inscrever-se e entrar.

    Página Selecione um fluxo de usuário com o fluxo Inscrever-se e entrar realçado

  6. Em Selecionar uma versão, selecione Recomendado e, em seguida, selecione Criar. (Saiba mais sobre as versões de fluxo de usuário.)

    Página Criar fluxo de usuário no portal do Azure com as propriedades realçadas

  7. Insira um Nome para o fluxo de usuário. Por exemplo, signupsignin1.

  8. Para Provedores de identidade, selecione Inscrição por email.

  9. Para Atributos e declarações do usuário, escolha as declarações e atributos que deseja coletar e enviar do usuário durante a inscrição. Por exemplo, selecione Mostrar mais e, depois, escolha atributos e declarações de País/região, Nome de exibição e Código postal. Clique em OK.

    Página Seleção de atributos e declarações com três declarações selecionadas

  10. Clique em Criar para adicionar o fluxo de usuário. Um prefixo B2C_1 é anexado automaticamente ao nome.

Testar o fluxo de usuário

  1. Selecione o fluxo de usuário que você criou para abrir a página de visão geral e, em seguida, selecione Executar fluxo de usuário.

  2. Para Aplicativo, selecione o aplicativo Web denominado webapp1 que você registrou anteriormente. A URL de resposta deve mostrar https://jwt.ms.

  3. Clique em Executar o fluxo do usuário e, em seguida, selecione Inscreva-se agora.

    Página Executar fluxo de usuários no portal com o botão Executar fluxo de usuário realçado

  4. Insira um endereço de email válido, clique em Enviar código de verificação, insira o código de verificação que você receber e, em seguida selecione Verificar código.

  5. Insira uma nova senha e confirme-a.

  6. Selecione seu país e região, insira o nome que você deseja que seja exibido, insira um código postal e, em seguida, clique em Criar. O token é retornado para https://jwt.ms e deve ser exibido para você.

  7. Agora, você pode executar o fluxo do usuário novamente e poderá se conectar com a conta que você criou. O token retornado inclui as declarações que você selecionou de país/região, nome e código postal.

Observação

No momento, a experiência "Executar fluxo de usuário" não é compatível com o tipo de URL de resposta SPA que usa o fluxo de código de autorização. Para usar a experiência "Executar fluxo de usuário" com esses tipos de aplicativos, registre uma URL de resposta do tipo "Web" e habilite o fluxo implícito conforme descrito aqui.

Habilitar a redefinição de senha por autoatendimento

Para habilitar a redefinição de senha por autoatendimento para o fluxo de usuários de inscrição ou de entrada:

  1. Selecione o fluxo de usuários de inscrição ou de entrada criado.
  2. Em Configurações no menu esquerdo, selecione Propriedades.
  3. Em Complexidade da senha, selecione Redefinição de senha por autoatendimento.
  4. Clique em Salvar.

Testar o fluxo de usuário

  1. Selecione o fluxo de usuário que você criou para abrir a página de visão geral e, em seguida, selecione Executar fluxo de usuário.
  2. Para Aplicativo, selecione o aplicativo Web denominado webapp1 que você registrou anteriormente. A URL de resposta deve mostrar https://jwt.ms.
  3. Selecione Executar fluxo de usuário.
  4. Na página de inscrição ou de entrada, escolha Esqueceu sua senha? .
  5. Verifique o endereço de email da conta que você criou anteriormente e selecione Continuar.
  6. Agora, você pode alterar a senha para o usuário. Altere a senha e selecione Continuar. O token é retornado para https://jwt.ms e deve ser exibido para você.

Criar um fluxo de usuário de edição de perfil

Se quiser permitir que os usuários editem seu perfil no aplicativo, use um fluxo do usuário de edição de perfil.

  1. No menu da página de visão geral do locatário do Azure AD B2C, selecione Fluxos dos usuários e, em seguida, selecione Novo fluxo de usuário.
  2. Na página Criar um fluxo de usuário, selecione o fluxo do usuário Edição de perfil.
  3. Em Selecionar uma versão, selecione Recomendado e, em seguida, selecione Criar.
  4. Insira um Nome para o fluxo de usuário. Por exemplo, profileediting1.
  5. Para Provedores de identidade, selecione Conexão na Conta Local.
  6. Para Atributos do usuário, escolha os atributos que deseja que o cliente seja capaz de editar no perfil dele. Por exemplo, selecione Mostrar mais e, em seguida, escolha os atributos e as declarações para Nome de exibição e Cargo. Clique em OK.
  7. Clique em Criar para adicionar o fluxo de usuário. Um prefixo B2C_1 é acrescentado automaticamente ao nome.

Testar o fluxo de usuário

  1. Selecione o fluxo de usuário que você criou para abrir a página de visão geral e, em seguida, selecione Executar fluxo de usuário.
  2. Para Aplicativo, selecione o aplicativo Web denominado webapp1 que você registrou anteriormente. A URL de resposta deve mostrar https://jwt.ms.
  3. Clique em Executar o fluxo do usuário e, em seguida, entre com a conta que criou anteriormente.
  4. Agora, você tem a oportunidade de alterar o nome de exibição e o cargo do usuário. Clique em Continuar. O token é retornado para https://jwt.ms e deve ser exibido para você.

Dica

Este artigo explica como configurar seu locatário manualmente. Você pode automatizar todo o processo explicado deste artigo. A automação implantará o pacote de início do SocialAndLocalAccountsWithMFA do Azure AD B2C, que fornecerá os percursos de Inscrição e Entrada, Redefinição de Senha e Edição do Perfil. Para automatizar as etapas abaixo, visite o Aplicativo de Instalação do IEF e siga as instruções.

Adicionar chaves de criptografia e de assinatura

  1. Entre no portal do Azure.
  2. Selecione o ícone Diretório + Assinatura na barra de ferramentas do portal e selecione o diretório que contém o locatário do Azure AD B2C.
  3. No portal do Azure, procure e selecione Azure AD B2C.
  4. Na página Visão Geral, em Políticas, selecione Identity Experience Framework.

Criar a chave de assinatura

  1. Selecione Chaves de Política e, em seguida, escolha Adicionar.
  2. Para Opções, escolha Generate.
  3. Em Nome, insira TokenSigningKeyContainer. O prefixo B2C_1A_ pode ser adicionado automaticamente.
  4. Para Tipo de chave, selecione RSA.
  5. Para Uso de chave, selecione Assinatura.
  6. Selecione Criar.

Criar a chave de criptografia

  1. Selecione Chaves de Política e, em seguida, escolha Adicionar.
  2. Para Opções, escolha Generate.
  3. Em Nome, insira TokenEncryptionKeyContainer. O prefixo B2C_1A_ pode ser adicionado automaticamente.
  4. Para Tipo de chave, selecione RSA.
  5. Para o Uso da chave, selecione Criptografia.
  6. Selecione Criar.

Criar a chave do Facebook

Adicione o Segredo do Aplicativo do Facebook como uma chave de política. Você pode usar o Segredo do Aplicativo desse aplicativo criado como parte dos pré-requisitos deste artigo.

  1. Selecione Chaves de Política e, em seguida, escolha Adicionar.
  2. Para Opções, escolha Manual.
  3. Para Nome, insira FacebookSecret. O prefixo B2C_1A_ pode ser adicionado automaticamente.
  4. Em Segredo, digite o Segredo do Aplicativo do Facebook de developers.facebook.com. Esse valor é o segredo, não a ID do aplicativo.
  5. Para Uso de chave, selecione Assinatura.
  6. Selecione Criar.

Registrar aplicativos do Identity Experience Framework

O Azure AD B2C exige o registro de dois aplicativos que são usados para a inscrição e entrada de usuários com contas locais: IdentityExperienceFramework, uma API Web, e ProxyIdentityExperienceFramework, um aplicativo nativo com permissão delegada para o aplicativo IdentityExperienceFramework. Os usuários podem se inscrever com um endereço de email ou nome de usuário e uma senha para acessar os aplicativos registrados no locatário, o que cria uma "conta local". As contas locais só existem em seu locatário do Azure AD B2C.

Você precisa registrar apenas uma vez esses dois aplicativos em seu locatário do Azure AD B2C.

Registrar o aplicativo IdentityExperienceFramework

Para registrar um aplicativo no seu locatário do Azure AD B2C, você pode usar a experiência do Registros de aplicativo.

  1. Escolha Registros de aplicativo e Novo registro.
  2. Para Nome, insira IdentityExperienceFramework.
  3. Em Tipos de contas com suporte, selecione Contas somente neste diretório organizacional.
  4. Em URI de redirecionamento, selecione Web e digite https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, em que your-tenant-name é o nome de domínio do locatário do Azure AD B2C.
  5. Em Permissões, marque a caixa de seleção Dar consentimento do administrador às permissões OpenID e offline_access.
  6. Selecione Registrar.
  7. Registre a ID do aplicativo (cliente) para uso em uma etapa posterior.

Em seguida, exponha a API adicionando um escopo:

  1. No menu à esquerda, em Gerenciar, selecione Expor uma API.
  2. Selecione Adicionar um escopo e Salvar e continuar para aceitar o URI da ID do aplicativo padrão.
  3. Insira os valores a seguir para criar um escopo que permita a execução da política personalizada em seu locatário Azure AD B2C:
    • Nome do escopo: user_impersonation
    • Nome de exibição de consentimento do administrador: Access IdentityExperienceFramework
    • Descrição do consentimento do administrador: Allow the application to access IdentityExperienceFramework on behalf of the signed-in user.
  4. Selecione Adicionar escopo

Registrar o aplicativo ProxyIdentityExperienceFramework

  1. Escolha Registros de aplicativo e Novo registro.
  2. Para Nome, insira ProxyIdentityExperienceFramework.
  3. Em Tipos de contas com suporte, selecione Contas somente neste diretório organizacional.
  4. Em URI de Redirecionamento, use a lista suspensa para selecionar Cliente Público/Nativo (móvel e área de trabalho) .
  5. No URI de redirecionamento, insira myapp://auth.
  6. Em Permissões, marque a caixa de seleção Dar consentimento do administrador às permissões OpenID e offline_access.
  7. Selecione Registrar.
  8. Registre a ID do aplicativo (cliente) para uso em uma etapa posterior.

Em seguida, especifique que o aplicativo deve ser tratado como um cliente público:

  1. No menu à esquerda, em Gerenciar, selecione Autenticação.
  2. Em Configurações avançadas, na seção Permitir fluxos de cliente público, defina Habilitar os fluxos móveis e de desktop a seguir como Sim. Verifique se "allowPublicClient": true está definido no manifesto do aplicativo.
  3. Clique em Salvar.

Agora conceda permissões ao escopo da API que você expôs anteriormente no registro de IdentityExperienceFramework:

  1. No menu à esquerda, em Gerenciar, selecione Permissões da API.
  2. Em Permissões Configuradas, selecione Adicionar uma permissão.
  3. Selecione a guia Minhas APIs e o aplicativo IdentityExperienceFramework.
  4. Em Permissão, selecione o escopo user_impersonation que você definiu anteriormente.
  5. Selecione Adicionar Permissões. Conforme as instruções, aguarde alguns minutos antes de seguir para a próxima etapa.
  6. Selecione Fornecer o consentimento do administrador para (nome do seu locatário) .
  7. Selecione a conta de administrador conectada no momento ou entre com uma conta no seu locatário do Azure AD B2C que tenha recebido, pelo menos, a função Administrador de aplicativos de nuvem.
  8. Selecione Aceitar.
  9. Selecione Atualizar e, em seguida, verifique se a opção "Permitido para..." aparece em Status para os escopos offline_access, openid e user_impersonation. Pode levar alguns minutos para que as permissões sejam propagadas.

Pacote de início de política personalizada

As políticas personalizadas são um conjunto de arquivos XML que você carrega em seu locatário do Azure AD B2C para definir perfis técnicos e percursos do usuário. Fornecemos pacotes de início com várias políticas predefinidas para ajudá-lo a começar rapidamente. Cada um desses pacotes de início contém o menor número de perfis de técnicos e percurso do usuário necessários para alcançar os cenários descritos:

  • LocalAccounts – permite o uso apenas de contas locais.
  • SocialAccounts – permite o uso apenas de contas sociais (ou federadas).
  • SocialAndLocalAccounts – permite o uso de contas locais e de contas sociais.
  • SocialAndLocalAccountsWithMFA – permite opções de autenticação locais, sociais e multifator.

Cada pacote de início contém:

  • Arquivo base – são necessárias poucas modificações na base. Exemplo: TrustFrameworkBase.xml
  • Arquivo de extensão – é nesse arquivo que se faz a maioria das alterações de configuração. Exemplo: TrustFrameworkExtensions.xml
  • Arquivos de terceira parte confiável – são os arquivos específicos de tarefa chamados pelo aplicativo. Exemplos: SignUpOrSignin.xml, ProfileEdit.xml, PasswordReset.xml

Neste artigo, você editará os arquivos XML de políticas personalizadas no pacote de início de SocialAndLocalAccounts. Se precisar de um editor de XML, experimente o Visual Studio Code, um editor leve de multiplataforma.

Obter o pacote de início

Obtenha os pacotes de início de políticas personalizadas no GitHub. Em seguida, atualize os arquivos XML no pacote de início de SocialAndLocalAccounts com nome de seu locatário do Azure AD B2C.

  1. Baixar os arquivos .zip ou clonar o repositório:

    git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
    
  2. Em todos os arquivos do diretório SocialAndLocalAccounts, substitua a cadeia de caracteres yourtenant pelo nome do seu locatário do Azure AD B2C.

    Por exemplo, se o nome do seu locatário B2C for contosotenant, todas as instâncias de yourtenant.onmicrosoft.com se tornarão contosotenant.onmicrosoft.com.

Adicionar IDs de aplicativo à política personalizada

Adicione as IDs de aplicativo ao arquivo de extensões TrustFrameworkExtensions.xml.

  1. Abra SocialAndLocalAccounts/TrustFrameworkExtensions.xml e encontre o elemento <TechnicalProfile Id="login-NonInteractive">.
  2. Substitua ambas as instâncias de IdentityExperienceFrameworkAppId pela ID do aplicativo IdentityExperienceFramework criado anteriormente.
  3. Substitua ambas as instâncias de ProxyIdentityExperienceFrameworkAppId pela ID do aplicativo ProxyIdentityExperienceFramework criado anteriormente.
  4. Salve o arquivo.

Fazer upload das políticas

  1. Selecione o item de menu Identity Experience Framework em seu locatário B2C no portal do Azure.
  2. Selecione Carregar política personalizada.
  3. Nesta ordem, carregue os arquivos de política:
    1. TrustFrameworkBase.xml
    2. TrustFrameworkExtensions.xml
    3. SignUpOrSignin.xml
    4. ProfileEdit.xml
    5. PasswordReset.xml

À medida que você carrega os arquivos, o Azure adiciona o prefixo B2C_1A_ a cada um.

Dica

Caso seu editor de XML dê suporte à validação, valide os arquivos em relação ao esquema XML TrustFrameworkPolicy_0.3.0.0.xsd, localizado no diretório raiz do pacote de início. A validação de esquema XML identifica erros antes do upload.

Teste a política personalizada

  1. Na página Políticas personalizadas, selecione B2C_1A_signup_signin.
  2. Para Selecionar aplicativo na página de visão geral da política personalizada, selecione o aplicativo Web chamado webapp1 que você registrou anteriormente.
  3. Verifique se a URL de resposta é https://jwt.ms.
  4. Selecione Executar Agora.
  5. Crie uma conta usando um endereço de email.
  6. Selecione novamente Executar agora.
  7. Entre com a mesma conta para confirmar que você tem a configuração correta.

Adicionar o Facebook como um provedor de identidade

Como mencionado em Pré-requisitos, o Facebook não é necessário para usar políticas personalizadas, mas é usado aqui para demonstrar como você pode habilitar o logon social federado em uma política personalizada.

  1. No arquivo SocialAndLocalAccounts/TrustFrameworkExtensions.xml , substitua o valor de client_id pela ID do aplicativo do Facebook:

    <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. Faça upload do arquivo TrustFrameworkExtensions.xml no seu locatário.

  3. Na página Políticas personalizadas, selecione B2C_1A_signup_signin.

  4. Selecione Executar agora e o Facebook para entrar no Facebook e testar a política personalizada.

Próximas etapas

Neste artigo, você aprendeu a:

  • Criar um fluxo de usuário de inscrição e de entrada
  • Criar um fluxo de usuário de edição de perfil
  • Criar um fluxo de usuário de redefinição de senha

Em seguida, saiba como usar o Azure AD B2C para conectar e inscrever usuários em um aplicativo. Siga os aplicativos de exemplo vinculados abaixo:

Saiba mais também na série de aprofundamento da arquitetura do Azure AD B2C.