Also sende ich mein Token an den Server, aber etwas stimmt nicht. Ich ging, um meine Berechtigungen auf Firebase-Simulator zu testen und fand heraus, dass die .validate
Zeile mir sagt, dass es falsch ist. Hier ist meine SicherheitsregelnFirebase Security Berechtigungen, die angeben, dass ein String keine Zeichenkette ist, während isString verwendet wird
{
"rules":{
"tokens":{
"users":{
"$uid":{
".read":"auth !== null && auth.uid === $uid",
".validate":"newData.isString()", // wrong here. idk why
".write":"auth !== null && $uid === auth.uid && (!data.exists() || newData.val() !== data.val())"
}
}
}
}
}
Struktur Daten:
root
|- tokens
|- users
|- uid:token_value
Meine Eingang sind wie folgt:
Simulation Typ: schreiben
Ort:/Token/users/hA4hZrBieISwMOZaMYe7m6K5tpI3
Daten (JSON):
{
"hA4hZrBieISwMOZaMYe7m6K5tpI3": "hi"
}
authentifizierte: Wahre
Anbieter: Google
UID: hA4hZrBieISwMOZaMYe7m6K5tpI3
Problem ist die "hi"
im Daten (JSON) wird als Nicht-String-Wert bezeichnet Ue. Irgendwelche Ideen warum?
Hallo Dank für Ihre Antworten. Es scheint, ich bin ein bisschen verwirrt. Folgt die Datenstruktur der, die ich in meiner Frage angegeben habe? Oder wird es einen anderen Knoten unter der ersten UID mit der kombinierten UID und Token erstellen? Weil ich möchte, dass es wie 'user/uid' aussieht und die' uid' das Token enthält. Was ich denke, ist die Überprüfung der Position, die ich auf "Tokens/Benutzer /" einstellen, um zu erreichen, was ich will, aber danach bin ich verloren – CraftedGaming
Meine Vermutung ist, dass Sie eine einfache Zeichenfolge schreiben möchten ('" hi "') to '/ Tokens/Benutzer/hA4hZrBieISwMOZaMYe7m6K5tpI3'. In diesem Fall sind Ihre ursprünglichen Regeln korrekt, aber Sie versuchen ein JSON-Objekt zu schreiben. –