2016-04-05 2 views
2

Im строя сайт в firebase. Это простой поисковый сервис, в котором есть только входной элемент, который запускает запрос на сторонний api.Скрыть сторонний API-ключ с firebase

www.3rdparty.com/api/[myapikey]/method

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

Моей миссия в конечном счете, для хранения ответов в firebase, так что я могу ограничить количество запросов, которые достигают 3 участника (функция кэша)

ответ

3

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

Поскольку вы не можете поместить ключ API в код на стороне клиента, вам придется запускать его на сервере. Это довольно распространенный сценарий использования кода на стороне сервера в архитектуре Firebase: коду нужен доступ к некоторой информации, которой нельзя доверять обычным клиентам. Он покрыт рисунком 2 в нашем blog post on common Firebase application architectures.

С этого блоге:

enter image description here

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

+0

Я понимаю архитектуру, но почему Firebase предлагает разместить API-клиенты на клиенте? https://firebase.google.com/docs/web/setup <- не все ли кому-то _else_ нужно будет действовать на ваши учетные записи/db? – Adam

+1

Если вы имеете в виду ключ API, см. Http://stackoverflow.com/questions/37482366/what-is-the-firebase-apikey-for. –

Смежные вопросы