O que é o Azure Active Directory B2C?What is Azure Active Directory B2C?

O Azure Active Directory (Azure AD) B2C é um serviço de gerenciamento de identidade que permite personalizar e controlar como os clientes se inscrevem, entram e gerenciam seus perfis ao usar seus aplicativos.Azure Active Directory (Azure AD) B2C is an identity management service that enables you to customize and control how customers sign up, sign in, and manage their profiles when using your applications. Isso inclui aplicativos desenvolvidos para iOS, Android e .NET, entre outros.This includes applications developed for iOS, Android, and .NET, among others. O Azure AD B2C habilita essas ações enquanto protege as identidades dos seus clientes ao mesmo tempo.Azure AD B2C enables these actions while protecting your customer identities at the same time.

Você pode configurar um aplicativo registrado com o Azure AD B2C para executar uma variedade de ações de gerenciamento de identidade.You can configure an application registered with Azure AD B2C to perform a variety of identity management actions. Alguns exemplos incluem:Some examples are:

  • Habilitar um cliente para entrar para usar o aplicativo registradoEnable a customer to sign up to use your registered application
  • Habilitar um cliente inscrito entrar e começar a usar seu aplicativoEnable a signed-up customer to sign in and start using your application
  • Habilitar um cliente inscrito para editar seu perfilEnable a signed-up customer to edit their profile
  • Habilitar a autenticação multifator em seu aplicativoEnable multi-factor authentication in your application
  • Habilitar o cliente para inscrever-se e entrar com provedores de identidade específicoEnable the customer to sign up and sign in with specific identity providers
  • Conceder acesso do aplicativo para APIs que você criarGrant access from your application to APIs that you build
  • Personalizar a aparência da experiência de inscrição e entrarCustomize the look and feel of the sign-up and sign-in experience
  • Gerenciar sessões de logon único para o seu aplicativoManage single sign-on sessions for your application

O que é necessário pensar antes de usar o Azure AD B2C?What do I need to think about before using Azure AD B2C?

  • Como fazer com que o cliente interaja com o meu aplicativo?How do I want the customer to interact with my application?
  • O que é a experiência de interface do usuário que eu quero fornecer para os clientes?What is the user interface (UI) experience that I want to provide to customers?
  • Quais provedores de identidade eu quero permitir que os clientes escolham a partir do meu aplicativo?Which identity providers do I want to let customers choose from in my application?
  • O processo de entrada exige a execução de APIs adicionais?Does my sign-in process require additional APIs to run?

Interação do clienteCustomer interaction

O Azure AD B2C oferece suporte a OpenID Connect para todas as experiências do cliente.Azure AD B2C supports OpenID Connect for all customer experiences. Na implementação do Azure AD B2C do OpenID Connect, seu aplicativo inicia esse percurso emitindo solicitações de autenticação para o Azure AD B2C.In the Azure AD B2C implementation of OpenID Connect, your application initiates this user journey by issuing authentication requests to Azure AD B2C. O resultado da solicitação é um id_token.The result of the request is an id_token. Esse token de segurança representa a identidade do cliente.This security token represents the customer's identity.

Cada aplicativo que usa o Azure AD B2C deve ser registrado em um locatário Azure AD B2C usando o Portal do Azure.Every application that uses Azure AD B2C must be registered in an Azure AD B2C tenant using the Azure portal. O processo de registro do aplicativo coleta e atribui valores ao seu aplicativo.The registration process collects and assigns values to your application. Esses valores incluem uma ID de aplicativo que identifica exclusivamente o aplicativo e um URI que pode ser usado para direcionar as respostas para ele de redirecionamento.These values include an application ID that uniquely identifies the application and a redirect URI that can be used to direct responses back to it.

A interação de cada aplicativo segue um padrão semelhante de alto nível:The interaction of every application follows a similar high-level pattern:

  1. O aplicativo direciona o cliente para executar uma política.The application directs the customer to run a policy.
  2. O cliente conclui a política de acordo com a definição de política.The customer completes the policy according to the policy definition.
  3. O aplicativo recebe um token de segurança.The application receives a security token.
  4. O aplicativo usa o token de segurança para tentar acessar ou um recurso protegido.The application uses the security token to attempt to access a protected resource.
  5. O servidor de recurso valida o token de segurança para verificar se o acesso pode ser concedido.The resource server validates the security token to verify that access can be granted.
  6. O aplicativo atualiza periodicamente o token de segurança.The application periodically refreshes the security token.

Essas etapas podem variar um pouco com base no tipo de aplicativo que você está compilando.These steps can differ slightly based on the type of application you are building.

O Azure AD B2C interage com provedores de identidade, clientes e outros sistemas e o diretório local em sequência para concluir uma tarefa de identidade.Azure AD B2C interacts with identity providers, customers, other systems, and with the local directory in sequence to complete an identity task. Por exemplo, entrar em um cliente, registrar um novo cliente ou redefinir uma senha.For example, sign in a customer, register a new customer, or reset a password. A plataforma subjacente que estabelece a relação de confiança de várias partes e conclui essas etapas é chamada de Estrutura de Experiência de Identidade.The underlying platform that establishes multi-party trust and completes these steps is called the Identity Experience Framework. Essa estrutura e uma política (também chamada de percurso do usuário ou política Estrutura Confiável) define explicitamente os atores, as ações, os protocolos e a sequência de etapas para concluir.This framework and a policy (also called a user journey or a Trust Framework policy) explicitly defines the actors, the actions, the protocols, and the sequence of steps to complete.

O Azure AD B2C protege de ataque de negação de serviço e senha contra seus aplicativos de várias formas.Azure AD B2C protects from denial-of-service and password attacks against your applications in multiple ways. O Azure AD B2C usa técnicas de detecção e de mitigação como cookies SYN e limites de taxa e de conexão para proteger os recursos contra esses ataques de negação de serviço.Azure AD B2C uses detection and mitigation techniques like SYN cookies and rate and connection limits to protect resources against denial-of-service attacks. A mitigação também inclui ataques de senhas de força bruta e ataques de senhas de dicionário.Mitigation is also included for brute-force password attacks and dictionary password attacks.

Políticas internasBuilt-in policies

Cada solicitação enviada para o Azure AD B2C especifica uma política.Each request that is sent to Azure AD B2C specifies a policy. Uma política controla o comportamento de como seu aplicativo interage com o Azure AD B2C.A policy controls the behavior of how your application interacts with Azure AD B2C. Políticas internas são predefinidas para tarefas mais comuns de identidade, como se inscrever, entrar e editar perfil.Built-in policies are predefined for the most common identity tasks, such as sign-up, sign-in, and profile editing. Por exemplo, uma política de inscrição permite controlar comportamentos definindo as seguintes configurações:For instance, a sign-up policy allows you to control behaviors by configuring the following settings:

  • Contas sociais que o usuário pode usar para entrar no aplicativoSocial accounts that the customer can use to sign up for the application
  • Dados coletados do cliente, como nome ou código postalData collected from the customer such as first name or postal code
  • Autenticação multifatorMulti-factor authentication
  • Aparência e funcionalidade de todas as páginas de inscriçãoLook and feel of all sign-up pages
  • Informações retornadas para o aplicativoInformation returned to the application

Políticas personalizadasCustom policies

As politicas personalizadas são arquivos de configuração que definem o comportamento da Estrutura de Experiência de Identidade em seu locatário do Azure AD B2C.Custom policies are configuration files that define the behavior of the Identity Experience Framework in your Azure AD B2C tenant. Políticas personalizadas podem ser editadas totalmente para realizar muitas tarefas.Custom policies can be fully edited to complete many tasks. Uma política personalizada é representada como um ou vários arquivos formatados em XML que se referenciam entre si em uma cadeia hierárquica.A custom policy is represented as one or several XML-formatted files that refer to each other in a hierarchical chain.

Várias políticas personalizadas de tipos diferentes podem ser usadas em seu locatário do Azure AD B2C conforme necessário e podem ser reutilizadas em aplicativos.Multiple custom policies of different types can be used in your Azure AD B2C tenant as needed and can be reused across applications. Essa flexibilidade permite definir e modificar experiências de identidade do consumidor com pouca ou nenhuma alteração no seu código.This flexibility enables you to define and modify customer identity experiences with minimal or no changes to your code. As políticas podem ser executadas usando um parâmetro de consulta especial nas solicitações de autenticação HTTP.Policies can be used by adding a special query parameter to HTTP authentication requests.

Políticas personalizadas podem ser usadas para controlar os percursos de usuário das seguintes maneiras:Custom policies can be used to control user journeys in these ways:

  • Definindo a interação com as APIs para capturar informações adicionais, verifique as declarações fornecidas pelo cliente ou dispare processos externos.Defining interaction with APIs to capture additional information, verify customer provided claims, or trigger external processes.
  • Alterando o comportamento baseado em declarações de APIs ou de declarações no diretório como migrationStatus.Changing behavior based on claims from APIs or from claims in the directory such as migrationStatus.
  • Qualquer fluxo de trabalho não abrangido por políticas internas.Any workflow not covered by built-in policies. Por exemplo, a coleta de informações de mais de um cliente durante uma experiência de logon e executar uma verificação de autorização para acessar um recurso.For example, gathering more information from a customer during a sign-in experience and performing an authorization check to access a resource.

Provedores de identidadeIdentity providers

Um provedor de identidade é um serviço que autentica as identidades dos usuários e emite tokens de segurança.An identity provider is a service that authenticates customer identities and issues security tokens. No Azure AD B2C, você pode configurar um número de provedores de identidade em seu locatário, como uma conta da Microsoft, Facebook ou Amazon entre outros.In Azure AD B2C, you can configure a number of identity providers in your tenant, such as a Microsoft account, Facebook, or Amazon among others.

Para configurar um provedor de identidade em seu locatário do Azure AD B2C, registre o identificador de aplicativo ou um identificador de cliente e o segredo do cliente ou a senha do aplicativo de provedor de identidade que você criar.To configure an identity provider in your Azure AD B2C tenant, you must record the application identifier or client identifier and the password or client secret from the identity provider application that you create. O identificador e a senha são então usados para configurar seu aplicativo.This identifier and password are then used to configure your application.

Experiência de Interface do UsuárioUser Interface experience

A maioria do conteúdo HTML e CSS que é apresentado aos clientes pode ser controlada.Most of the HTML and CSS content that's presented to customers can be controlled. Usando o recurso de personalização da interface do usuário da página, você pode personalizar a aparência de qualquer política.By using the page UI customization feature, you customize the look and feel of any policy. Também pode manter a consistência visual e da marca entre seu aplicativo e o Azure AD B2C.You can also maintain brand and visual consistency between your application and Azure AD B2C.

O Azure AD B2C executa o código no navegador do cliente e usa uma abordagem moderna chamada Compartilhamento de Recursos entre Origens (CORS).Azure AD B2C runs code in the customer's browser and uses a modern approach called Cross-Origin Resource Sharing (CORS). Primeiro, especifique uma URL na política com um conteúdo personalizado em HTML.First, you specify a URL in a policy with customized HTML content. O Azure AD B2C mescla os elementos de interface do usuário com o conteúdo HTML carregado da URL e exibe a página para o cliente.Azure AD B2C merges UI elements with the HTML content that's loaded from your URL and then displays the page to the customer.

Você pode enviar parâmetros para o Azure AD B2C em uma cadeia de caracteres de consulta.You can send parameters to Azure AD B2C in a query string. Passando o parâmetro para seu ponto de extremidade HTML, é possível alterar dinamicamente o conteúdo da página.By passing the parameter to your HTML endpoint, you can dynamically change the page content. Por exemplo, é possível alterar a imagem de tela de fundo na página de inscrição ou de entrada do Azure AD B2C, com base em um parâmetro passado do seu aplicativo Web ou móvel.For example, you can change the background image on the Azure AD B2C sign-up or sign-in page, based on a parameter that you pass from your web or mobile application.

Como fazer para começar a utilizar o Azure AD B2C?How do I get started with Azure AD B2C?

No Azure AD B2C, um locatário representa a sua organização e é um diretório de usuários.In Azure AD B2C, a tenant represents your organization and is a directory of users. Cada locatário do Azure AD B2C é distinto e separado de outros locatários do Azure AD B2C.Each Azure AD B2C tenant is distinct and separate from other Azure AD B2C tenants. Um locatário contém informações sobre os clientes que se inscreveram para usar o aplicativo.A tenant contains information about the customers that have signed up to use your application. Por exemplo, senhas, dados de perfil e permissões.For example, passwords, profile data, and permissions.

Você precisa vincular o seu locatário do Azure AD B2C à sua assinatura do Azure para habilitar todas as funcionalidades e pagar pelos encargos de uso.You need to link your Azure AD B2C tenant to your Azure subscription to enable all functionality and pay for usage charges. Para permitir que os clientes do Azure AD B2C entrem no aplicativo, você deve registrá-lo em um locatário do Azure AD B2C.To allow Azure AD B2C customers to sign in to your application, you must register your application in an Azure AD B2C tenant.

Antes de configurar seu aplicativo para usar o Azure AD B2C, primeiro crie um locatário Azure AD B2C e registre seu aplicativo.Before you configure your application to use Azure AD B2C, you first need to create an Azure AD B2C tenant and register your application. Para registrar seu aplicativo, conclua as etapas em Tutorial: Registrar um aplicativo para habilitar a inscrição e entrar usando o Azure AD B2C.To register your application, complete the steps in Tutorial: Register an application to enable sign-up and sign-in using Azure AD B2C.

Se você for um desenvolvedor de aplicativos web ASP.NET, configure seu aplicativo para autenticar contas usando as etapas no Tutorial: habilitar um aplicativo web para autenticar com contas usando o Azure AD B2C.If you are an ASP.NET web application developer, set up your application to authenticate accounts using the steps in Tutorial: Enable a web application to authenticate with accounts using Azure AD B2C.

Se você for um desenvolvedor de aplicativo da área de trabalho, configure seu aplicativo para autenticar contas usando as etapas no Tutorial: habilitar um aplicativo da área de trabalho para autenticar com contas usando o Azure AD B2C.If your are a desktop application developer, set up your application to authenticate accounts using the steps in Tutorial: Enable a desktop application to authenticate with accounts using Azure AD B2C.

Se você for um desenvolvedor de aplicativo de página única usando Node.js, configure seu aplicativo para autenticar contas usando as etapas no Tutorial: habilitar um aplicativo de página única para autenticar com contas usando o Azure AD B2C.If you are a single-page application developer using Node.js, set up your application to authenticate accounts using the steps in Tutorial: Enable a single-page application to authenticate with accounts using Azure AD B2C.

Próximas etapasNext steps

Começar a configurar seu aplicativo para a experiência de inscrição e entrada ao continuar o tutorial.Start configuring your application for the sign-up and sign-in experience by continuing to the tutorial.