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

347
Vistas
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 Respuestas
Responde la pregunta

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 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