Importar y exportar usuarios de Firebase

Clase 13 de 32Curso de Firebase 5 para Web

Resumen

La autenticación en Firebase no te ata. La data es tuya y puedes exportar e importar usuarios con Firebase Tools sin perder control. Con comandos simples defines algoritmos de hash, usas salt y eliges JSON o CSV, todo sin exponer contraseñas. Además, se propone un reto práctico de recordar contraseña para llevarlo a producción con confianza.

¿Cómo exportar e importar usuarios en Firebase con Firebase Tools?

Instala Firebase Tools como paquete de Node con npm. Suele hacerse cuando se despliega al hosting. Una vez instalado, obtienes comandos para mover tus usuarios entre Firebase y otras bases de datos.

  • Descarga el archivo de la cuenta con las credenciales desde la consola de administración.
  • Para importar, usa el comando de autenticación y señala el archivo de credenciales.
  • Declara el algoritmo de hash, la llave del hash y el separador del salt durante la importación.
  • Para exportar, ejecuta el comando equivalente de autenticación y define si quieres un archivo CSV o un JSON.
  • Aprovecha opciones de importación según necesidades de rapidez o volumen.
firebase auth:import
firebase auth:export

¿Qué formatos y datos se manejan al exportar o importar?

Puedes trabajar con JSON y también con CSV. En JSON se describe cada usuario y se incluyen campos clave. Al exportar obtienes esa estructura. Al importar, proporcionas la misma forma de datos.

  • Email del usuario.
  • Indicador de si el email fue verificado.
  • Hash del password.
  • Salt utilizado.

La contraseña nunca está en texto plano. El password se representa por la unión del hash y el salt, lo que mantiene la confidencialidad incluso fuera de Firebase.

¿Cómo protege Firebase los passwords durante la migración?

Firebase sigue buenas prácticas de almacenamiento de contraseñas. No guarda texto plano. Guarda un hash más un salt que convierte cada password en una cadena única. Al importar, defines cómo interpretar esas credenciales para que el proceso sea seguro y compatible.

  • Hash del password combinado con un salt único.
  • Algoritmo de hash especificado al importar.
  • Llave del hash y separador del salt para una lectura correcta.

Este enfoque evita exponer contraseñas y te permite mover usuarios entre sistemas manteniendo la integridad.

¿Qué reto práctico debes implementar de recordar contraseña?

Se propone añadir la funcionalidad de recordar contraseña en la aplicación web. Es una tarea directa que potencia la experiencia del usuario y aprovecha el servicio de autenticación.

  • Crea un formulario que pida el email.
  • Agrega un botón de recordar que envíe un correo con el enlace para cambiar la contraseña.
  • Personaliza la plantilla de recordación de contraseña en la consola de Firebase.
  • Así podrás usar un servicio escalable y robusto sin perder control de tus datos.

Próximamente se hablará de Firestorm, la base de datos no SQL de Firebase. ¿Qué dudas tienes o qué parte te gustaría profundizar? Comparte en los comentarios.