Как настроить правила базы данных Firebase Realtime для REST-запросов? - PullRequest
1 голос
/ 25 сентября 2019

В текущем проекте мы используем React для создания веб-сайта, который будет отображать некоторую информацию из нашей базы данных Firebase Realtime.Мы используем firebase.auth() -пакет в npm для нашей аутентификации, где единственный пользователь, который будет существовать, это наш пользователь-администратор.
Что я не могу понять, так это как аутентифицировать мой POST-запрос черезБаза данных-набор правил в реальном времени.

Я некоторое время гуглил и нашел токен, который мне, очевидно, нужно передать с объектом, который я нахожу, запустив firebase.auth().currentUser.getIdToken.Однако, установив мое правило на

{
  "rules": {
    ".read": true,
    ".write": "auth.uid != null"
  }
}

..., оно все равно не позволяет мне публиковать сообщения.Это, конечно, не очень безопасная авторизация, но она должна позволять мне публиковать, поскольку я даю ей токен доступа.(Я делаю это в URL-адресе запроса с URL.firebaseio.com/.json?access-token=TOKEN).

Что мне интересно, так это то, какая часть системы я неправильно поняла.Я не хочу использовать firebase/database -пакет в npm, так как не очень хорошо понимаю, и я хотел бы изучить один шаг за раз.

Если мне нужно обновить файл правил, что он должен сказать?
Если токен / URL неверен, что это должно быть?

Любая помощь будет оценена!Благодаря.

1 Ответ

0 голосов
/ 25 сентября 2019

Я решил это для собственного использования:

В Firebase Console, под вкладкой Authentication-, я обнаружил, что могу получить UID пользователя.

Путем изменения URL-адреса fetch на URL.firebaseio.com/.json?auth=TOKEN) и правила записи на ".write": "auth.uid == '[UID]'", где [UID] - ранее упомянутый UID, он разрешает пост-запросы только от пользователей, которые вошли в систему через firebase.auth().

Приветствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...