¿Qué es Azure Active Directory B2C?What is Azure Active Directory B2C?

Azure Active Directory B2C (Azure AD b2C) es un servicio de administración de identidad de negocio a consumidor.Azure Active Directory B2C (Azure AD B2C) is a business-to-consumer identity management service. Este servicio le permite personalizar y controlar el modo en que los usuarios interactúan de forma segura con aplicaciones web, de escritorio, móviles o de página única.This service enables you to customize and control how users securely interact with your web, desktop, mobile, or single-page applications. Con Azure AD B2C, los usuarios pueden registrarse, iniciar sesión, restablecer contraseñas y editar perfiles.Using Azure AD B2C, users can sign up, sign in, reset passwords, and edit profiles. Azure AD B2C implementa un formulario de los protocolos OpenID Connect y OAuth 2.0.Azure AD B2C implements a form of the OpenID Connect and OAuth 2.0 protocols. La clave importante en la implementación de estos protocolos son los tokens de seguridad y sus notificaciones que le permiten proporcionar acceso seguro a recursos.The important key in the implementation of these protocols is the security tokens and their claims that enable you to provide secure access to resources.

Un recorrido del usuario es una solicitud que especifica una directiva, la cual controla el comportamiento de cómo interactúan el usuario y la aplicación con Azure AD B2C.A user journey is a request that specifies a policy, which controls the behavior of how the user and your application interact with Azure AD B2C. Existen dos rutas de acceso para definir los recorridos del usuario en Azure AD B2C.Two paths are available to you for defining user journeys in Azure AD B2C.

Si es un desarrollador de aplicaciones con o sin experiencia en identidad, puede definir flujos de usuario de identidad comunes mediante Azure Portal.If you're an application developer with or without identity expertise, you might choose to define common identity user flows using the Azure portal. Si es un profesional de la identidad, un integrador de sistemas, un asesor o pertenece a un equipo de identidad local, o está familiarizado con los flujos de OpenID Connect y conoce los proveedores de identidades y la autenticación basada en notificaciones, podría elegir directivas personalizadas basadas en XML.If you are an identity professional, systems integrator, consultant, or on an in-house identity team, are comfortable with OpenID Connect flows, and understand identity providers and claims-based authentication, you might choose XML-based custom policies.

Antes de empezar a definir un recorrido del usuario, debe crear un inquilino de Azure AD B2C y registrar la aplicación y la API en él.Before you start defining a user journey, you need to create an Azure AD B2C tenant and register your application and API in the tenant. Una vez que haya completado estas tareas, puede empezar a definir un recorrido del usuario con flujos de usuario o con directivas personalizadas.After you’ve completed these tasks, you can get started defining a user journey with either user flows or custom policies. También puede, opcionalmente, agregar o cambiar proveedores de identidades o personalizar la forma en que el usuario experimenta el recorrido.You can also optionally, add or change identity providers, or customize the way the user experiences the journey.

Protocolos y tokensProtocols and tokens

Azure AD B2C admite los protocolos OpenID Connect y OAuth 2.0 para los recorridos del usuario.Azure AD B2C supports the OpenID Connect and OAuth 2.0 protocols for user journeys. En la implementación de OpenID Connect de Azure AD B2C, su aplicación inicia este recorrido del usuario mediante la emisión de solicitudes de autenticación a Azure AD B2C.In the Azure AD B2C implementation of OpenID Connect, your application starts the user journey by issuing authentication requests to Azure AD B2C.

El resultado de una solicitud a Azure AD B2C es un token de seguridad como, por ejemplo, un token de identificador o un token de acceso.The result of a request to Azure AD B2C is a security token, such as an ID token or access token. Este token de seguridad define la identidad del usuario.This security token defines the user's identity. Los tokens se reciben de los puntos de conexión de Azure AD B2C como un punto de conexión /token o /authorize.Tokens are received from Azure AD B2C endpoints, such as a /token or /authorize endpoint. A partir de estos tokens, podrá acceder a notificaciones que se pueden usar para validar una identidad y permitir el acceso a recursos seguros.From these tokens, you can access claims that can be used to validate an identity and allow access to secure resources.

Inquilinos y aplicacionesTenants and applications

En Azure AD B2C, un inquilino representa a su organización y es un directorio de usuarios.In Azure AD B2C, a tenant represents your organization and is a directory of users. Cada inquilino de Azure AD B2C es distinto e independiente del resto de inquilinos de Azure AD B2C.Each Azure AD B2C tenant is distinct and separate from other Azure AD B2C tenants. Es posible que tenga ya un inquilino de Azure Active Directory, pero el inquilino de Azure AD B2C es un inquilino diferente.You may already have an Azure Active Directory tenant, the Azure AD B2C tenant is a different tenant. Un inquilino contiene información acerca de los usuarios que se han registrado para utilizar la aplicación.A tenant contains information about the users that have signed up to use your application. Por ejemplo, contraseñas, datos de perfil y permisos.For example, passwords, profile data, and permissions. Para más información, consulte Tutorial: Creación de un inquilino de Azure Active Directory B2C.For more information, see Tutorial: Create an Azure Active Directory B2C tenant.

Antes de configurar su aplicación para usar Azure AD B2C, primero debe registrarla en el inquilino mediante Azure Portal.Before you configure your application to use Azure AD B2C, you first need to register it in the tenant using the Azure portal. El proceso de registro recopila y asigna valores a la aplicación.The registration process collects and assigns values to your application. Estos valores incluyen un identificador de aplicación que identifica de forma exclusiva a esta y una URI de redirección que se utiliza para dirigir las respuestas hacia la aplicación.These values include an application ID that uniquely identifies the application and a redirect URI that's used to direct responses back to the application.

La interacción de cada aplicación sigue un patrón de nivel alto similar:The interaction of every application follows a similar high-level pattern:

  1. La aplicación dirige al usuario para que ejecute una directiva.The application directs the user to run a policy.
  2. El usuario completa la directiva según la definición de la misma.The user completes the policy according to the policy definition.
  3. La aplicación recibe un token.The application receives a token.
  4. La aplicación utiliza el token para intentar acceder a un recurso.The application uses the token to try to access a resource.
  5. El servidor de recursos valida el token para asegurarse de que se puede conceder acceso.The resource server validates the token to verify that access can be granted.
  6. La aplicación actualiza periódicamente el token.The application periodically refreshes the token.

Para registrar una aplicación web, realice los pasos del Tutorial: Registro de aplicaciones para habilitar el registro y el inicio de sesión con Azure AD B2C.To register a web application, complete the steps in Tutorial: Register an application to enable sign-up and sign-in using Azure AD B2C. También puede agregar una aplicación de API web a su inquilino de Azure Active Directory B2C o agregar una aplicación cliente nativa a este.You can also add a web API application to your Azure Active Directory B2C tenant or add a native client application to your Azure Active Directory B2C tenant.

Recorridos de usuarioUser journeys

La directiva en un recorrido del usuario se puede definir como un flujo de usuario o como una directiva personalizada.The policy in a user journey can be defined as a user flow or a custom policy. Los flujos de usuario predefinidos para las tareas de identidad más comunes, como el registro, el inicio de sesión y la edición de perfiles, están disponibles en Azure Portal.Predefined user flows for the most common identity tasks, such as sign-up, sign-in, and profile editing, are available in the Azure portal.

Los recorridos del usuario le permiten controlar comportamientos configurando los siguientes valores:User journeys allow you to control behaviors by configuring the following settings:

  • Cuentas de redes sociales que el usuario emplea para registrarse en la aplicaciónSocial accounts that the user uses to sign up for the application
  • Datos recopilados del usuario como el nombre o el código postalData collected from the user such as first name or postal code
  • Multi-Factor AuthenticationMulti-factor authentication
  • Apariencia de las páginasLook and feel of pages
  • Información que se devuelve a la aplicaciónInformation returned to the application

Las directivas personalizadas son archivos de configuración que definen el comportamiento de Identity Experience Framework en el inquilino de Azure AD B2C.Custom policies are configuration files that define the behavior of the Identity Experience Framework in your Azure AD B2C tenant. Identity Experience Framework es la plataforma subyacente que establece la confianza de varias partes y completa los pasos de un recorrido del usuario.The Identity Experience Framework is the underlying platform that establishes multi-party trust and completes the steps in a user journey.

Las directivas personalizadas se pueden modificar para realizar muchas tareas.Custom policies can be changed to complete many tasks. Una directiva personalizada consta de uno o varios archivos con formato XML que se hacen referencia entre sí en una cadena jerárquica.A custom policy is one or several XML-formatted files that refer to each other in a hierarchical chain. Hay un paquete de inicio disponible para directivas personalizadas para que habiliten tareas comunes de identidad.A starter pack is available for custom policies to enable common identity tasks.

Se usan directivas personalizadas o flujos de usuarios de diferentes tipos en el inquilino de Azure AD B2C según sea necesario y se pueden reutilizar en las aplicaciones.Custom policies or user flows of different types are used in your Azure AD B2C tenant as needed and can be reused across applications. Esta flexibilidad le permite definir y modificar las experiencias de identidad del usuario con cambios mínimos o ningún cambio en el código.This flexibility enables you to define and modify user identity experiences with minimal or no changes to your code. Se pueden utilizar las directivas si se agrega un parámetro de consulta especial en solicitudes de autenticación de HTTP.Policies are used by adding a special query parameter to HTTP authentication requests. Para crear su propia directiva personalizada, consulte Introducción a las directivas personalizadas en Azure Active Directory B2C.To create your own custom policy, see Get started with custom policies in Azure Active Directory B2C.

Proveedores de identidadesIdentity providers

En las aplicaciones, es posible que quiera permitir que los usuarios inicien sesión con distintos proveedores de identidades.In your applications, you may want to enable users to sign in with different identity providers. Un proveedor de identidades crea, mantiene y administra la información de identidad al tiempo que proporciona servicios de autenticación a las aplicaciones.An identity provider creates, maintains, and manages identity information while providing authentication services to applications. Puede agregar proveedores de identidades compatibles con Azure AD B2C mediante Azure Portal.You can add identity providers that are supported by Azure AD B2C using the Azure portal.

Por lo general, solo se usa un proveedor de identidades en una aplicación, pero existe la opción de agregar más.You typically use only one identity provider in your application, but you have the option to add more. Para configurar un proveedor de identidades en su inquilino de Azure AD B2C, primero debe crear una aplicación en el sitio para desarrolladores del proveedor de identidades, después debe registrar el identificador de aplicación o identificador de cliente, así como la contraseña o secreto de cliente desde la aplicación del proveedor de identidades que cree.To configure an identity provider in your Azure AD B2C tenant, you first create an application on the identity provider developer site, and then you record the application identifier or client identifier and the password or client secret from the identity provider application that you create. Este identificador y la contraseña se utilizan entonces para configurar la aplicación.This identifier and password are then used to configure your application.

Los artículos siguientes describen los pasos para agregar algunos de los proveedores de identidades más habituales a los flujos de usuarios:The following articles describe the steps to add some of the common identity providers to user flows:

Los artículos siguientes describen los pasos para agregar algunos de los proveedores de identidades más habituales a directivas personalizadas:The following articles describe the steps to add some of the common identity providers to custom policies:

Para más información, consulte Tutorial: Incorporación de proveedores de identidades a las aplicaciones en Azure Active Directory B2C.For more information, see Tutorial: Add identity providers to your applications in Azure Active Directory B2C.

Personalización de una páginaPage customization

Se puede controlar la mayor parte del contenido HTML y CSS que se presenta a los clientes en un recorrido del usuario.Most of the HTML and CSS content that's presented to customers in a user journey is controllable. La característica de personalización de la página sirve para personalizar la apariencia y la experiencia de cualquier directiva personalizada o flujo de usuario.By using page customization, you can customize the look and feel of any custom policy or user flow. También puede mantener la coherencia visual y de la marca entre la aplicación y Azure AD B2C mediante esta característica de personalización.You maintain brand and visual consistency between your application and Azure AD B2C by using this customization feature.

Azure AD B2C ejecuta código en el explorador del usuario y usa un enfoque moderno denominado Uso compartido de recursos entre orígenes (CORS).Azure AD B2C runs code in the user's browser and uses a modern approach called Cross-Origin Resource Sharing (CORS). En primer lugar, especifique una dirección URL en una directiva con contenido HTML personalizado.First, you specify a URL in a policy with customized HTML content. Azure AD B2C combina elementos de la interfaz de usuario con el contenido HTML cargado desde la URL y, después, muestra la página al usuario.Azure AD B2C merges user interface elements with the HTML content that's loaded from your URL and then displays the page to the user.

Puede enviar parámetros a Azure AD B2C en una cadena de consulta.You send parameters to Azure AD B2C in a query string. Al pasar este parámetro al punto de conexión HTML, el contenido de la página se cambia de forma dinámica.By passing the parameter to your HTML endpoint, the page content is dynamically changed. Por ejemplo, puede cambiar la imagen de fondo en la página de inicio de sesión o de registro en función de un parámetro que se pasa desde la aplicación web o dispositivo móvil.For example, you change the background image on the sign-up or sign-in page based on a parameter that you pass from your web or mobile application.

Para personalizar las páginas de un flujo de usuario, consulte Tutorial: Personalización de la interfaz de experiencias de usuario en Azure Active Directory B2C.To customize pages in a user flow, see Tutorial: Customize the interface of user experiences in Azure Active Directory B2C. Para personalizar las páginas de una directiva personalizada, consulte Personalización de la interfaz de usuario de la aplicación mediante una directiva personalizada en Azure Active Directory B2C o Configuración de la interfaz de usuario con contenido dinámico usando directivas personalizadas.To customize pages in a custom policy, see Customize the user interface of your application using a custom policy in Azure Active Directory B2C or Configure the UI with dynamic content by using custom policies in Azure Active Directory B2C.

Recursos para el desarrolladorDeveloper resources

Aplicaciones clienteClient applications

Esto incluye las aplicaciones desarrolladas para iOS, Android y .NET, entre otros.You have the choice of applications for iOS, Android, and .NET, among others. Azure AD B2C permite estas acciones y, al mismo tiempo, protege las identidades de los usuarios.Azure AD B2C enables these actions while protecting your user identities at the same time.

Si es un desarrollador de aplicaciones web ASP.NET, configure la aplicación para autenticar las cuentas mediante los pasos descritos en el Tutorial: Habilitación de una aplicación web para autenticarse con cuentas mediante Azure AD B2C.If you're 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.

Si es un desarrollador de aplicaciones de escritorio, configure la aplicación para autenticar las cuentas mediante los pasos descritos en el Tutorial: Habilitación de la autenticación de una aplicación de escritorio con cuentas mediante Azure AD B2C.If you're 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.

Si es un desarrollador de aplicaciones de página única con Node.js, configure la aplicación para autenticar las cuentas mediante los pasos descritos en el Tutorial: Habilitación de la autenticación de una aplicación de una sola página con cuentas mediante Azure AD B2C.If you're 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.

API existentesAPIs

Si las aplicaciones cliente o las aplicaciones web necesitan llamar a las API, puede configurar un acceso seguro a esos recursos en Azure AD B2C.If your client or web applications need to call APIs, you can set up secure access to those resources in Azure AD B2C.

Si es un desarrollador de aplicaciones web ASP.NET, configure la aplicación para llamar a una API protegida mediante los pasos descritos en el Tutorial: Concesión de acceso a una API web de ASP.NET mediante Azure Active Directory B2C.If you're an ASP.NET web application developer, set up your application to call a protected API using the steps in Tutorial: Grant access to an ASP.NET web API using Azure Active Directory B2C.

Si es un desarrollador de aplicaciones de escritorio, configure la aplicación para llamar a una API protegida mediante los pasos descritos en el Tutorial: Concesión de acceso a una API web de Node.js desde una aplicación de escritorio mediante Azure Active Directory B2C.If you're a desktop application developer, set up your application to call a protected API using the steps in Tutorial: Grant access to a Node.js web API from a desktop app using Azure Active Directory B2C.

Si es desarrollador de aplicaciones de una sola página con Node.js, configure la aplicación para autenticar las cuentas mediante los pasos descritos en el Tutorial: Concesión de acceso a una API web de ASP.NET Core desde una aplicación de página única mediante Azure Active Directory B2C.If you are a single-page application developer using Node.js, set up your application to authenticate accounts using the steps in Tutorial: Grant access to an ASP.NET Core web API from a single-page application using Azure Active Directory B2C.

JavaScriptJavaScript

Puede agregar su propio código del lado cliente de JavaScript a las aplicaciones de Azure AD B2C.You can add your own JavaScript client-side code to your applications in Azure AD B2C. Para configurar JavaScript en la aplicación, puede definir un diseño de página y habilitar JavaScript en sus flujos de usuarios o directivas personalizadas.To set up JavaScript in your application, you define a page layout and enable JavaScript in your user flows or custom policies.

Cuentas de usuarioUser accounts

Muchas tareas comunes de administración de inquilinos necesitan realizarse mediante programación.Many common tenant management tasks need to be performed programmatically. Un ejemplo importante es la administración de usuarios.A primary example is user management. Quizá necesite migrar un almacén de usuario existente a un inquilino de Azure AD B2C.You might need to migrate an existing user store to an Azure AD B2C tenant. Puede que desee hospedar un registro de usuarios en su propia página y crear cuentas de usuario en su directorio de Azure AD B2C en segundo plano.You may want to host user registration on your own page and create user accounts in your Azure AD B2C directory behind the scenes. Estos tipos de tareas requieren la capacidad de crear, leer, actualizar y eliminar cuentas de usuario.These types of tasks require the ability to create, read, update, and delete user accounts. Puede realizar estas tareas mediante Graph API de Azure AD.You can do these tasks by using the Azure AD Graph API.

Pasos siguientesNext steps

Comience a configurar su aplicación para la experiencia de registro e inicio de sesión al continuar el tutorial.Start configuring your application for the sign-up and sign-in experience by continuing to the tutorial.