Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

145
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!