Saltar al contenido principal
Puede federarse con Active Directory a través del Conector AD/LDAP si usa Classic Login. El Conector AD/LDAP permite que sus usuarios se autentiquen cuando están en un equipo unido al dominio dentro de la red corporativa.

Configurar Active Directory

  1. Vaya a Auth0 Dashboard > Authentication > Enterprise > Active Directory/LDAP y seleccione la conexión que desea configurar.
  2. Active el interruptor Use Windows Integrated Auth (Kerberos).

Rango detectado automáticamente para Kerberos

Cuando la autenticación de Kerberos está habilitada, la dirección IP visible del servidor donde se ejecuta el Conector de AD se agrega implícitamente al rango de IP de la red. Esto significa que, si las solicitudes de un usuario se originan desde la misma dirección IP visible que la del Conector de AD, se intentará la autenticación de Kerberos.
  1. Configure los Rangos de IP. Use la notación CIDR. Deben ser rangos visibles para Auth0. Cuando Auth0 se ejecuta en la nube, no podrá ver la dirección IP interna del usuario. En ese caso, debe configurar las direcciones IP públicas o WAN de su empresa.
  2. Recomendamos reiniciar el servicio de Windows que hospeda el Conector de AD cada vez que se cambie esta configuración. De este modo, los cambios surtirán efecto de inmediato.

Flujo de autenticación

Según la ubicación de los usuarios, el flujo de autenticación será diferente cuando se configuren rangos de IP. Si tomamos Fabrikam como ejemplo, dado que utiliza la versión SaaS de Auth0, configuró su dirección IP pública (24.12.34.56/32) en la conexión. Los usuarios que se conecten desde dentro del edificio procederán todos de 24.12.34.56 (tal como se configuró en la conexión). Cuando se autentiquen, los usuarios podrán seguir el flujo nativo de AD/LDAP y tener una experiencia de fluida. Para que esto funcione, la red debe permitir que los usuarios se conecten al Conector AD/LDAP en el puerto configurado en el archivo config.json. En implementaciones de alta disponibilidad del Conector, la dirección a la que se conectarán los usuarios es el balanceador de carga de red situado delante de todas las instancias de conectores.
Configurar la autenticación del Conector AD/LDAP con diagrama del flujo de Kerberos
Para obtener más información, lea Implementar conectores AD/LDAP para entornos de alta disponibilidad. Por otro lado, cuando los usuarios no están en la red corporativa (por ejemplo, en las instalaciones de un cliente o trabajando desde casa sin VPN), no podrán acceder directamente al Conector AD/LDAP. Los usuarios deberán introducir su nombre de usuario y contraseña, y Auth0 validará estas credenciales con el Conector AD/LDAP (que, a su vez, usará Active Directory para validar esas credenciales).
Configurar la autenticación del Conector AD/LDAP con diagrama del flujo de credenciales de Kerberos

Inicio de sesión automático con Lock

La detección de rangos de IP en una conexión AD/LDAP y el uso de esos rangos con Lock para permitir la autenticación integrada de Windows es una funcionalidad compatible con Lock 10, pero en Lock 11 solo puede usarse en escenarios de Universal Login. Esta funcionalidad está deshabilitada en Lock 11 cuando Lock 11 se usa en escenarios de inicio de sesión integrado.
Cuando una aplicación usa Lock 10 u 11 en la página de Login alojada por Auth0 (normalmente usada para protocolos de /WS-Federation e integraciones de inicio de sesión único (SSO)), habrá un botón que permitirá a los usuarios autenticarse mediante “Autenticación de Windows”. En algunos casos, puede ser necesario iniciar sesión automáticamente al usuario si Kerberos está disponible (en función de la dirección IP del usuario final). Los siguientes cambios se pueden agregar a la página de Login de Auth0 para iniciar sesión automáticamente al usuario si Kerberos está disponible:
<script src="https://cdn.auth0.com/js/lock/11.x.x/lock.min.js"></script>
<script src="https://cdn.auth0.com/js/auth0/9.x/auth0.min.js"></script>
<script src="https://cdn.auth0.com/js/polyfills/1.0/object-assign.min.js"></script>

<script>
  var config = JSON.parse(decodeURIComponent(escape(window.atob('@@config@@'))));

  var lock = new Auth0Lock(config.clientID, config.auth0Domain, {
      //...configuración adicional
  });

  function handleError(err) {
    // agregar el manejo de errores apropiado
    console.log(err);
  };

  var params = Object.assign({
      scope: config.internalOptions.scope,
      _csrf: config.internalOptions._csrf,
      state: config.internalOptions.state,
    },
    {
      /* configuración adicional necesaria para el uso de dominios personalizados 
      overrides: {
        __tenant: config.auth0Tenant,
        __token_issuer: '{yourCustomDomain}'
      }, */
      domain: config.auth0Domain,
      clientID: config.clientID,
      redirectUri: config.callbackURL,
      responseType: 'code'
    });

  var webAuth = new auth0.WebAuth(params);

  /*
   * Verificar si Kerberos es posible; si lo es, intentar autenticar al usuario.
   *
   * la respuesta de getSSOData solo tendrá una conexión y estrategia si
   * la dirección IP está dentro del rango de Kerberos en la configuración de la conexión
   */
  webAuth.client.getSSOData(true, function(err, data) {
    if (err) handleError(err);

    if (data.connection && data.strategy === 'ad') {
      webAuth.authorize({connection: data.connection}, function(err) {
        if (err) handleError(err);
      });
    } else {
      lock.show();
    }
  });
</script>

Omitir Kerberos en tiempo de ejecución

Puede evitar que se use Kerberos, incluso si el usuario inicia sesión desde una dirección IP dentro del rango configurado en la Conexión, pasando rememberLastLogin: false a lock.show().
function useKerberos() {
      // devuelve true para usar Kerberos, false para omitirlo
    };
    
    lock.show({rememberLastLogin: useKerberos()});

Habilitar el registro de solicitudes de Kerberos

  1. Para habilitar el registro detallado de las solicitudes de Kerberos, agregue una variable de entorno a nivel del sistema: DEBUG=kerberos-server.
  2. Reinicie el conector.
  3. Vuelva a iniciar sesión y consulte los logs para obtener más información.

Compatibilidad de Firefox con Kerberos

De forma predeterminada, Firefox rechaza todas las solicitudes de “negotiate” necesarias para autenticar usuarios con Kerberos. Si desea usar Firefox con Kerberos, debe agregar a la lista de permitidos el servidor donde está instalado el conector.
  1. Abra una pestaña de Firefox y escriba about:config en la barra de direcciones.
  2. Descarte cualquier mensaje de advertencia y, en el cuadro de búsqueda, escriba negotiate.
  3. Localice el elemento network.negotiate-auth.trusted-uris y haga doble clic para cambiar su valor.
  4. Escriba el nombre de dominio del servidor donde está instalado el conector. Si tiene varias instancias del conector detrás de un balanceador de carga, agregue el nombre DNS del balanceador. El valor admite una lista de prefijos de URL o dominios separados por comas con el formato mydomain.com, https://myotherdomain.com.
  5. Haga clic en Aceptar. No necesita reiniciar el servidor para que los cambios surtan efecto.

Compatibilidad con HTTPS para Kerberos

La autenticación de Kerberos funciona a través de HTTP (no de HTTPS). Es posible que Microsoft Office 365 y otros productos modernos no funcionen con HTTP. Para resolver esta limitación:
  1. Configure un proxy inverso y exponga el Conector AD/LDAP en un dominio HTTPS. Puede usar el parámetro SERVER_URL (URL pública) para publicar la ubicación pública en la que el Conector AD/LDAP escuchará las solicitudes entrantes.
  2. Asigne SERVER_URL en el proxy inverso a todas las instancias internas de los conectores desplegados.