Saltar al contenido principal

La disponibilidad varía según el plan de Auth0

Tu plan de Auth0 o tu acuerdo personalizado determina si esta función está disponible. Para obtener más información, consulta Precios.
Si tienes tu propia base de datos (conocida en Auth0 como un almacén de datos heredado) que contiene datos de identidad de usuario, puedes usarla como para autenticar usuarios. La conexión a tu almacén de datos heredado se crea y configura como una base de datos personalizada en Auth0. Puedes optar por migrar datos desde tu base de datos heredada al almacén de datos de Auth0 de forma incremental con el tiempo, o seguir usándola sin migrar datos. Proporcionamos plantillas de scripts para realizar funciones en la base de datos personalizada que puedes usar y personalizar. Hay dos tipos distintos de scripts de base de datos personalizada:
  • Migración automática: Cada vez que un usuario inicia sesión en Auth0, si ese usuario aún no está en Auth0, el script comprobará la base de datos heredada para ver si existe allí. Si se encuentra y el indicador Importar usuarios a Auth0 está activado, los datos de usuario se migran al almacén de datos de Auth0. A esta capacidad a veces se la denomina migración gradual o migración diferida.
  • Base de datos heredada: Auth0 siempre consultará la base de datos subyacente cuando un usuario intente iniciar sesión, se cree, cambie su contraseña, verifique su correo electrónico o se elimine. Si se encuentra y el indicador Importar usuarios a Auth0 no está activado, los datos de usuario permanecen en la base de datos heredada y no se migran a Auth0.
Auth0 proporciona los siguientes scripts de Action para bases de datos personalizadas:

Firewall de red

Si estás detrás de un firewall, es posible que esta función requiera que agregues las direcciones IP adecuadas de Auth0 a la lista de permitidos para que funcione correctamente.

Ejecución de scripts

Como se describe en Custom Database Connections, un tipo de conexión de base de datos personalizada le permite configurar scripts de Action: código personalizado que se utiliza al interactuar con su sistema de identidades heredado. Cada script de Action no es más que una función de JavaScript con un nombre al que se le pasan varios parámetros; tanto el nombre de la función como los parámetros que se pasan dependen del script.

Límites

La ejecución del script de Action admite la naturaleza asíncrona de JavaScript, y se pueden usar construcciones como los objetos Promise. El procesamiento asíncrono implica, en la práctica, una suspensión hasta que se complete una operación, y un contenedor Webtask sin servidor de Auth0 suele tener un límite de ejecución de 20 segundos, tras el cual puede reciclarse. Si un contenedor se recicla debido a este límite, la operación finalizará prematuramente, lo que en última instancia hará que se devuelva un error (además de poder provocar un posible restablecimiento del objeto global).

Finalización y la función callback

La función callback proporcionada a cada script de Action actúa, en la práctica, como una señal para indicar que la operación ha finalizado. Un script de Action debe finalizar inmediatamente después de llamar a la función callback (ya sea de forma implícita o mediante la ejecución explícita de una instrucción JavaScript return) y no debe realizar ninguna otra operación.
La función callback proporcionada por Auth0 debe llamarse exactamente una vez; llamar a la función más de una vez dentro de un script de Action dará lugar a resultados impredecibles o errores.
Cuando callback se ejecuta sin parámetros, como en callback(), esto implica que la función se ha llamado como si se hubiera ejecutado callback(null).
Si un script de Action usa procesamiento asíncrono, la llamada a la función callback debe posponerse hasta que dicho procesamiento finalice y debe ser la última llamada que se realice. La ejecución asíncrona hará que un callback de JavaScript se ejecute una vez completada la operación asíncrona; este callback suele activarse en algún momento después de que finaliza el cuerpo principal (sincrónico) de una función JavaScript.
No ejecutar la función callback provocará que la ejecución se quede bloqueada y, en última instancia, que se devuelva un error. El script de Action debe llamar a la función callback exactamente una vez: la función callback debe llamarse al menos una vez para evitar que la ejecución se bloquee; sin embargo, no debe llamarse más de una vez, de lo contrario se producirán resultados impredecibles o errores.