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
Propiedades
| Propiedad | Tipo | Descripción | ¿Upsert durante la importación? |
|---|---|---|---|
app_metadata | object | Datos que pueden afectar la funcionalidad principal de la aplicación o aquello a lo que el usuario puede acceder. Los datos almacenados en app_metadata no pueden ser editados por los usuarios. Esto puede incluir elementos como planes de soporte, roles o grupos de acceso. | Sí |
blocked | boolean | Indica si el usuario ha sido bloqueado. | No |
email | string | La dirección de correo electrónico del usuario. | No |
email_verified | boolean | Indica si el usuario ha verificado su dirección de correo electrónico. Se establece en false de forma predeterminada si email se actualiza mediante upsert, pero no email_verified. | Sí |
family_name | string | El apellido del usuario. | Sí |
given_name | string | El nombre de pila del usuario. | Sí |
name | string | El nombre completo del usuario. | Sí |
nickname | string | El apodo del usuario. | Sí |
picture | string | URL que apunta a la foto de perfil del usuario. | Sí |
user_id | string | El identificador único del usuario. La estrategia de la conexión se antepondrá a este valor. | No |
user_metadata | object | Datos que no afectan a aquello a lo que los usuarios pueden o no acceder, como la dirección del trabajo, la dirección del hogar o las preferencias del usuario. | Sí |
username | string | El username del usuario. | No |
password_hash | string | Hash de contraseña para la conexión del usuario. Cuando se crean usuarios, Auth0 usa bcrypt para proteger la contraseña. Importar contraseñas con hash permite que los usuarios conserven sus contraseñas para disfrutar de una experiencia más fluida. Las contraseñas compatibles deben tener hash con bcrypt o y 10 saltRounds. Esta propiedad solo se puede proporcionar cuando el usuario se importa por primera vez y no se puede actualizar después. | No |
custom_password_hash | object | Una forma más genérica de proporcionar el hash de contraseña del usuario. Puede usarse en lugar del campo password_hash cuando el hash de contraseña del usuario se creó con un algoritmo alternativo. Durante el proceso de importación masiva, puede actualizar custom_password_hash si el usuario no inició sesión con el custom_password_hash importado inicialmente. | Sí |
mfa_factors | array | Los factores de MFA que pueden usarse para autenticar a este usuario | No |
app_metadata y user_metadata, lea Comprender cómo funcionan los metadatos en los perfiles de usuario.
Metadatos de la aplicación
user.app_metadata no debe contener ninguna de estas propiedades:
__tenant_idblockedclientIDcreated_atemail_verifiedemailglobalClientIDglobal_client_ididentitieslastIPlastLoginloginsCountmetadatamultifactor_last_modifiedmultifactorupdated_atuser_id
Hash de contraseña personalizado
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:
| Propiedad | Tipo | Descripción |
|---|---|---|
algorithm | string | El algoritmo utilizado para generar el hash de la contraseña. Debe ser uno de los siguientes:
|
hash | object | |
hash.value | string | El hash de la contraseña. |
hash.encoding | string | La codificación del hash proporcionado. Debe ser una de las siguientes:
|
hash.digest | string | El algoritmo utilizado para generar el hash HMAC. Debe ser uno de los siguientes:
|
hash.key | object | La clave utilizada para generar el hash HMAC. |
hash.key.value | string | El valor de la clave. |
hash.key.encoding | string | La codificación de la clave. Debe ser una de las siguientes:
hash.key.encoding es utf8. |
salt | object | |
salt.value | string | El valor de la sal utilizada para generar el hash. |
salt.encoding | string | La codificación de la sal proporcionada. Debe ser una de las siguientes:
salt.encoding es utf8. |
salt.position | string | La posición de la sal cuando se calculó el hash. De forma predeterminada, salt.position es prefix. |
password.encoding | string | La codificación de la contraseña utilizada para generar el hash. Debe ser una de las siguientes:
password.encoding antes de comprobarse con el hash proporcionado. Por ejemplo, si su hash se generó a partir de una cadena codificada en ucs2, debe establecer lo siguiente: "encoding": "ucs2" |
keylen | integer | Longitud de clave deseada en bytes para el hash scrypt. Debe ser un entero mayor que cero. Este parámetro es obligatorio cuando algorithm se establece en scrypt. |
cost | integer | Parámetro de costo de CPU/memoria utilizado para el hash scrypt. Debe ser una potencia de dos mayor que uno. De forma predeterminada, cost es 16384.Este parámetro solo se usa cuando algorithm se establece en scrypt. |
blockSize | integer | Parámetro de tamaño de bloque utilizado para el hash scrypt. Debe ser un entero positivo. De forma predeterminada, blockSize es 8.Este parámetro solo se usa cuando algorithm se establece en scrypt. |
parallelization | integer | Parámetro de paralelización utilizado para el hash scrypt. Debe ser un entero positivo. De forma predeterminada, parallelization es 1.Este parámetro solo se usa cuando algorithm se establece en scrypt. |
Actualizar el hash de contraseña personalizado
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.
Algoritmos hash compatibles
custom_password_hash.
Argon2
algorithm está establecido en argon2:
hash.encodingdebe serutf8.hash.saltno está permitido.hash.valuedebe 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.valuedebe incluir la sal codificada en base64 (como se especifica en la documentación dePHC).
bcrypt
algorithm se establece en bcrypt:
-
hash.encodingdebe serutf8. -
hash.saltse puede usar junto con la codificación y la posición de la sal. -
hash.valuedebe incluir uno de estos prefijos:$2a$$2b$$2y$
$2$,$sha1$y$2x$, no son compatibles en este momento.
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
algorithm está configurado como hmac:
-
hash.encodingdebe serhexobase64. -
hash.digestes obligatorio y debe ser uno de los siguientes:md4md5ripemd160sha1sha224sha256sha384sha512whirlpool
-
hash.key.valuees obligatorio. -
hash.key.encodingdebe serbase64,hexoutf8.
LDAP
algorithm está establecido en ldap:
hash.encodingdebe serutf8.saltno está permitido.hash.valuedebe 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
algorithm está configurado como md4, md5, sha1, sha256 o sha512:
hash.encodingdebe serhexobase64.
PBKDF2
algorithm se establece en pbkdf2:
-
hash.encodingdebe serutf8. -
hash.saltno está permitido. -
hash.valuedebe estar en formato de cadena PHC, como se especifica en P-H-C / phc-string-format en GitHub. -
hash.valuedebe incluir la sal codificada en B64 (base64 sin los caracteres de relleno=, como se especifica en la documentación dePHC). -
hash.valuedebería incluir los parámetrosi(iteraciones) yl(keylen). Si se omiten estos parámetros, se usarán los valores predeterminadosi=100000yl=64. -
El
iddebe tener el formatopbkdf2-<digest>(pbkdf2-sha512,pbkdf2-md5, etc.). Los algoritmos de resumen compatibles son:RSA-MD4RSA-MD5RSA-MDC2RSA-RIPEMD160RSA-SHA1RSA-SHA1-2RSA-SHA224RSA-SHA256RSA-SHA384RSA-SHA512md4md4WithRSAEncryptionmd5md5WithRSAEncryptionmdc2mdc2WithRSAripemdripemd160ripemd160WithRSArmd160sha1sha1WithRSAEncryptionsha224sha224WithRSAEncryptionsha256sha256WithRSAEncryptionsha384sha384WithRSAEncryptionsha512sha512WithRSAEncryptionssl3-md5ssl3-sha1whirlpool
scrypt
algorithm está establecido en scrypt:
hash.encodingdebe serhexobase64.- El parámetro
keylenes 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
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:
| Propiedad | Tipo | Descripción |
|---|---|---|
email | object | |
email.value | string | La dirección de correo electrónico para MFA. |
phone | object | |
phone.value | string | El número de teléfono para MFA por SMS. Debe incluir un código de país y comenzar con +, por ejemplo: "+12125550001" |
totp | object | |
totp.secret | string | El secreto de OTP para la autenticación MFA con aplicaciones de autenticación (Google Authenticator, Microsoft Authenticator, Authy, 1Password, LastPass). Debe estar en codificación Base32 sin relleno, por ejemplo: "JBTWY3DPEHPK3PNP" |
Ejemplos
Ejemplo básico
Ejemplos de hashes de contraseñas personalizados
Ejemplos de factores de MFA
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.