Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

168
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda