Ich arbeite an einer Android-App, die von einer Firebase database liest. App-Benutzer melden sich nicht an oder ändern die Datenbank nicht. Alle App-Nutzer werden dieselben Daten betrachten. Ich verwende Firebase für seine Echtzeit-Update-Funktionen.FireBase-Datenbankzugriff auf eine Android-App beschränken
Im Idealfall möchte ich den Zugriff auf die Datenbank einschränken, so dass nur meine App die Daten lesen kann.
Ich kenne ein paar Dinge, die ich tun könnte:
1. Schreiben Sie Sicherheitsregeln, die jeder lesen können, das heißt
{
"rules": {
".read": true,
".write": false
}
}
Con: Wer lesen kann :(
2. Schreiben Sie die Sicherheitsregeln allow authenticated users to read, und geben Sie dann den Benutzernamen und das Passwort fest in die App ein:
{
"rules": {
"$user_id":{
".read": "auth.uid === $user_id",
".write": false
}
}
}
Con: Hard Codierung eines Benutzernamens und Passwort in einer App scheint sehr falsch. Außerdem wird die Datenbank nicht gesperrt, da jeder die App dekompilieren, die google-services.json
und den fest codierten Benutzernamen/das Passwort abrufen und eine eigene App schreiben kann, die meinen Paketnamen teilt.
Googling hat this offenbart, die zum Schreiben spezifisch ist, und this, die "nein" sagt, aber ein paar Jahre alt ist.
Was ist der korrekte Ansatz, der den Zugriff auf die Datenbank einschränkt? Komme ich aus der falschen Richtung?
Die Antwort, die du verlinkt hast, ist immer noch richtig: es gibt keine Möglichkeit zu limitieren t Zugriff auf Ihre Firebase-Datenbank nur auf Ihre App. –
Okay, danke @FrankvanPuffelen. – Michiyo
Was ist Ihre endgültige Wahl? – androfan