2016-05-25 4 views
3

Ich möchte von einem node.js-Server Schreibvorgänge in meine Firebase-Daten schreiben, aber alle Schreibvorgänge auf einem anderen Client ablehnen. Jedem anderen Client sollte nur Lesezugriff gewährt werden. Was ist der beste Ansatz dafür? Müsste ich mich von node.js Server mit einem speziellen Admin-Konto authentifizieren und eine Sicherheitsregel für dieses spezielle Konto einrichten oder gibt es eine bessere Möglichkeit, dies zu erreichen? Vielen Dank!Nur Schreiben von Dienstkonto in Firebase zulassen?

+9

Verwenden Sie '" .write ":" auth.uid === "'. Weitere Informationen finden Sie unter [Serverhandbuch] (https://firebase.google.com/docs/database/server/start) und [Dienstkonten] (https://developers.google.com/identity/protocols/OAuth2ServiceAccount). – Kato

Antwort

-4

Ich fand dieses Video sehr hilfreich zum Erstellen eines Dienstkontos für die Verwendung mit node.js und Firebase.

https://vimeo.com/166806793

+0

Video ist nicht mehr verfügbar –

0

Nur firebase-admin mit einem Service-Konto auf dem Server verwenden. Es wird Administrative Privileges standardmäßig haben.

Und für Ihre Regeln, alles, was Sie benötigen, ist dieses:

{ 
    "rules": { 
    ".read": true, 
    } 
} 

oder diese Option, wenn Sie nur für angemeldete Benutzer wollen

{ 
    "rules": { 
    ".read": "auth !== null", 
    } 
} 
1

In Ihrem Knoten-Server verwenden, um die Admin SDK anmelden zu lesen mit Dienstkonto

und verwenden Sie in der Datenbankregeln Folgendes:

{ 
    "rules": { 
    ".write": "false" 
    ".read": "true", 
    } 
}