> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Aprenda a personalizar las páginas de autenticación multifactor (MFA) que se muestran a los usuarios con las opciones de marca de Universal Login.

# Personalizar las páginas de autenticación multifactor

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Estas personalizaciones no se aplican a Duo, que tiene su propia interfaz de usuario.
</Callout>

Puede personalizar las páginas de <Tooltip tip="Autenticación multifactor (MFA): Proceso de autenticación de usuarios que utiliza un factor además del nombre de usuario y la contraseña, como un código por SMS." cta="Ver glosario" href="/es/docs/glossary?term=MFA">MFA</Tooltip> que se muestran a sus usuarios ajustando las opciones de marca de <Tooltip tip="Autenticación multifactor (MFA): Proceso de autenticación de usuarios que utiliza un factor además del nombre de usuario y la contraseña, como un código por SMS." cta="Ver glosario" href="/es/docs/glossary?term=Universal+Login">Universal Login</Tooltip> en la sección [Configuración de Universal Login](https://manage.auth0.com/#/login_settings) del <Tooltip tip="Auth0 Dashboard: Producto principal de Auth0 para configurar sus servicios." cta="Ver glosario" href="/es/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>.

Si usa la experiencia de Universal Login, puede personalizar la página mediante sus opciones de personalización del flujo.

También puede personalizar todo el contenido HTML para reflejar los requisitos específicos de experiencia de usuario de su organización. Para obtener más información, consulte [Opciones de tema de MFA Widget](/es/docs/secure/multi-factor-authentication/customize-mfa/mfa-widget-theme-options).

Con la experiencia de Universal Login, MFA se presenta al usuario de una forma aún más sencilla. Una vez que haya introducido sus credenciales para iniciar sesión, se le mostrará la pantalla de MFA. Si no tiene inscrito ningún factor de MFA, se le pedirá que se inscriba y, si ya lo tiene, se le pedirá que proporcione su credencial de MFA.

<div id="use-the-mfa-api">
  ## Use la API de MFA
</div>

Auth0 proporciona una [API de MFA](/es/docs/secure/multi-factor-authentication/multi-factor-authentication-developer-resources/mfa-api) para los siguientes casos de uso:

* [Autenticar usuarios con Resource Owner Password Grant](/es/docs/secure/multi-factor-authentication/authenticate-using-ropg-flow-with-mfa).
* Crear una interfaz para [permitir que los usuarios administren sus propios factores de autenticación](/es/docs/secure/multi-factor-authentication/manage-mfa-auth0-apis/manage-authenticator-factors-mfa-api).
* Invitar a los usuarios a inscribirse en MFA mediante [tickets de inscripción](/es/docs/secure/multi-factor-authentication/multi-factor-authentication-developer-resources/create-custom-enrollment-tickets).

Para usar la API de MFA, debe habilitar el tipo de concesión MFA para su aplicación. Para habilitar la concesión MFA en el Auth0 Dashboard:

1. Vaya a [Dashboard > Applications > Applications](https://manage.auth0.com/#/applications) y seleccione su aplicación.
2. En la parte inferior de la pestaña **Settings**, haga clic en **Advanced Settings**.
3. Haga clic en la pestaña **Grant Types** y seleccione **MFA**.

   <Frame>
     <img src="https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3knG7flXhvUi0b2yhH0JEp/007e84fe56a9828ea59e9d06e0516d34/Screen_Shot_2021-05-18_at_2.24.26_PM.png?fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=247e1a53783fe3fe71455be7a08c21a1" alt="Dashboard Applications Applications Advanced Settings Grant Types tab" width="698" height="387" data-path="docs/images/cdy7uua7fh8z/3knG7flXhvUi0b2yhH0JEp/007e84fe56a9828ea59e9d06e0516d34/Screen_Shot_2021-05-18_at_2.24.26_PM.png" />
   </Frame>

   Para obtener más información, consulte [Habilitar la autenticación multifactor](/es/docs/secure/multi-factor-authentication/enable-mfa).
4. Haga clic en **Save Changes**.

<div id="limitations">
  ### Limitaciones
</div>

La API de MFA está diseñada para funcionar con los factores SMS, notificaciones push en la aplicación Guardian, correo electrónico y OTP. No admite la inscripción mediante Duo.

<div id="customize-mfa-policy-with-actions">
  ## Personaliza la política de MFA con Actions
</div>

Puedes usar Actions para personalizar la política de MFA de tu inquilino, lo que incluye exigir MFA a usuarios de aplicaciones específicas, usuarios con metadatos de usuario concretos o rangos de IP específicos, entre otros casos.

Si no estás familiarizado con la creación de Actions, lee [Write Your First Action](/es/docs/customize/actions/write-your-first-action).

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Cualquier comportamiento relacionado con MFA definido en Actions tiene prioridad sobre la configuración de **Define policy** de la sección **Multi-Factor Auth** del Dashboard.

  Para obtener más información, consulta [Habilitar la autenticación multifactor](/es/docs/secure/multi-factor-authentication/enable-mfa).
</Callout>

Al escribir Actions, puedes usar la configuración `provider` para especificar si se debe forzar MFA y qué factor usar. El comportamiento varía según uses la experiencia Classic o la experiencia de Universal Login:

| Proveedor            | Experiencia Classic  | Nueva experiencia                                                                              |
| -------------------- | -------------------- | ---------------------------------------------------------------------------------------------- |
| any                  | Push, SMS u OTP      | Push, SMS, voz, OTP, correo electrónico o clave de seguridad WebAuthn (cuando esté habilitada) |
| guardian             | Push, SMS u OTP      | Push, SMS, OTP o correo electrónico                                                            |
| google-authenticator | Google Authenticator | Push, SMS, OTP o correo electrónico                                                            |
| duo                  | Duo                  | Duo                                                                                            |

Si usas Universal Login, puedes obtener el comportamiento de la experiencia de Classic Login si habilitas la personalización de la página de inicio de sesión de MFA.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Las opciones `guardian` y `google-authenticator` son configuraciones heredadas que se conservan por motivos de compatibilidad con versiones anteriores y no deben seguir usándose. Recomendamos usar `any` en su lugar. La opción `google-authenticator` no permite la inscripción de un código de recuperación por parte de los usuarios.
</Callout>

Configurar `provider` con una opción específica anula manualmente los controles de activación/desactivación del Dashboard. Puedes usar la siguiente Action para pedirle al usuario que se inscriba en Duo incluso si hay otros factores habilitados en el Dashboard:

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
    // Forzar el proveedor a Duo de forma programática
    api.multifactor.enable('duo')
}
```

<div id="common-use-case-examples">
  ## Ejemplos de casos de uso comunes
</div>

Estos son algunos escenarios habituales de MFA contextual que se pueden gestionar con Actions.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Para garantizar que su inquilino active MFA solo cuando usted lo requiera explícitamente en sus Actions, establezca la política de MFA predeterminada de su inquilino en **Never**.

  Para obtener más información, consulte la sección "Policies" en [Factores de la autenticación multifactor](/es/docs/secure/multi-factor-authentication/multi-factor-authentication-factors#policies).
</Callout>

<div id="require-mfa-for-specific-applications">
  ### Requerir MFA para aplicaciones específicas
</div>

Puede personalizar MFA para que solo se active cuando los usuarios inicien sesión en aplicaciones específicas.

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
	const CLIENTS_WITH_MFA = [
		'{yourClientId1}', 
		'{yourClientId2}',
		'{yourClientId3}'
	];

	if (CLIENTS_WITH_MFA.includes(event.client.client_id)) {
		api.multifactor.enable('duo', { allowRememberBrowser: false })
	}
}
```

<div id="require-mfa-for-specific-users">
  ### Requerir MFA para usuarios específicos
</div>

Puede personalizar MFA para que solo se active para los usuarios configurados para usar MFA.

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
  if (event.user.user_metadata && event.user.user_metadata.use_mfa) {
    api.multifactor.enable('duo', { allowRememberBrowser: false });
  }
}
```

<div id="change-frequency-of-mfa-prompts">
  ### Cambiar la frecuencia de las solicitudes de MFA
</div>

En algunos casos, puede que no quieras solicitar MFA al usuario cada vez que inicie sesión desde el mismo navegador. Puedes cambiar ese comportamiento mediante la propiedad `allowRememberBrowser`:

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {  
  api.multifactor.enable('any', { allowRememberBrowser: false });
}
```

Según el valor de la propiedad, el comportamiento es el siguiente:

| Value   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `true`  | Cuando `provider` se establece en `google-authenticator` o `duo`, se solicita MFA al usuario una vez cada 30 días. Cuando `provider` se establece en `guardian`, la pantalla de MFA muestra la casilla de inscripción para que los usuarios elijan si desean inscribirse o no. El valor predeterminado es `false`. Para obtener más información, consulte [Personalizar las páginas de autenticación multifactor ](/es/docs/secure/multi-factor-authentication/customize-mfa) |
| `false` | Se solicita MFA al usuario cada vez que se autentica.                                                                                                                                                                                                                                                                                                                                                                                                                         |

Los valores de tiempo corresponden a usuarios activos. Si un usuario permanece inactivo durante siete días o más, su cookie caducará y se le solicitará MFA en su siguiente intento de inicio de sesión (independientemente de si `allowRememberBrowser` está establecido en `true` y de que no hayan pasado 30 días desde la última vez que se le solicitó MFA).

Cuando permite que el usuario omita MFA, se almacena una cookie en el navegador del usuario. Si el usuario tiene esa cookie, pero aun así desea exigir MFA, tiene dos opciones:

* Establecer `allowRememberBrowser` en `false`
* Establecer `acr_values` en `http://schemas.openid.net/pape/policies/2007/06/multi-factor` al llamar al endpoint `/authorize`.

En situaciones en las que un usuario pierde un dispositivo de confianza, puede solicitar MFA a ese usuario durante su próximo inicio de sesión llamando al endpoint [Invalidate Remember Browser](https://auth0.com/docs/api/management/v2#!/Users/post_invalidate_remember_browser) de Auth0 <Tooltip tip="Management API: Un producto que permite a los clientes realizar tareas administrativas." cta="Ver glosario" href="/es/docs/glossary?term=Management+API">Management API</Tooltip>.

<div id="require-mfa-for-users-outside-of-the-network">
  ### Requerir MFA para los usuarios fuera de la red
</div>

Suponiendo que el acceso al conjunto especificado de direcciones IP internas esté bien controlado, también puede hacer que Auth0 solicite MFA solo a los usuarios cuyas solicitudes provengan de fuera de la red corporativa:

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
  const ipaddr = require('ipaddr.js@1.9.0');
  const corp_network = '192.168.1.134/26';
  const current_ip = ipaddr.parse(event.request.ip);

  if (!current_ip.match(ipaddr.parseCIDR(corp_network))) {
    api.multifactor.enable('any', {allowRememberBrowser: false});
  }
}
```

<div id="bypass-mfa-for-refresh-token-requests">
  ### Omitir MFA en las solicitudes de token de actualización
</div>

Si sus usuarios informan cierres de sesión frecuentes, es posible que deba omitir las solicitudes de <Tooltip tip="Token de actualización: token utilizado para obtener un nuevo Token de acceso sin obligar a los usuarios a iniciar sesión de nuevo." cta="Ver glosario" href="/es/docs/glossary?term=refresh+token">token de actualización</Tooltip> al usar MFA. Puede modificar el comportamiento predeterminado mediante una Action de filtro en la propiedad de objeto `event.transaction.protocol`.

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
  if (event.transaction.protocol !== 'oauth2-refresh-token') {
    // Comandos relacionados con MFA aquí
    api.multifactor.enable('any');
  }
};
```

Para obtener más información sobre el objeto `event` de una Action, lee [Activadores de Actions: post-login - objeto Event](/es/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger/post-login-event-object).

<div id="learn-more">
  ## Más información
</div>

* [Personalizar MFA para Classic Login](/es/docs/secure/multi-factor-authentication/customize-mfa/customize-mfa-classic-login)
* [Autenticar con MFA mediante el flujo de contraseña del propietario del recurso](/es/docs/secure/multi-factor-authentication/authenticate-using-ropg-flow-with-mfa)
* [API de MFA de Auth0](/es/docs/secure/multi-factor-authentication/multi-factor-authentication-developer-resources/mfa-api)
* [Administrar factores de autenticación con Authentication API](/es/docs/secure/multi-factor-authentication/manage-mfa-auth0-apis/manage-authenticator-factors-mfa-api)
* [Opciones de tema de MFA Widget](/es/docs/secure/multi-factor-authentication/customize-mfa/mfa-widget-theme-options)
* [Diccionario de idioma del tema de MFA](/es/docs/secure/multi-factor-authentication/customize-mfa/mfa-theme-language-dictionary)
