Как добавить систему аутентификации для cURL в Firebase? - PullRequest
0 голосов
/ 08 апреля 2020

Я использую Firebase, чтобы сделать небольшой проект, и во время тестирования обнаруженных мной вещей я могу делать cURL-запросы с любого сервера к моей базе данных Firebase (протестировано на онлайн-тестере php), поэтому я считаю, что это недостаток безопасности для моего проекта, и я искал способ добавить какой-то пароль для запросов cURL, но я ничего не нашел, по крайней мере, ничего не мог понять. Я знаю, что у firebase есть правила для управления тем, кто может читать или писать в моей базе данных, но я не нашел что-то, что могло бы фильтровать запросы по серверу или разрешать запросы, которые имеют специальный пароль, отправленный в качестве параметра. Поэтому мой вопрос: есть ли способ сделать что-то подобное, что я мог бы использовать в своем проекте, чтобы работали только запросы cURL, сделанные для меня.

Здесь это один из моих запросов cURL, на случай, если это поможет решение моей проблемы.

$url = "https://mydatabase.firebaseio.com/profile/messages/".$_COOKIE['cookiename'].".json";

                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch,  CURLOPT_RETURNTRANSFER, true);
                $response = curl_exec($ch);
                curl_close($ch);

                $data = json_decode($response, true);

Заранее спасибо за помощь.

ОБНОВЛЕНИЕ: Я нашел это, я думаю, что это может быть то, что мне нужно, но я скучаю по той части, где я скажите базе данных запросить токен доступа. https://firebase.google.com/docs/database/rest/auth

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Одним из решений является использование Firebase Auth REST API .

В частности, «вы можете войти в систему с помощью адреса электронной почты и пароля, отправив запрос HTTP POST в Auth конечная точка verifyPassword ", см. здесь .

Затем вы можете использовать uid пользователя в ваших правилах безопасности Firebase, чтобы защитить вашу базу данных.

0 голосов
/ 08 апреля 2020

Вы должны прочитать и понять документацию для REST API . Если вы хотите обойти правила безопасности, которые обычно применяются к веб- и мобильным пользователям, вам необходимо сгенерировать токен OAuth для учетной записи службы, которая имеет разрешения на доступ к вашей базе данных, и использовать ее в своих запросах.

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

{
  "rules": {
    ".read": false,
    ".write": false
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...