Skip to main content
El archivo de usuarios debe contener un arreglo con la información de los usuarios en formato JSON.
El límite de tamaño de archivo para una importación masiva es de 500 KB. Deberá iniciar varias importaciones si sus datos superan ese tamaño.

Esquema JSON de usuario

El siguiente esquema JSON describe los usuarios válidos:
Para obtener más información sobre esquema JSON, consulta jsonschema.org.

Propiedades

Puede importar usuarios con las siguientes propiedades: Para obtener más información sobre app_metadata y user_metadata, lea Comprender cómo funcionan los metadatos en los perfiles de usuario.

Metadatos de la aplicación

El objeto user.app_metadata no debe contener ninguna de estas propiedades:
  • __tenant
  • _id
  • blocked
  • clientID
  • created_at
  • email_verified
  • email
  • globalClientID
  • global_client_id
  • identities
  • lastIP
  • lastLogin
  • loginsCount
  • metadata
  • multifactor_last_modified
  • multifactor
  • updated_at
  • user_id

Hash de contraseña personalizado

El objeto user.custom_password_hash se puede usar en lugar de la propiedad user.password_hash cuando el hash de contraseña del usuario se creó con un algoritmo distinto. Tenga en cuenta que este campo y password_hash son mutuamente excluyentes. El objeto user.custom_password_hash tiene las siguientes propiedades:

Actualizar el hash de contraseña personalizado

Durante el proceso de importación masiva, puedes actualizar custom_password_hash si el usuario no inició sesión con el custom_password_hash importado inicialmente. Por ejemplo, puedes enviar el siguiente JSON dos veces al endpoint /api/v2/jobs/users-imports con valores diferentes para custom_password_hash. En el segundo envío, establece la marca upsert en true.
Puede usar el Bcrypt Password Generator de browserling.com para generar hashes bcrypt de contraseñas.

Algoritmos hash compatibles

Actualmente, Auth0 admite la importación de contraseñas de usuario con hash generado mediante: Tenga en cuenta las siguientes secciones al proporcionar un custom_password_hash.

Argon2

Cuando algorithm está establecido en argon2:
  • hash.encoding debe ser utf8.
  • hash.salt no está permitido.
  • hash.value debe estar en formato de cadena PHC, como se especifica en P-H-C / phc-string-format en GitHub. También debe cumplir con los requisitos especificados en Auth0 / magic en GitHub.
  • hash.value debe incluir la sal codificada en base64 (como se especifica en la documentación de PHC).

bcrypt

Cuando algorithm se establece en bcrypt:
  • hash.encoding debe ser utf8.
  • hash.salt se puede usar junto con la codificación y la posición de la sal.
  • hash.value debe incluir uno de estos prefijos:
    • $2a$
    • $2b$
    • $2y$
    Otros prefijos, como $2$, $sha1$ y $2x$, no son compatibles en este momento.
Por ejemplo, el siguiente valor se generó a partir de la cadena hello con un factor de coste de 10: $2b$10$nFguVi9LsCAcvTZFKQlRKeLVydo8ETv483lkNsSFI/Wl1Rz1Ypo1K El algoritmo bcrypt procesa un máximo de 72 bytes de entrada al calcular hashes de contraseñas o realizar comparaciones, y la longitud de salt.value cuenta para el límite de entrada de 72 bytes. Cualquier entrada que supere el límite de 72 bytes se trunca; por ejemplo, si la sal consume 10 bytes, la longitud máxima de la contraseña para el cálculo del hash o la comparación es de 62 bytes. Las contraseñas que superan ese límite reducido se truncan, lo que puede debilitar la seguridad de la contraseña o provocar colisiones de hash. Valide siempre la longitud de las contraseñas antes de generar el hash.

HMAC

Cuando algorithm está configurado como hmac:
  • hash.encoding debe ser hex o base64.
  • hash.digest es obligatorio y debe ser uno de los siguientes:
    • md4
    • md5
    • ripemd160
    • sha1
    • sha224
    • sha256
    • sha384
    • sha512
    • whirlpool
  • hash.key.value es obligatorio.
  • hash.key.encoding debe ser base64, hex o utf8.

LDAP

Cuando algorithm está establecido en ldap:
  • hash.encoding debe ser utf8.
  • salt no está permitido.
  • hash.value debe ajustarse al formato descrito en la sección 5.3 de RFC-2307 en IETF Datatracker.
  • El esquema debe ser uno de md5|smd5|sha*|ssha*; consulta aquí para obtener más información.
  • Ten en cuenta que el esquema crypt no es compatible debido a un comportamiento que depende del sistema o de la implementación. Para obtener más información, consulta Open LDAP Admin Guide - 14.4.2. CRYPT password storage scheme.

MD o SHA

Cuando algorithm está configurado como md4, md5, sha1, sha256 o sha512:
  • hash.encoding debe ser hex o base64.

PBKDF2

Cuando algorithm se establece en pbkdf2:
  • hash.encoding debe ser utf8.
  • hash.salt no está permitido.
  • hash.value debe estar en formato de cadena PHC, como se especifica en P-H-C / phc-string-format en GitHub.
  • hash.value debe incluir la sal codificada en B64 (base64 sin los caracteres de relleno =, como se especifica en la documentación de PHC).
  • hash.value debería incluir los parámetros i (iteraciones) y l (keylen). Si se omiten estos parámetros, se usarán los valores predeterminados i=100000 y l=64.
  • El id debe tener el formato pbkdf2-<digest> (pbkdf2-sha512, pbkdf2-md5, etc.). Los algoritmos de resumen compatibles son:
    • RSA-MD4
    • RSA-MD5
    • RSA-MDC2
    • RSA-RIPEMD160
    • RSA-SHA1
    • RSA-SHA1-2
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
    • md4
    • md4WithRSAEncryption
    • md5
    • md5WithRSAEncryption
    • mdc2
    • mdc2WithRSA
    • ripemd
    • ripemd160
    • ripemd160WithRSA
    • rmd160
    • sha1
    • sha1WithRSAEncryption
    • sha224
    • sha224WithRSAEncryption
    • sha256
    • sha256WithRSAEncryption
    • sha384
    • sha384WithRSAEncryption
    • sha512
    • sha512WithRSAEncryption
    • ssl3-md5
    • ssl3-sha1
    • whirlpool

scrypt

Cuando algorithm está establecido en scrypt:
  • hash.encoding debe ser hex o base64.
  • El parámetro keylen es obligatorio.
  • Se puede especificar el parámetro cost; si no se especifica, el valor predeterminado será 16384.
  • Se puede especificar el parámetro blockSize; si no se especifica, el valor predeterminado será 8.
  • Se puede especificar el parámetro parallelization; si no se especifica, el valor predeterminado será 1.

Factores de MFA

El array user.mfa_factors contiene las inscripciones de del usuario. Para obtener más información, consulte Autenticación multifactor en Auth0. Importar las inscripciones evita que los usuarios tengan que volver a inscribirse en MFA después de importarlos. Los tipos de inscripción admitidos son:

Ejemplos

Ejemplo básico

Un archivo con el contenido siguiente es válido:

Ejemplos de hashes de contraseñas personalizados

Algunos usuarios de ejemplo con los hashes proporcionados:

Ejemplos de factores de MFA

Como cabría esperar, el arreglo user.mfa_factors permite proporcionar las inscripciones del usuario en MFA. Los tipos de inscripción admitidos son:
  • Teléfono: se usa para la verificación por SMS.
  • TOTP: secreto de OTP para usar con aplicaciones de tipo MFA (Google Authenticator, Microsoft Authenticator, Authy, 1Password, LastPass).
  • Correo electrónico: se usa para la verificación por correo electrónico.
Algunos ejemplos de usuarios con factores de MFA:

Más información