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

350
Visualizações
Base de datos en tiempo real de firebase, ¿cómo leer solo datos propios?

Tengo una base de datos en tiempo real en mi aplicación web nextjs y la uso para notificaciones.

El esquema de mi db es el siguiente:

ingrese la descripción de la imagen aquí

Escribo datos solo desde el lado del servidor como administrador, pero los leo desde el lado del cliente de la siguiente manera:

 const fetchNotifications = () => { const starCountRef = ref(db, `notifications/${user?.id}`); const q = query(starCountRef, orderByChild('createdAt'), limitToLast(100)); onValue(q, (snapshot) => { //Handle data }); };

En este momento tengo las siguientes reglas:

 { "rules": { ".read": "auth != null", ".write": false, "notifications":{ "$user_id":{".indexOn":"createdAt"} } } }

Como puede ver, todos los que están autenticados pueden leer todo. Quiero que el usuario lea solo sus propias notificaciones. El ObjectID es una referencia de mi mongoDB.

Por ejemplo, si tengo ID = 1 , quiero acceder a los datos solo para la ruta /notifications/1 y si trato de obtener datos de /notifications/2 , no obtengo nada (o error).

En primer lugar, ¿cómo puedo ver desde firebase la identificación que uso en mi base de datos local? ¿Tengo que avisarle primero? Segundo, ¿cómo puedo escribirlo en mis reglas?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si las claves directamente debajo de notifications son los UID de autenticación de Firebase (como sugieren sus reglas), puede limitar el acceso solo al nodo del usuario con:

 { "rules": { //".read": "auth != null", // 👈 Remove this line ".write": false, "notifications":{ "$user_id":{ ".read": "auth.uid === $user_id", // 👈 add this line ".indexOn":"createdAt" } } } }

Consulte también la documentación de Firebase sobre cómo asegurar el acceso exclusivo del propietario del contenido .

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