#php #heroku #google-chrome-extension #slim #browser-extension
#php #heroku #google-chrome-extension #slim #браузер-расширение
Вопрос:
Я создал api-сервис с использованием heroku и php для своих расширений Chrome. Я хочу ограничить его использование только расширениями Chrome, но на данный момент я понятия не имею, как действовать дальше, я рассматриваю identity api для ограничения некоторых функций только зарегистрированными пользователями, но на heroku у меня нет базы данных, поэтому мой вопрос: каков наилучший способ ограничитьдоступ к конечным точкам, если они не вызываются из chrome://
контекста? Я запускаю две разные службы, используя один экземпляр slim 4, и я беспокоюсь, что это может вызвать проблемы и с конечной точкой, к которой можно получить доступ публично без ограничений.
Комментарии:
1. Пока вы выполняете свои тесты при выполнении запросов из плагина Chrome, вы отлаживали заголовки запросов? Возможно, у вас есть какая-то информация, которая может помочь вам определить, поступает ли запрос из расширения Chrome или из стандартного HTTP-запроса. Кроме этого, как насчет использования статического ключа доступа, жестко заданного в исходном коде вашего плагина Chrome? Я знаю, это лучшая идея, поскольку обратный инжиниринг может раскрыть ключ API, но если API не так важен, я думаю, вы могли бы его использовать.
2. Насколько я знаю, нет никакой конкретной информации, которая отправляется на сервер, когда запросы ajax выполняются из расширения Chrome. Я подумываю добавить заголовок управления доступом на сервере с
chrome://
протоколом, но я не уверен, что это нарушит мои конечные точки из-за того, что каждое расширение имеет свой собственный уникальный идентификатор. Ключ api — это еще одно решение, но в этом случае я хочу предоставить его пользователю, только если он запросит его после входа в систему с помощью identity api, жесткий код ключа не является доступным способом для служб, которые я внедряю3. вы подумали о решении Firebase? У вас может быть база данных, а также логика на стороне сервера бесплатно.
4. Я подумываю об использовании firestore, но мне нужно понять, как интегрировать его в логику сервера для работы с slim 4