Правила базы данных в реальном времени Firebase - PullRequest
0 голосов
/ 02 мая 2020

У меня есть приложение, которое должно получать данные из базы данных, некоторые ее координаты, дело в том, что эти координаты должны оставаться секретными для всех, но я читал, что любой, у кого есть имя моей базы данных или обратное включение, может получить доступ к моему приложению к нему и получите набор координат. Я пробовал разные вещи, такие как хэширование координат, проблема в том, что мне нужно использовать эти координаты в коде, и я не могу работать с ними, если они хэшированы.

Есть ли способ обойти это, или у меня есть чтобы разобраться с этим по-другому.

Также я хотел бы добавить, цифровую валюту в приложение, количество монет, которое человек хранит в своем пользовательском ключе, но мне нужно дать читать и писать привилегии, чтобы приложение могло обновлять количество монет, которые у него есть.

Я уже много чего перепробовал, и не могу обернуть голову, чего мне не хватает?

Это мои правила:

{
  "rules": {
    "users": {
      "$uid": {
        ".write": "$uid === auth.uid",
        ".read": "$uid === auth.uid",
          "usuario": {
            ".validate": "
              !root.child('usernames').child(newData.val()).exists() ||
              root.child('usernames').child(newData.val()).val() == $uid"
          },
        ".validate": "!root.child('users').child($uid).exists()"
      }
    },
    "usernames":{
        ".write":"true",
        ".read" : "true",
      }
  }
}

Дерево пользователей имеет такую ​​структуру:

$uid:
  email
  creation_date
  coins
  usuario

Я чувствую, что я делаю что-то действительно неправильно, но я не вижу этого.


Я редактирую для ясности.

У меня есть приложение, которое получает координаты устройства и сравнивает его с координатами в моей базе данных, главное, чтобы устройство могло получать эти данные, которые оно должно иметь разрешение на чтение Проблема в том, что эти координаты должны быть секретными, и я прочитал, что любой может перепроектировать мое приложение и получить доступ к координатам без использования моего приложения.

Как я могу сделать эти координаты секрет?

...