Migración de usuarios
Logto admite la migración manual de usuarios existentes desde otra plataforma. Esta guía te mostrará cómo importar usuarios existentes a través de Management API y hablará sobre las cosas que debes considerar antes de migrar.
Esquema de usuario
Antes de comenzar, echemos un vistazo al esquema de usuario en Logto. Hay 3 partes del esquema de usuario que debes tener en cuenta:
- Datos básicos: es la información básica del perfil del usuario, puedes hacer coincidir los datos de tu perfil de usuario existente.
- Datos personalizados: almacena información adicional del usuario, puedes usar esto para almacenar archivos que no se pueden hacer coincidir con los datos básicos.
- Identidades sociales: almacena la información del usuario recuperada del inicio de sesión social.
Puedes crear un mapa para hacer coincidir la información del usuario de tu perfil de usuario existente con datos básicos y datos personalizados. Para el inicio de sesión social, necesitarás pasos adicionales para importar las identidades sociales, por favor consulta la API de Vincular identidad social al usuario.
Hashing de contraseñas
Logto utiliza Argon2 para hashear la contraseña del usuario, y también admite otros algoritmos como MD5
, SHA1
, SHA256
y Bcrypt
para la conveniencia de la migración. Esos algoritmos se consideran inseguros, los hashes de contraseñas correspondientes se migrarán a Argon2 en el primer inicio de sesión exitoso del usuario.
Si necesitas soporte para algún algoritmo de hashing en particular, por favor háznoslo saber.
Pasos para migrar
-
Preparar los datos del usuario Primero debes exportar los datos del usuario de tu plataforma existente y luego mapear la información del usuario al esquema de usuario de Logto. Te recomendamos preparar los datos mapeados en formato JSON. Aquí tienes un ejemplo de los datos del usuario:
[
{
"username": "user1",
"passwordDigest": "password-encrypted",
"passwordAlgorithm": "SHA256"
},
{
"username": "user2",
"passwordDigest": "password-encrypted",
"passwordAlgorithm": "SHA256"
}
] -
Crear un tenant de Logto Necesitarás configurar un tenant en Logto. Puedes usar Logto Cloud o Logto OSS. Si aún no lo has hecho, por favor consulta la guía Configurar Logto cloud.
-
Configurar la conexión de Management API Usaremos Management API para importar los datos del usuario, puedes consultar Management API para aprender cómo configurar la conexión en tu entorno de desarrollo.
-
Importar los datos del usuario Se recomienda preparar un script para importar los datos del usuario uno por uno, llamaremos a la API de crear usuario para importar los datos del usuario. Aquí tienes un ejemplo del script:
const users = require('./users.json');
const importUsers = async () => {
for (const user of users) {
try {
await fetch('https://[tenant_id].logto.app/api/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer [your-access-token]',
},
body: JSON.stringify(user),
});
// Dormir un rato para evitar el límite de tasa
await new Promise((resolve) => setTimeout(resolve, 200));
} catch (error) {
console.error(`Error al importar el usuario ${user.username}: ${error.message}`);
}
}
};
importUsers();
Ten en cuenta que el punto de la API tiene un límite de tasa, debes agregar una pausa entre cada solicitud para evitar el límite de tasa. Por favor revisa nuestra página de límites de tasa para más detalles.
Si tienes una gran cantidad de datos de usuarios (más de 100k usuarios), puedes contactarnos para aumentar el límite de tasa.