¿Cómo implemento control de acceso basado en roles en firebase

Esta es mi primera incursión en Firebase y nosql, vengo de un fondo SQL.

Al usar el correo electrónico / contraseña de inicio de sesión simple, ¿cómo puedo limitar el acceso a los datos en Firebase? Por ejemplo, algunos usuarios tendrán acceso para crear un objeto comercial (usuarios, clientes, categorías, etc.), otros no. ¿Hay alguna manera de adjuntar una lista de permisos a la variable “auth”?

No hay forma de adjuntar permisos directamente a la variable de autenticación (o al menos eso no parece ser una estrategia intencionada). Recomiendo crear una colección de usuarios organizados por auth.uid y puede conservar los atributos de permisos que desee, de modo que sus reglas de seguridad se vean así (no probadas):

 { "rules": { ".read": true, "users": { ".write": "root.child('users').child(auth.uid).child('role').val() == 'admin'" } } } 

Donde role es un atributo que pertenece a todos los objetos en su colección de users .