Flujos de usuario en Azure Active Directory B2CUser flows in Azure Active Directory B2C

Para ayudarle a configurar las tareas más comunes de identidad para sus aplicaciones, el portal de Azure AD B2C incluye directivas predefinidas y configurables denominadas flujos de usuario.To help you set up the most common identity tasks for your applications, the Azure AD B2C portal includes predefined, configurable policies called user flows. Un flujo de usuario permite determinar cómo interactúan los usuarios con su aplicación cuando realizan acciones como iniciar sesión, registrarse, editar un perfil o restablecer una contraseña.A user flow lets you determine how users interact with your application when they do things like sign in, sign up, edit a profile, or reset a password. Con los flujos de usuario, puede controlar las siguientes funcionalidades:With user flows, you can control the following capabilities:

  • Tipos de cuenta utilizados para iniciar sesión, como cuentas de redes sociales (como Facebook) o cuentas localesAccount types used for sign-in, such as social accounts like a Facebook or local accounts
  • Atributos que se recopilarán del consumidor durante el registro, como el nombre, código postal y número de calzadoAttributes to be collected from the consumer, such as first name, postal code, and shoe size
  • Azure AD Multi-Factor AuthenticationAzure AD Multi-Factor Authentication
  • Personalización de la interfaz de usuarioCustomization of the user interface
  • Información que la aplicación recibe como notificaciones en un tokenInformation that the application receives as claims in a token

Puede crear muchos flujos de usuario de diferentes tipos en su inquilino y usarlos en sus aplicaciones según sea necesario.You can create many user flows of different types in your tenant and use them in your applications as needed. Los flujos de usuario se pueden volver a usar en todas las aplicaciones.User flows can be reused across applications. Esta flexibilidad le permite definir y modificar las experiencias de identidad con cambios mínimos o ningún cambio en el código.This flexibility enables you to define and modify identity experiences with minimal or no changes to your code. La aplicación desencadena un flujo de usuario mediante una solicitud de autenticación HTTP estándar que incluye un parámetro de flujo de usuario.Your application triggers a user flow by using a standard HTTP authentication request that includes a user flow parameter. Se recibe un token personalizado como respuesta.A customized token is received as a response.

En los ejemplos siguientes se muestra el parámetro de cadena de consulta "p" que especifica el flujo de usuario que se usará: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

Versiones del flujo de usuarioUser flow versions

Azure AD B2C incluye varios tipos de flujos de usuario:Azure AD B2C includes several types of user flows:

  • Registro e inicio de sesión: controla las experiencias de registro y de inicio de sesión con una sola configuración.Sign up and sign in - Handles both of the sign-up and sign-in experiences with a single configuration. A los usuarios se les lleva por el proceso correcto según el contexto.Users are led down the right path depending on the context. También se incluyen flujos de usuario de registro o inicio de sesión independientes.Also included are separate sign-up or sign-in user flows. Sin embargo, suele recomendarse el flujo de usuario de registro o inicio de sesión combinado.But we generally recommend the combined sign up and sign in user flow.
  • Edición de perfiles: permite a los usuarios editar su información de perfil.Profile editing - Enables users to edit their profile information.
  • Restablecimiento de contraseña: le permite configurar si es posible o no para los usuarios restablecer su contraseña y de qué forma pueden hacerlo.Password reset - Enables you to configure whether and how users can reset their password.

La mayoría de los tipos de flujo de usuario cuentan con una versión Recomendada y una versión Estándar.Most user flow types have both a Recommended version and a Standard version. Para obtener detalles, consulte Versiones del flujo de usuario.For details, see user flow versions.

Importante

Si ha trabajado con flujos de usuario en Azure AD B2C antes, observará que hemos cambiado nuestra forma de hacer referencia a las versiones del flujo de usuario.If you've worked with user flows in Azure AD B2C before, you'll notice that we've changed the way we reference user flow versions. Anteriormente, se ofrecían las versiones V1 (para entornos de producción) y V1.1 y V2 (preliminares).Previously, we offered V1 (production-ready) versions, and V1.1 and V2 (preview) versions. Ahora, hemos consolidado los flujos de usuario en dos versiones:Now, we've consolidated user flows into two versions:

  • Los flujos de usuario Recomendados son las nuevas versiones preliminares de los flujos de usuario.Recommended user flows are the new preview versions of user flows. Se prueban exhaustivamente y combinan todas las características de las versiones V2 y V1.1 heredadas.They're thoroughly tested and combine all the features of the legacy V2 and V1.1 versions. A partir de ahora, los nuevos flujos de usuario recomendados se mantendrán y actualizarán.Going forward, the new recommended user flows will be maintained and updated. Una vez que se traslade a estos nuevos flujos de usuario recomendados, tendrá acceso a las nuevas características a medida que se vayan lanzando.Once you move to these new recommended user flows, you'll have access to new features as they're released.
  • Los flujos de usuario Estándar, anteriormente conocidos como V1, son flujos de usuario disponibles con carácter general y para entornos de producción.Standard user flows, previously known as V1, are generally available, production-ready user flows. Si sus flujos de usuario son críticos y dependen de versiones altamente estables, puede seguir usando flujos de usuario estándar, sabiendo que estas versiones no se mantendrán ni actualizarán.If your user flows are mission-critical and depend on highly stable versions, you can continue to use standard user flows, realizing that these versions won't be maintained and updated.

Todas las versiones preliminares de flujos de usuario heredadas (V1.1 y V2) estarán en proceso de desuso el 1 de agosto de 2021.All legacy preview user flows (V1.1 and V2) are on a path to deprecation by August 1, 2021. Siempre que sea posible, recomendamos encarecidamente que cambie a los nuevos flujos de usuario Recomendados lo antes posible para que pueda aprovechar siempre las últimas características y actualizaciones.Wherever possible, we highly recommend that you switch to the new Recommended user flows as soon as possible so you can always take advantage of the latest features and updates.

Vinculación de los flujos de usuarioLinking user flows

Un flujo de usuario de inicio de sesión o de registro con cuentas locales incluye el vínculo ¿Olvidó la contraseña? en la primera página de la experiencia.A sign-up or sign-in user flow with local accounts includes a Forgot password? link on the first page of the experience. Al hacer clic en este vínculo, no se desencadena automáticamente ningún flujo de usuario de restablecimiento de contraseña,Clicking this link doesn't automatically trigger a password reset user flow.

sino que se devuelve a la aplicación el código de error AADB2C90118.Instead, the error code AADB2C90118 is returned to your application. La aplicación debe controlar este código de error mediante la ejecución de un flujo de usuario específico que restablezca la contraseña.Your application needs to handle this error code by running a specific user flow that resets the password. Para ver un ejemplo, eche un vistazo a un ejemplo sencillo de ASP.NET que muestra la vinculación de flujos de usuario.To see an example, take a look at a simple ASP.NET sample that demonstrates the linking of user flows.

Almacenamiento de la dirección de correo electrónicoEmail address storage

Es posible que se necesite una dirección de correo electrónico como parte de un flujo de usuario.An email address can be required as part of a user flow. Si el usuario se autentica con un proveedor de identidades de redes sociales, la dirección de correo electrónico se almacena en la propiedad otherMails.If the user authenticates with a social identity provider, the email address is stored in the otherMails property. Si una cuenta local se basa en un nombre de usuario, la dirección de correo electrónico se almacena en una propiedad de detalles de autenticación sólida.If a local account is based on a user name, then the email address is stored in a strong authentication detail property. Si una cuenta local se basa en una dirección de correo electrónico, dicha dirección se almacena en la propiedad signInNames.If a local account is based on an email address, then the email address is stored in the signInNames property.

No se garantiza que la dirección de correo electrónico pueda comprobarse en cualquiera de estos casos.The email address isn't guaranteed to be verified in any of these cases. Un administrador de inquilinos puede deshabilitar la comprobación de correo electrónico en las directivas básicas para las cuentas locales.A tenant administrator can disable email verification in the basic policies for local accounts. Incluso si la comprobación de la dirección de correo electrónico está habilitada, las direcciones no se comprueban si provienen de un proveedor de identidades de redes sociales y aún no se cambian.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.

Solo las propiedades otherMails y signInNames se exponen a través de Microsoft Graph API.Only the otherMails and signInNames properties are exposed through the Microsoft Graph API. La dirección de correo electrónico en la propiedad de detalles de autenticación sólida no está disponible.The email address in the strong authentication detail property is not available.

Pasos siguientesNext steps

Para crear los flujos de usuario recomendados, siga las instrucciones en el Tutorial: Creación de un flujo de usuario.To create the recommended user flows, follow the instructions in Tutorial: Create a user flow.