tool - Cómo verificar si los usuarios poseen el objeto en el compilador de pernos de Firebase
tag manager developers (1)
Supongamos que tengo un esquema simple con dos colecciones de usuarios y publicaciones. Cada objeto de publicación tiene una clave, par de valores (ownerId: userId) para descubrir qué usuarios son propietarios del objeto de publicaciones.
users/{1,2,3...}
posts/{a,b,c...}/ownerId:userId
Intento escribir las reglas donde el usuario solo puede leer / escribir sus datos de usuario y sus publicaciones.
Para esto, las reglas del perno para el usuario son bastante sencillas:
isUser(uid) = auth != null && auth.uid == uid;
path /users/$uid {
read() = isUser($uid);
write() = isUser($uid);
}
Mi pregunta es cómo puedo asegurar la colección de publicaciones para que el usuario acceda solo a ella. ¿Puedo verificar la propiedad ownderId de la colección de publicaciones en reglas? De ser así, ¿cómo? Si no, ¿cómo puedo estructurar mi esquema para hacerlo?
EDITAR
Estoy tratando de asegurar la ruta de publicaciones como esta:
path /posts/$pid {
read() = isUser(this.ownerId);
write() = isUser(this.ownerId);
}
¿Es esta la forma correcta de hacer esto?
Podemos hacer esto agregando una propiedad Id de propietario a la colección y luego verificar si el usuario está autenticado.
path /posts/$pid {
read() = isUser(this.ownerId);
write() = isUser(this.ownerId);
}