Утверждение публикации базы данных Google Firebase вручную

avatar
Steven
8 апреля 2018 в 12:27
223
1
0

Есть ли способ вручную одобрять сообщения, публикуемые в базе данных firebase, с помощью правил?<33733333498373>

текущее правило выглядит следующим образом:

{

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

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

как это Ручное одобрение/отклонение регистрации пользователя администратором с помощью Firebase

Источник
AbstProcDo
8 апреля 2018 в 12:34
0

Пожалуйста, уточните свой вопрос.

Steven
8 апреля 2018 в 13:10
0

я имел в виду разрешить пользователям публиковать сообщения в базе данных, но я, как администратор, контролирую сообщения либо одобряю, либо отклоняю сообщение из консоли firebase, возможно ли это с помощью правил?

Ответы (1)

avatar
Frank van Puffelen
8 апреля 2018 в 14:21
3

В Firebase нет ничего встроенного для такой очереди утверждения, но вы определенно можете встроить ее в свое приложение поверх Firebase.

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

.
posts
  post1: ...
  post2: ...
  post3: ...
pending
  post4: ...
  post5: ...

Пользователи вашего обычного приложения видят данные только из /posts.

Затем вы создаете отдельное приложение для своих модераторов, и это приложение показывает сообщения в очереди на модерацию (/pending выше) и дает им возможность утвердить или отклонить их. Если они одобряют публикацию, она добавляется в фактический список публикаций, которые видят пользователи обычного приложения.

Если приложение для ваших модераторов работает в доверенной среде, вы можете рассмотреть возможность использования Admin SDK, который игнорирует правила безопасности и всегда имеет полный доступ к вашей базе данных. В этом случае ваши правила могут быть такими простыми, как:

{
  "rules": {
    "posts": {
      ".read": true
    },
    "pending": {
      "$postid": {
          ".write": "!data.exists"
      }
    }
  }
}

Это позволяет всем читать сообщения, но только администраторы могут их писать. С другой стороны, любой может писать в очередь модератора (при условии, что он не перезаписывает существующие данные), но читать оттуда могут только администраторы.

Steven
9 апреля 2018 в 07:34
0

это хороший ответ! но firebase позволяет мне иметь только одну базу данных бесплатно!

André Kool
9 апреля 2018 в 07:35
0

@Steven В этом примере используется только одна база данных.