2

Ich arbeite an einer ANDROID/FIREBASE-App, die auf 5 bis 10 Handys laufen wird. Es ist für unsere LKW-Fahrer und nur für den privaten Gebrauch. Diese Treiber hatten noch nie ein Telefon, geschweige denn eine E-Mail, also ist es nicht technisch klug, sich an ihre Zugangsdaten zu erinnern. Sie sprechen kaum Englisch.Firebase-Regeln, Android, Hardcoding schreiben Anmeldeinformationen in App, so dass es keine Anmeldung gibt

SO möchte ich eine Art von Authentifizierungsmethode in die ANDROID App hart Code, so gibt es keine echte Anmeldung, aber ich kann immer noch in die Firebase DB schreiben. Ich möchte das der Welt nicht offen lassen, deshalb möchte ich Schreibregeln haben. Ich möchte auch eine WEB-App mit lesen, schreiben. Es ist ein ungewöhnlicher Fall, aber ich kann mir andere Fälle vorstellen. Ich habe ein anderes Projekt, wo ich steuern

Ive this answer gesehen lesen wollen ... (aber seine 3 Jahre alt)

Ich dachte an wie etwas zu tun ..

Function AllowTruckDriversWrite(TDID){ 
    if one of these {td01, td02, td03} 
return true 
else return false 
} 

{ 
    "rules": { 
    ".read": true, 
    ".write": AllowTruckDriversWrite(ValFromAndroidApp) 
    } 
} 

Aber ich bin nicht sicher, wie ValFromAndroidApp vom Telefon an die Regel-Engine übergeben wird.

ich auch ein VALIDATE „.validate“ des Verwendens dachte: AllowTruckDriversWrite (ValFromAndroidApp)

ich mit diesen Regeln noch am experimentieren ... auf sie für mehr Dokumentation suchen. Hat jemand einige Vorschläge, Ideen, Gedanken, wie man REGELN für so etwas einrichtet? Vielleicht könnte jemand den Regelcode aufräumen? Vielen Dank

Antwort

2

Ich glaube, es wäre besser, wenn Sie tatsächlich einen Benutzer für sie erstellen, ihr Telefon nehmen, in der App anmelden, aber keine Abmeldeoption in der App zur Verfügung stellen. Auf diese Weise wird die App nicht abgemeldet, wenn sie die App nicht wirklich deinstalliert und Sie können jeden Treiber verfolgen. Und selbst wenn etwas mit ihrem Telefon passiert, können Sie sich einfach wieder am neuen Telefon anmelden, ohne Daten zu verlieren. Da die App ist privat die userId (uid) jedes Nutzers bis zu Ihnen und Sie diese Regeln haben:

"users":{ 
    "$uid":{ 
    ".read": true, 
    ".write": "auth.uid == $uid" 

    } 
} 

oder vielleicht:

"users":{ 
    "$uid":{ 
    ".read": true, 
    ".write": "auth.uid != null" 

    } 
} 

ich gerade dachte, das helfen könnte. Hoffe, meine Antwort war nicht sehr idiotisch. ;-)

+0

Niemals idiotisch ... Option A ist interessant. Option B ... ein bisschen weniger ... aber nicht idiotisch. Ich denke, ich brauche einen fest codierten Token, den ich vom Telefon weitergeben kann. Aber ich weiß nicht, wie diese Lösung mit dem Web funktionieren würde. Vielleicht, wenn es einen Weg gibt, einen Benutzer in das System aufzunehmen. Android- oder Web-Benutzer würden Zugriff auf das System anfordern, wir müssten ihnen den Fernzugriff gewähren. – IrishGringo

+0

ich an die DB von meinem Android App schreiben kann diese Regeln angenommen ... kann ich bestätigen, dass ich mit einer '{ „Regeln“bin angemeldet: { \t \t„.mehr“: true, \t \t ".write": true } } Aber wenn die Regeln ändern ... alle meine Schreibvorgänge fehlschlagen. Was mache ich falsch? Ich schreibe an Kinder, irgendwelche anderen Dinge, die ich falsch machen könnte? '{ "Regeln": { \t \t ".mehr ": true, \t \t" .WRITE":„auth.uid!= null " } }' – IrishGringo

Verwandte Themen