Fluxos dos usuários no Azure Active Directory B2CUser flows in Azure Active Directory B2C

A estrutura de política extensível do Azure AD (Azure Active Directory) B2C é o principal ponto forte do serviço.The extensible policy framework of Azure Active Directory (Azure AD) B2C is the core strength of the service. As políticas descrevem em detalhe experiências de identidade, tais como inscrição, entrada ou edição de perfil.Policies fully describe identity experiences such as sign-up, sign-in, or profile editing. Para ajudá-lo a configurar as tarefas de identidade mais comuns, o portal do Azure AD B2C inclui políticas predefinidas e configuráveis chamadas fluxos dos usuários.To help you set up the most common identity tasks, the Azure AD B2C portal includes predefined, configurable policies called user flows.

O que são fluxos dos usuários?What are user flows?

Um fluxo de usuário de inscrição permite controlar comportamentos em aplicativos definindo as seguintes configurações:A user flow enables you to control behaviors in your applications by configuring the following settings:

  • Tipos de conta usados para entrar, por exemplo, contas sociais como as do Facebook ou locaisAccount types used for sign-in, such as social accounts like a Facebook or local accounts
  • Atributos a serem coletados do consumidor, tais como nome, código postal e tamanho do calçadoAttributes to be collected from the consumer, such as first name, postal code, and shoe size
  • Autenticação Multifator do AzureAzure Multi-Factor Authentication
  • Personalização da interface do usuárioCustomization of the user interface
  • Informações de que o aplicativo recebe como declarações em um tokenInformation that the application receives as claims in a token

É possível criar muitos fluxos dos usuários de diferentes tipos no locatário e usá-los nos aplicativos, conforme necessário.You can create many user flows of different types in your tenant and use them in your applications as needed. Fluxos dos usuários podem ser reutilizados nos aplicativos.User flows can be reused across applications. Essa flexibilidade permite definir e modificar experiências de identidade com pouca ou nenhuma alteração no seu código.This flexibility enables you to define and modify identity experiences with minimal or no changes to your code. O aplicativo dispara um fluxo de usuário usando uma solicitação de autenticação HTTP padrão que inclui um parâmetro de fluxo de usuário.Your application triggers a user flow by using a standard HTTP authentication request that includes a user flow parameter. Um token personalizado é recebido como uma resposta.A customized token is received as a response.

Os exemplos a seguir mostram o parâmetro de cadeia de caracteres de consulta "p" que especifica o fluxo de usuário a ser usado:The following examples show the "p" query string parameter that specifies the user flow to be used:

https://contosob2c.b2clogin.com/contosob2c.onmicrosoft.com/oauth2/v2.0/authorize?
client_id=2d4d11a2-f814-46a7-890a-274a72a7309e      // Your registered Application ID
&redirect_uri=https%3A%2F%2Flocalhost%3A44321%2F    // Your registered Reply URL, url encoded
&response_mode=form_post                            // 'query', 'form_post' or 'fragment'
&response_type=id_token
&scope=openid
&nonce=dummy
&state=12345                                        // Any value provided by your application
&p=b2c_1_siup                                       // Your sign-up user flow
https://contosob2c.b2clogin.com/contosob2c.onmicrosoft.com/oauth2/v2.0/authorize?
client_id=2d4d11a2-f814-46a7-890a-274a72a7309e      // Your registered Application ID
&redirect_uri=https%3A%2F%2Flocalhost%3A44321%2F    // Your registered Reply URL, url encoded
&response_mode=form_post                            // 'query', 'form_post' or 'fragment'
&response_type=id_token
&scope=openid
&nonce=dummy
&state=12345                                        // Any value provided by your application
&p=b2c_1_siin                                       // Your sign-in user flow

Versões de fluxo do usuárioUser flow versions

No portal do Azure, novas versões dos fluxos dos usuários estão sendo adicionadas o tempo todo.In the Azure portal, new versions of user flows are being added all the time. Quando você começa a usar o Azure AD B2C, os fluxos dos usuários testados são recomendados para seu uso.When you get started with Azure AD B2C, tested user flows are recommended for you to use. Quando cria um novo fluxo de usuário, você escolhe o fluxo de usuário que precisa na guia Recomendado.When you create a new user flow, you choose the user flow that you need from the Recommended tab.

Atualmente, os seguintes fluxos dos usuários são recomendados:The following user flows are currently recommended:

  • Inscrever-se e entrar – controla as experiências de inscrição e entrada do consumidor com uma única configuração.Sign up and sign in - Handles both of the sign-up and sign-in experiences with a single configuration. Os consumidores são conduzidos pelo caminho certo, de acordo com o contexto.Users are led down the right path depending on the context. É recomendável usar esse fluxo de usuário em um fluxo de usuário de inscrição ou de entrada.It's recommended that you use this user flow over a sign-up user flow or a sign-in user flow.
  • Edição de perfil – permite que os usuários editem suas informações de perfil.Profile editing - Enables users to edit their profile information.
  • Redefinição de senha – permite configurar se e como os usuários podem redefinir sua senha.Password reset - Enables you to configure whether and how users can reset their password.

Vinculação de fluxos dos usuáriosLinking user flows

Um fluxo de usuário de inscrição ou de entrada com contas locais inclui um link Esqueceu a senha? na primeira página da experiência.A sign-up or sign-in user flow with local accounts includes a Forgot password? link on the first page of the experience. Clicar nesse link não dispara automaticamente um fluxo de usuário de redefinição de senha.Clicking this link doesn't automatically trigger a password reset user flow.

Em vez disso, o código de erro AADB2C90118 é retornado para seu aplicativo.Instead, the error code AADB2C90118 is returned to your application. Seu aplicativo precisa lidar com esse código de erro, executando um fluxo de usuário específico que redefine a senha.Your application needs to handle this error code by running a specific user flow that resets the password. Para ver um exemplo, dê uma olhada em um exemplo simples de ASP.NET que demonstra a vinculação de fluxos dos usuários.To see an example, take a look at a simple ASP.NET sample that demonstrates the linking of user flows.

Armazenamento de endereços de emailEmail address storage

Um endereço de email pode ser exigido como parte de um fluxo de usuário.An email address can be required as part of a user flow. Se o usuário é autenticado com um provedor de identidade social, o endereço de email é armazenado na propriedade otherMails.If the user authenticates with a social identity provider, the email address is stored in the otherMails property. Se uma conta local for baseada em um nome de usuário, o endereço de email será armazenado em uma propriedade de detalhe de autenticação forte.If a local account is based on a user name, then the email address is stored in a strong authentication detail property. Se uma conta local for baseada em um endereço de email, ele será armazenado na propriedade signInNames.If a local account is based on an email address, then the email address is stored in the signInNames property.

Não há garantia de que o endereço de email seja verificado em nenhum desses casos.The email address isn't guaranteed to be verified in any of these cases. Um administrador de locatários pode desabilitar a verificação de email nas políticas básicas para contas locais.A tenant administrator can disable email verification in the basic policies for local accounts. Mesmo se a verificação de endereço de email estiver habilitada, endereços não serão verificados se eles vierem de um provedor de identidade social e não tiverem sido alterados.Even if email address verification is enabled, addresses aren't verified if they come from a social identity provider and they haven't been changed.

Somente as propriedades otherMails e signInNames são expostas por meio da API do Graph do Active Directory.Only the otherMails and signInNames properties are exposed through the Active Directory Graph API. O endereço de email na propriedade de detalhe de autenticação forte não está disponível.The email address in the strong authentication detail property is not available.

Próximas etapasNext steps

Para criar os fluxos dos usuários recomendados, siga as instruções no Tutorial: Criar um fluxo de usuário.To create the recommended user flows, follow the instructions in Tutorial: Create a user flow.