Ich habe einen Client, der eine Liste eingeschränkter E-Mails erstellen möchte, die auf die Daten zugreifen können. Jeder, der zur App kommt, kann also überhaupt keine Daten lesen/schreiben (idealerweise kann man sich nicht einmal anmelden, aber das ist mit Firebase nicht möglich?). Irgendwelche Ideen, wie man das macht? Ich hatte daran gedacht, eine Reihe von akzeptierten E-Mails zu verwenden und zu überprüfen, ob ihre E-Mails in den Sicherheitsregeln enthalten waren, aber das schien nicht zu funktionieren. Ich hatte die folgende in der Datenbank:Firebase-Benutzer per E-Mail einschränken
"validEmails": ["[email protected]"]
und dann in den Sicherheitsregeln:
".read": "root.child('validEmails').val().indexOf(auth.token.email) > -1"
Aber es sieht aus wie Sie nicht indexOf
in diesen Sicherheitsregeln verwenden können.
Vielleicht muss ich eine Liste von akzeptablen E-Mails haben, und wenn ein Benutzer sich anmeldet, prüft er, ob sie in dieser Liste sind und fügt ihre UID zu einer akzeptierten Liste hinzu? Ich denke, ich könnte das durch eine Cloud-Funktion oder etwas tun?
Jede Hilfe würde sehr geschätzt werden.
Prost
"aber das schien nicht zu funktionieren" Es klingt, als hätten Sie etwas versucht, das hätte funktionieren sollen. Bearbeiten Sie Ihre Frage so, dass sie den [minimalen Code, der das reproduziert, was Sie versucht haben] (http://stackoverflow.com/help/mcve) enthält. Siehe auch diese Antwort für eine allgemeinere "Datenbank nach Domäne sperren" https://stackoverflow.com/questions/36943350/how-do-i-lock-down-firebase-database-to-any-user-from-a -specific-email-domain –
Entschuldigung Frank, ich habe die Frage aktualisiert, um den Code wiederzugeben, den ich ausprobiert habe, der nicht funktioniert hat. –