Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
A partir del 1 de mayo de 2025, Azure AD B2C ya no estará disponible para la compra por parte de nuevos clientes. Obtenga más información en nuestras preguntas más frecuentes.
En este artículo se explica cómo agregar la funcionalidad de autenticación de Azure Active Directory B2C (Azure AD B2C) a una aplicación web de Azure. Para obtener más información, consulte el artículo Configurar la aplicación de App Service o Azure Functions para iniciar sesión mediante un proveedor de OpenID Connect .
Información general
OpenID Connect (OIDC) es un protocolo de autenticación que se basa en OAuth 2.0. Use OIDC para iniciar sesión de forma segura a los usuarios en una aplicación web de Azure. El flujo de inicio de sesión consta de los pasos siguientes:
- Los usuarios van a la aplicación web de Azure y seleccionan Iniciar sesión.
- Azure Web App inicia una solicitud de autenticación y redirige a los usuarios a Azure AD B2C.
- Los usuarios se registran o inician sesión y restablecen la contraseña. También pueden iniciar sesión con una cuenta de red social.
- Después de que los usuarios inicien sesión correctamente, Azure AD B2C devuelve un token de identificador a la aplicación web de Azure.
- Azure Web App valida el token de identificador, lee las notificaciones y devuelve una página segura a los usuarios.
Cuando el token de identificador expira o se invalida la sesión de la aplicación, Azure Web App inicia una nueva solicitud de autenticación y redirige a los usuarios a Azure AD B2C. Si la sesión de SSO de Azure AD B2C está activa, Azure AD B2C emite un token de acceso sin pedir a los usuarios que vuelvan a iniciar sesión. Si la sesión de Azure AD B2C expira o deja de ser válida, se pedirá a los usuarios que vuelvan a iniciar sesión.
Prerrequisitos
- Si aún no ha creado una aplicación, siga las instrucciones sobre cómo crear una aplicación web de Azure.
Paso 1: Configuración del flujo de usuario
Cuando los usuarios intentan iniciar sesión en la aplicación, esta inicia una solicitud de autenticación para el punto de conexión de autorización mediante un flujo de usuario. El flujo de usuario define y controla la experiencia del usuario. Al completar los usuarios el flujo de usuario, Azure AD B2C genera un token y, después, redirige a los usuarios de vuelta a la aplicación.
Si aún no lo ha hecho, cree un flujo de usuario o una directiva personalizada. Repita los pasos para crear tres flujos de usuario independientes de la manera siguiente:
- Un flujo de usuario combinado de inicio de sesión y registro, como
susi
. Este flujo de usuario también admite la experiencia ¿Olvidó su contraseña?. - Un flujo de usuario de edición de perfiles, como
edit_profile
. - Un flujo de usuario de restablecimiento de contraseña, como
reset_password
.
Azure AD B2C antepone el prefijo B2C_1_
al nombre del flujo de usuario. Por ejemplo, susi
se convierte en B2C_1_susi
.
Paso 2: Registro de una aplicación web
Para permitir que la aplicación inicie sesión con Azure AD B2C, registre la aplicación en el directorio de Azure AD B2C. El registro de la aplicación establece una relación de confianza entre la aplicación y Azure AD B2C.
Durante el registro de la aplicación, especificará el URI de redirección. El URI de redirección es el punto de conexión al que Azure AD B2C redirige a los usuarios después de que estos se autentican con Azure AD B2C. El proceso de registro de la aplicación genera un identificador de aplicación, también conocido como identificador de cliente, que permite identificar de forma exclusiva la aplicación. Una vez registrada la aplicación, Azure AD B2C usará el identificador de aplicación y el identificador URI de redirección para crear solicitudes de autenticación. También se crea un secreto de cliente, que la aplicación usa para adquirir de forma segura los tokens.
Paso 2.1: Registro de la aplicación
Para registrar la aplicación, siga estos pasos:
Inicie sesión en Azure Portal.
Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar a su inquilino de Azure AD B2C desde el menú Directorios y suscripciones.
En Azure Portal, busque y seleccione Azure AD B2C.
Seleccione Registros de aplicaciones y luego Nuevo registro.
En Nombre, escriba un nombre para la aplicación (por ejemplo, Mi aplicación web de Azure).
En Tipos de cuenta compatibles, seleccione Cuentas en cualquier proveedor de identidades o directorio de la organización (para autenticar usuarios con flujos de usuario).
En URI de redirección, seleccione Web y luego, en el cuadro Dirección URL, escriba
https://<YOUR_SITE>/.auth/login/aadb2c/callback
. Reemplace el<YOUR_SITE>
con el nombre de su aplicación web de Azure. Por ejemplo:https://contoso.azurewebsites.net/.auth/login/aadb2c/callback
. Si configuraste los dominios personalizados de una aplicación web de Azure, usa el dominio personalizado como el URI de redirección. Por ejemplo:https://www.contoso.com/.auth/login/aadb2c/callback
En Permisos, active la casilla Conceder consentimiento de administrador para openid y permisos de acceso sin conexión.
Seleccione Registrar.
Seleccione Información general.
Anote el Id. de aplicación (cliente) para usarlo más adelante al configurar la aplicación web.
Paso 2.2 Creación de un secreto de cliente
- En la página Azure AD B2C - Registros de aplicaciones, seleccione la aplicación que creó, por ejemplo , Mi aplicación web de Azure.
- En el menú de la izquierda, en Administrar, seleccione Certificados y secretos.
- Seleccione Nuevo secreto de cliente.
- Escriba una descripción para el secreto de cliente en el cuadro Descripción. Por ejemplo, clientsecret1.
- En Expira, seleccione el tiempo durante el cual el secreto es válido y, a continuación, seleccione Agregar.
- Registre el valor del secreto para usarlo en el código de la aplicación cliente. Este valor secreto no se volverá a mostrar una vez que abandone esta página. Use este valor como secreto de aplicación en el código de la aplicación.
Paso 3: Configurar la aplicación de Azure
Inicie sesión en Azure Portal.
Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar a su inquilino de Microsoft Entra ID desde el menú Directorios y suscripciones.
Vaya a la aplicación web de Azure.
Seleccione Autenticación en el menú de la izquierda. Seleccione Agregar proveedor de identidades.
Seleccione OpenID Connect en el menú desplegable del proveedor de identidades.
En OpenID, nombre del proveedor, escriba
aadb2c
.En Entrada de metadatos, seleccione URL del documento. A continuación, para la URL del documento , proporcione la siguiente URL:
https://<TENANT_NAME>.b2clogin.com/<TENANT_NAME>.onmicrosoft.com/<POLICY_NAME>/v2.0/.well-known/openid-configuration
Reemplace
<TENANT_NAME>
por la primera parte del nombre del inquilino de Azure AD B2C (por ejemplo,https://contoso.b2clogin.com/contoso.onmicrosoft.com
). Si tiene configurados dominios personalizados , puede usar ese dominio personalizado. Reemplace el nombre de inquilino B2C, contoso.onmicrosoft.com, en la dirección URL de la solicitud de autenticación por el GUID del identificador de inquilino. Por ejemplo, puede cambiarhttps://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/
ahttps://account.contosobank.co.uk/<tenant ID GUID>/
.Reemplace el
<POLICY_NAME>
por los flujos de usuario o la política personalizada que creó en el paso 1.
Para el ID de cliente , proporcione el ID de la aplicación web (cliente) del paso 2.1.
Para el secreto de cliente , proporcione el secreto de la aplicación web (cliente) del paso 2.2.
Sugerencia
El secreto de cliente se almacenará como una configuración de aplicación para confirmar que los secretos se almacenan de forma segura. Puede actualizar esa configuración más adelante para usar referencias de Key Vault si desea administrar el secreto en Azure Key Vault.
Mantenga el resto de la configuración con los valores predeterminados.
Presione el botón Agregar para terminar de configurar el proveedor de identidades.
Paso 4: Comprobación de la aplicación web de Azure
- En el explorador, vaya a la aplicación web de Azure mediante
https://<app-name>.azurewebsites.net
. Reemplace<app-name>
por la aplicación web de Azure. - Complete el proceso de registro o de inicio de sesión.
- En el navegador, navegue por la siguiente URL
https://<app-name>.azurewebsites.net/.auth/me
para ver la información sobre el usuario que ha iniciado sesión. Reemplace<app-name>
por la aplicación web de Azure.
Recuperación de los tokens en el código de aplicación
Desde el código de servidor, los tokens específicos del proveedor se inyectan en el encabezado de solicitud, por lo que puede acceder a ellos fácilmente. En la siguiente tabla se muestran los posibles nombres de encabezado de token:
Nombre del encabezado | Descripción |
---|---|
X-MS-CLIENT:PRINCIPAL-NAME | El nombre para mostrar del usuario. |
X-MS-CLIENT:PRINCIPAL-ID | Notificación sub del token de identificador. |
X-MS-CLIENT:PRINCIPAL-IDP | Nombre del proveedor de identidades, aadb2c . |
X-MS-TOKEN-AADB2C:ID-TOKEN | El token de identificador emitido por Azure AD B2C |
Pasos siguientes
- Después de una autenticación correcta, puede ver el nombre para mostrar en la barra de navegación. Para ver las notificaciones que el token de Azure AD B2C devuelve a la aplicación, consulte Uso de identidades de usuario en la autenticación de Azure App Service.
- Aprenda a trabajar con tokens de OAuth en la autenticación de Azure App Service.