Saltar al contenido principal
Configura tu conexión de base de datos para migrar automáticamente tus usuarios desde un repositorio externo de usuarios a Auth0 con scripts de Action de base de datos.
Si intentas usar más de un método de migración (por ejemplo, migración automática y luego importación masiva de usuarios), es posible que se produzca un error DUPLICATED_USER. Este error indica que el usuario existe en el repositorio interno de usuarios de Auth0, pero no en tu inquilino. Para corregir este error, elimina al usuario con el endpoint Delete a Connection User de Auth0 Management API y, después, vuelve a intentar la importación.

Configurar una conexión de base de datos como personalizada

Cree una conexión de base de datos y, a continuación, configúrela como personalizada.
  1. Vaya a Auth0 Dashboard > Authentication > Database y seleccione la base de datos que desea ver.
  2. Seleccione la vista Base de datos personalizada y active Usar mi propia base de datos.
    Auth0 Dashboard Authentication Database Conexión Base de datos personalizada Configuración Usar mi propia base de datos habilitado
  3. Seleccione la vista Configuración, active Importar usuarios a Auth0 y haga clic en Guardar.

Configurar scripts de Action de base de datos

Seleccione la vista Base de datos personalizada y, a continuación, localice Scripts de Action de base de datos.
Panel de Authentication del Dashboard, pestaña Base de datos personalizada de la conexión de base de datos, Scripts de Action de base de datos

Inicio de sesión

El script Login se ejecuta cada vez que un usuario que no se encuentra en Auth0 intenta iniciar sesión. Verifica que el usuario exista en el almacén de usuarios externo sin volver a solicitarle la contraseña.

Get User

El script Get User se ejecuta en cualquiera de los siguientes casos: Si un usuario que no ha sido migrado confirma un cambio de contraseña e inicia sesión correctamente, su perfil de usuario se creará en Auth0 con la nueva contraseña. Este perfil de usuario contiene todos los datos devueltos por el script Get User. Todos los inicios de sesión posteriores de este usuario se realizarán directamente en Auth0.

Verifique que la migración de usuarios se haya completado

Verifique que todos los usuarios se hayan migrado al almacén de usuarios de Auth0 mediante o la Management API de Auth0.
  1. Vaya a Auth0 Dashboard > User Management > Users y revise la lista de usuarios.
  2. Use el endpoint List or Search Users de la Management API.

Desconectar el almacén externo de usuarios

Reconfigure los scripts de acciones de base de datos como funciones que no realizan ninguna operación. Esto evitará que Auth0 se conecte a su almacén externo de usuarios para autenticar a los usuarios.
Asegúrese de mantener activada la opción Import Users to Auth0. Si desactiva esta opción, Auth0 solo usará los scripts para autenticar y realizar otras acciones de usuario, en lugar de usar los usuarios que se importaron localmente.
  1. Vaya a Auth0 Dashboard > Authentication > Database y, a continuación, seleccione su conexión de base de datos.
  2. Cambie a la vista base de datos personalizada y luego localice scripts de Action de base de datos.
  3. Actualice el script Login.
    function login (email, password, callback) {
      return callback(null, null);
    }
    
  4. Actualice el script Get User.
    function getByEmail (email, callback) {
      return callback(null, null);
    }
    

Solucionar problemas de migración de usuarios

Si encuentra algún problema con la migración automática, lea primero Prácticas recomendadas para conexiones de base de datos personalizadas y scripts de Action.

El usuario ya existe

Los escenarios más comunes en los que puede encontrar este problema son los siguientes:
  • Elimina un usuario de su conexión de base de datos y luego intenta volver a crearlo.
  • Intenta crear un nuevo usuario en su conexión de base de datos cuando el usuario ya existe en su almacén de usuarios externo.
  • Se interrumpió el proceso de migración de un usuario.
Durante el proceso de migración de usuarios, Auth0 primero crea un perfil de usuario parcial en un almacén interno de usuarios y, después, crea un perfil de usuario completo en su conexión de base de datos. Si se produce un problema que impide crear este perfil de usuario completo, es posible que aparezca el error The user already exists. Por lo general, puede resolver este problema eliminando el usuario de la conexión de base de datos, eliminándolo del almacén interno de usuarios y volviendo a intentar el proceso de migración.
  1. Revise las instrucciones console.log() con Actions Real-time Logs.
  2. Elimine el usuario con el endpoint Delete a User de la Management API.
  3. Elimine el usuario con el endpoint Delete a Connection User de la Management API.
  4. Indique al usuario que inicie sesión o cambie su contraseña para volver a intentar la migración.

Metadatos faltantes

Si se interrumpe a un usuario durante el flujo de inicio de sesión o de cambio de contraseña que inicia el proceso de migración, es posible que Auth0 no pueda transferir sus metadatos (user_metadata o app_metadata) junto con el resto de los datos de su perfil. Puede mitigar este escenario creando una Action que verifique si al perfil del usuario le faltan metadatos, los recupere del almacén de usuarios externo y luego los guarde en Auth0.

Más información