Saltar al contenido principal
Estas personalizaciones no se aplican a Duo, que tiene su propia interfaz de usuario.
Puede personalizar las páginas de que se muestran a sus usuarios ajustando las opciones de marca de en la sección Configuración de Universal Login del . 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. 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.

Use la API de MFA

Auth0 proporciona una API de MFA para los siguientes casos de uso: 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 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.
    Dashboard Applications Applications Advanced Settings Grant Types tab
    Para obtener más información, consulte Habilitar la autenticación multifactor.
  4. Haga clic en Save Changes.

Limitaciones

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.

Personaliza la política de MFA con Actions

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.
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.
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:
ProveedorExperiencia ClassicNueva experiencia
anyPush, SMS u OTPPush, SMS, voz, OTP, correo electrónico o clave de seguridad WebAuthn (cuando esté habilitada)
guardianPush, SMS u OTPPush, SMS, OTP o correo electrónico
google-authenticatorGoogle AuthenticatorPush, SMS, OTP o correo electrónico
duoDuoDuo
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.
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.
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:
exports.onExecutePostLogin = async (event, api) => {
    // Forzar el proveedor a Duo de forma programática
    api.multifactor.enable('duo')
}

Ejemplos de casos de uso comunes

Estos son algunos escenarios habituales de MFA contextual que se pueden gestionar con Actions.
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.

Requerir MFA para aplicaciones específicas

Puede personalizar MFA para que solo se active cuando los usuarios inicien sesión en aplicaciones específicas.
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 })
	}
}

Requerir MFA para usuarios específicos

Puede personalizar MFA para que solo se active para los usuarios configurados para usar MFA.
exports.onExecutePostLogin = async (event, api) => {
  if (event.user.user_metadata && event.user.user_metadata.use_mfa) {
    api.multifactor.enable('duo', { allowRememberBrowser: false });
  }
}

Cambiar la frecuencia de las solicitudes de MFA

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:
exports.onExecutePostLogin = async (event, api) => {  
  api.multifactor.enable('any', { allowRememberBrowser: false });
}
Según el valor de la propiedad, el comportamiento es el siguiente:
ValueDescription
trueCuando 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
falseSe 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 de Auth0 .

Requerir MFA para los usuarios fuera de la red

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:
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});
  }
}

Omitir MFA en las solicitudes de token de actualización

Si sus usuarios informan cierres de sesión frecuentes, es posible que deba omitir las solicitudes de al usar MFA. Puede modificar el comportamiento predeterminado mediante una Action de filtro en la propiedad de objeto event.transaction.protocol.
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.

Más información