Есть ли способ написать правило безопасности или есть ли какой-либо другой подход, который позволил бы только подключенному в данный момент (не прошедшему проверку подлинности) пользователю записывать/читать в определенное место - администратор также должен иметь возможность писать/читать? Можно ли написать правило, которое запрещает пользователям читать полный список записей и разрешает им только чтение записи, которая соответствует некоторому идентификатору, переданному от клиента?
Я пытаюсь обмениваться некоторыми данными между пользователем и приложением Node.js через Firebase, и эти данные не должны быть доступны для чтения или записи кем-либо, кроме пользователя и/или администратора.
Я знаю, что одним из решений будет то, что пользователь запрашивает токен аутентификации на моем сервере и использует его для аутентификации в Firebase, и это позволит написать правило, которое предотвращает чтение и запись. Однако я пытаюсь избежать подключения пользователя к моему серверу, поэтому это решение не является первым вариантом.
Это сценарий, основанный на сеансе, который недоступен в Firebase, но у меня есть некоторые идеи, которые могли бы решить эту проблему, если бы они были реализованы до управления сеансом:
- возможно, разрешить администратору записывать в /.info/ расположение, которое клиент наблюдает за каждым изменением и может читать только при активном соединении - если я правильно понял, как работает .info
- возможно, создание местоположения .temp для этой цели
- возможно, предоставление администратору и подключенному клиенту большего доступа к информации о соединении, которая будет содержать некоторый уникальный идентификатор соединения, который можно использовать для создания местоположения с этим именем и использования его внутри правила, чтобы предотвратить чтение и перечисление другим пользователям
Спасибо