Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

159
Vistas
Firebase auth + firestore (cuál es la forma correcta de "vincular" a los usuarios)

Estoy haciendo algo con respaldo por primera vez en mi vida, así que lo siento de antemano, estoy haciendo una aplicación de chat web. Creo que logré lidiar con la autenticación (parece estar funcionando) y ahora quiero conectar de alguna manera los nombres de usuario de autenticación con los usuarios del chat... así que traté de

 const docRef = await addDoc(collection(database, 'users'), { name: user.displayName, }); console.log('Document written with ID: ', docRef.id); } catch (e) { console.error('Error adding document: ', e); }

pero dice que el usuario no está definido porque userCredentials está dentro del alcance de las funciones de autenticación... Si pego este código en alguna función donde se pueden encontrar las credenciales de usuario, dice que hay algún problema con la palabra en espera...

Quiero tomar la credencial de usuario que inició sesión y usarla en la aplicación de chat... ¿así que necesito vincular de alguna manera la base de datos de autenticación y la base de datos de firestore? o se hace completamente diferente? Gracias

¿Podría dar un pequeño consejo? gracias (editado)

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si desea usar el nombre del usuario, primero debe asegurarse de que su código solo se ejecute una vez que el usuario haya iniciado sesión. En Firebase, puede hacerlo como se muestra en la documentación sobre cómo obtener el usuario actualmente registrado:

 import { getAuth, onAuthStateChanged } from "firebase/auth"; const auth = getAuth(); onAuthStateChanged(auth, (user) => { if (user) { // 👇 your application specific code is below const docRef = await addDoc(collection(database, 'users'), { name: user.displayName, }); console.log('Document written with ID: ', docRef.id); } else { // User is signed out // ... } })

De hecho, recomendaría no usar addDoc , sino basar la ID del documento en la UID del usuario, así:

 if (user) { // 👇 get UID from user const uid = user.uid; // Use as document ID 👇 👇 👇 const docRef = await setDoc(doc(database, 'users', uid), { name: user.displayName, });

Dado que los ID de documentos son únicos dentro de una colección, esto garantiza automáticamente que cada usuario solo pueda tener un documento en la colección de users . También hace que sea más fácil encontrar el documento de un usuario cuando es necesario y hace que sea más fácil garantizar que los usuarios solo puedan editar su propio documento .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda