FB server-side-auth mit HTTP POST-Anforderung mit der FB Geheimnis
Laut der FB-Dokumentation, FB akzeptiert alle REST API-Typen, die für die Authentifizierung.
REST-API - FB-Authentifizierung
In anderen Worten, PUT/POST/GET-Anforderungen verwendet werden können in einen HTTP-Request zur Authentifizierung-Autorisierung. Dies ist der Beispiel-code:
curl \
https://SampleChat.firebaseIO-demo.com/users/jack/name.json?auth=CREDENTIAL
Den FB-Dokumentation auch Staaten:
Das argument kann entweder Ihr Feuerstellung Geheimnis oder eine Authentifizierung
token
Die POST-Anforderung ich bin senden ist so konfiguriert:
var Credential = "{\"auth:\", \"zXRLa7lybhJ21ZYqpXuqkT6YAYyySAGJ10lXInKy\"}";
https://MyFirebaseName.firebaseio.com/.json?auth="+Credential
So, ich will eine POST-Anfrage, mit meiner FB Geheimnis für die server-Authentifizierung. Meine Sicherheit Regel ist:
{
"rules": {
".read": true,
".write": "auth == 'zXRLa7lybhJ21ZYqpXuqkT6YAYyySAGJ10lXInKy'"
}
}
Ich erhalte eine Fehlermeldung zurückgegeben, die von der Feuerstellung, die besagt:
Ungültiges argument:
"https://MyFirebaseName.firebaseio.com/.json?auth="zXRLa7lybhJ21ZYqpXuqkT6YAYyySAGJ10lxinky"
Scheint es, wie die POST
Anfrage ist eigentlich immer durch auf FB, und FB ist das Lesen der Daten. Es ist nur so, dass das argument nicht richtig konfiguriert. Ich habe versucht, alles, was ich denken kann. Ich bin mir nicht sicher, wie die CREDENTIALS
werden sollen, konfiguriert, und ich kann nicht finden, etwas über es. Vielleicht sollte es etwas sein wie:
{"auth": "The Secret Here"}
Ich habe gerade versucht, und es nicht akzeptieren.
Ich hab auch schon versucht mit:
{
"rules": {
".read": true,
".write": "auth !== null"
}
}
In der Hoffnung, dass egal, was ich geschickt, in der REST-API akzeptiert werden würde, aber das hat nicht funktioniert.
Was mache ich falsch? Ich habe mich über die Dokumentation viele Male, suchte hier, suchte eine Google-Gruppe. Ich kann ' T es herausfinden. Ich muss wissen, das format und die syntax, wie die POST-Daten geschickt bekommt, die in den ANMELDEINFORMATIONEN.
- Sind Sie tatsächlich versuchen, zu authentifizieren
<something>.fireabseio-demo.com
? Werden Sie ein Ergebnis erhalten hier, aber die demo-Server keine Authentifizierung oder Sicherheit Regeln. auth !== null Arbeit sollte für jeden gültigen token. Wie hast du deins, oder verwenden Sie das Geheimnis für diesen namespace? - Es ist keine demo, Nein. Ich bin nicht mit einem token, ich wollte einfach die
Firebase Secret
. Ich bin nicht gegen die Verwendung von token, aber ich war unter dem Eindruck, den ich verwenden könnte, nur das Geheimnis für die server-Authentifizierung als Gegensatz zum individuellen Benutzer zu authentifizieren. Soweit die Dokumentation für die REST-API-server-Authentifizierung, alles, was ich finden konnte ist, dass eine Zeile Beispielcurl
etc. ich zeigte an der Spitze der post. Alle, die es gibt, ist?auth=CREDENTIAL
. Das ist es. Was setze ich an die StelleCREDENTIAL
? - Suchen Sie in Forge in den Sicherheitsschlüssel, klicken Sie auf die Karte, und setzen Sie den Wert in wo sehen Sie die ANMELDEINFORMATIONEN.
- Ja, das habe ich versucht. Ich ging zu der
Secrets
Registerkarte geklicktShow
kopiert und meineFirebase Secret
. Ich setzte an das Ende der URL als string;?auth="+Credential
woCredential
ist dieFirebase Secret
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die URL nicht analysieren kann json. Es ist nur eine Zeichenfolge von text. Schließen Sie einfach das token direkt.
Wenn du deinen FB Geheimnis in der URL -, Sicherheits-Regeln nicht angewendet. Das Geheimnis ermöglicht Ihnen vollen lese - /Schreibzugriff und ohne Rücksicht auf Regeln zu Sicherheit oder Validierung ist. So gibt es keine Notwendigkeit, etwas zu Lesen, in Ihre Sicherheits-Regeln.
Beim arbeiten mit Wertmarken, die Sie beziehen sich nicht auf den security-token selbst. Das ist eine verschlüsselte json-Objekt und die Inhalt sind, was sind verfügbar in Sicherheit Regeln.
Zu verstehen, was geschieht hier, Sie wollen ein rudimentäres Verständnis von Token. Auf ein minimum reduzieren, dies erfordert das Lesen der security quickstart von oben nach unten, und der Abschnitt über die auth-variable von oben nach unten.
In die auth-Variablen Abschnitt, finden Sie dieses Beispiel:
Beachten Sie, dass der Inhalt des Tokens sind
app_user_id
undisModerator
. Sie beziehen sich nun auf diese beiden Variablen in Regeln zu Sicherheit:Können Sie auch entwickeln Sie ein besseres Verständnis von Token durch das hantieren mit Ihnen hier; ermöglicht Ihnen das erstellen und break-down-Token, um zu sehen, was nach innen von Ihnen, als auch überprüfen Sie Sie gegen Ihre namespace, um sicherzustellen, dass Sie funktionieren.
Ihre Regeln braucht nur schreiben auf false gesetzt, etwa so:
Den "?auth=yourFireBaseSecret" in your curl-Anfrage erlauben, Ihre REST-Aufruf, um durch zu gehen, unabhängig von den Regeln. Alle anderen Anfragen müssen, die es zu respektieren und nicht in der Lage sein, schreiben Sie Ihre Daten.