Saltar al contenido principal
Si tiene su propia base de datos de usuarios, puede usarla como en Auth0 para autenticar usuarios. Siga el proceso para crear la conexión de base de datos personalizada, crear scripts de acción de la base de datos y agregar parámetros de configuración.
Asegúrese de que su base de datos tenga los campos adecuados para almacenar atributos del perfil de usuario, como id, nickname, email y password. Para obtener información sobre el esquema del perfil de usuario de Auth0, lea Perfiles de usuario normalizados. Para obtener más información sobre cómo actualizar perfiles de usuario, lea Actualizar perfiles de usuario con su base de datos.
Auth0 le permite crear conexiones y scripts para la mayoría de las bases de datos de uso común, incluidas:
  • ASP.NET Identity
  • MongoDB
  • MySQL
  • PostgreSQL
  • SQLServer
  • Windows Azure SQL Database
  • Servicios web a los que se accede mediante Basic Auth
Puede conectarse a cualquier tipo de base de datos o servicio web con un script personalizado configurado correctamente. Tenga en cuenta que el saneamiento de las entradas debe realizarse de su lado; Auth0 no sanea ni valida ninguna combinación de username/password que pase una base de datos personalizada. Los scripts de Custom Database están sujetos a la Política de límites de velocidad de Auth0.

Firewall de red

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

Cree la conexión en el Auth0 Dashboard

  1. Vaya a Auth0 Dashboard > Authentication > Database y seleccione Create DB Connection.
  2. Configure los ajustes de la conexión y seleccione Create:
Una vez que Auth0 cree la conexión, tendrá las siguientes vistas (además de la vista Settings):
  • Attributes
    • Authentication Methods
    • Custom Database
    • Applications
  1. Seleccione la vista Custom Database y habilite el interruptor Use my own database.
    Habilite la opción Use my own database de Custom Database

Crear scripts de acción para la base de datos

Al activar el interruptor Use my own database, se habilita el área Database Action Scripts, donde crearás scripts para configurar cómo funciona la autenticación al usar tu base de datos. Puedes escribir tus propios scripts de acción para la base de datos o seleccionar una plantilla en el menú desplegable Templates y modificarla según sea necesario. Debes configurar un script login; los scripts adicionales para funciones de usuario son opcionales. Los scripts de acción para la base de datos disponibles son: Para obtener más información sobre estos scripts, consulta Custom Database Action Script Templates y Custom Database Action Script Execution Best Practices.

Crear un script de Login

Evite colisiones de ID de usuario con múltiples bases de datos

Auth0 usará la propiedad id (o, alternativamente, user_id) del perfil de usuario devuelto para identificar al usuario.Si usa varias conexiones de base de datos personalizadas, el valor de id debe ser único en todas ellas para evitar colisiones de ID de usuario. Recomendamos anteponer al valor de id el nombre de la conexión (omitiendo los espacios en blanco). Para obtener más información sobre los ID de usuario, consulte Identificar usuarios.
En los siguientes pasos se usa un ejemplo de script de Login para una base de datos MySQL.
  1. Después de activar el interruptor Use my own database, se habilita el área Database Action Scripts. Asegúrese de estar en la pestaña Login.
  2. Use el menú desplegable Templates para seleccionar la plantilla de script para base de datos MySQL.
    El script anterior se conecta a una base de datos MySQL y ejecuta una consulta para recuperar el primer usuario con email == user.email. Luego, con el método bcrypt.compareSync, valida que las contraseñas coincidan y, si la validación se realiza correctamente, devuelve un objeto que contiene la información del perfil del usuario, incluidos id, nickname y email. Este script asume que tiene una tabla users con estas columnas. El id que devuelve el script de Login se usa para construir el atributo de ID del perfil del usuario.
  3. Seleccione Save and Try.
  4. En la ventana modal emergente, introduzca su correo electrónico y contraseña, y haga clic en Try. Se mostrará un menú desplegable para seleccionar entre una lista de runtimes disponibles, con el runtime actual en la parte superior.
    Ventana modal para probar el script de Login.
Auth0 no usa las plantillas de script hasta que seleccione Save o Try. Esto es así incluso si solo modifica un script y no ha hecho cambios en ningún otro. Debe elegir Save al menos una vez para que todos los scripts queden configurados.

Compatibilidad con bases de datos personalizadas para Organizaciones

Si usa conexiones de bases de datos personalizadas junto con Organizaciones, puede usar el parámetro context en la firma del script para poner a disposición de sus scripts de acción de base de datos personalizada detalles de la organización, como id, name y metadata. Los datos de la organización se pasan en el objeto de contexto cuando la acción asociada se produce en el contexto de una organización; por ejemplo, cuando un usuario se autentica en la pantalla de inicio de sesión de una organización, se pasa el script de acción de inicio de sesión. Para obtener más información, consulte Conexiones de bases de datos.

Habilitar el objeto de contexto

  1. Vaya a Auth0 Dashboard > Authentication > Database.
  2. Seleccione su conexión de base de datos.
  3. En la pestaña Custom Database, busque Context objects in database scripts y seleccione Enable.
    Esta función no se puede desactivar una vez habilitada.
  4. En la pantalla de confirmación, seleccione Confirm.

Usar el contexto de organización

Una vez que el objeto de contexto esté habilitado en Dashboard, puedes agregar un objeto context a tus scripts de acción de base de datos personalizados, insertado justo antes del parámetro callback. Cuando se activan eventos con contexto de organización, los datos correspondientes se ponen a disposición de tus scripts de acción de base de datos personalizados con el siguiente formato:
Se pasará siempre un contexto vacío al script delete.

Agregar parámetros de configuración

Puede almacenar parámetros, como las credenciales necesarias para conectarse a su base de datos, en la sección Settings situada debajo del editor de scripts. Estos estarán disponibles para todos sus scripts, y puede acceder a sus valores mediante el objeto configuration en los scripts de acción de base de datos (es decir, configuration.MYSQL_PASSWORD). Use los parámetros agregados en sus scripts para configurar la conexión. Por ejemplo, puede agregar lo siguiente al script de Login de MySQL:

Más información