Restrinja a los usuarios de Firebase por correo electrónico

Tengo un cliente que quisiera poder hacer una lista de correos electrónicos restringidos que pueden acceder a los datos. Entonces, cualquier otra persona que venga a la aplicación no puede leer / escribir ningún dato (lo ideal es que ni siquiera pueda iniciar sesión, pero ¿no creo que sea posible con Firebase?). ¿Alguna idea sobre cómo hacer esto? Había pensado en tener una variedad de correos electrónicos aceptados y verificar si su correo electrónico existía en las reglas de seguridad, pero eso no parecía funcionar. Tenía lo siguiente en la base de datos:

"validEmails": ["[email protected]"]

y luego en las reglas de seguridad:

".read": "root.child('validEmails').val().indexOf(auth.token.email) > -1"

Pero parece que no puedes usarindexOf en esas reglas de seguridad.

¿Quizás necesito tener una lista de correos electrónicos aceptables y luego, cuando un usuario se registra, verifica si están en esa lista y agrega su UID a una lista aceptada? ¿Supongo que podría hacer esto a través de una función en la nube o algo así?

Cualquier ayuda sería muy apreciada.

Salud

Respuestas a la pregunta(3)

Su respuesta a la pregunta