Ключ API Google Docs на веб-интерфейсе приложения Angular - как обеспечить безопасность? - PullRequest
0 голосов
/ 10 февраля 2020

Я планирую использовать эту конечную точку API Google Docs , чтобы позволить моему приложению Angular получить доступ к HTML версии Google Do c и отобразить ее в виде CNN, WSJ, et c смотря статью.

Все это будет сделано на внешнем интерфейсе (я не использую backend).

На странице документации написано:

Примечание: Авторизация необязательна.

Но все равно требуется предоставить ключ API, как показано тестером конечной точки . Я что-то упустил?

Предполагая, что требуется ключ API, меня беспокоит следующее: если я использую эту конечную точку во внешнем интерфейсе, publi c сможет увидеть мой ключ API. Здесь говорит, что вы можете ограничить свой ключ API только определенным URL. Это полностью решит мою проблему с безопасностью (поскольку API будет принимать запросы только от URL моего сайта)? Иначе что мне делать?

1 Ответ

0 голосов
/ 10 февраля 2020

API-ключи используются только для доступа к общедоступным c данным, поэтому, если данные не принадлежат пользователю, вы можете использовать API-ключ для доступа к этому API-интерфейсу. Таким образом, Google может отслеживать, кто использует их API.

Если я использую эту конечную точку на веб-интерфейсе, publi c сможет увидеть мой ключ API.

Это известное соглашение с языками на стороне клиента, использующими ключи API. Когда вы создаете свой ключ API, вы должны создать его с ограниченным доступом, если вы можете, если он размещен, вы можете создать ограничения Веб-сайта, которые будут означать, что ваш ключ API может использоваться только с вашего сайта и не будет использоваться вне.

Итак, я рекомендую вам просто ограничить использование ключа API, что должно препятствовать его использованию другими пользователями.

Как ограничить мой ключ API указанными c веб-сайтами? Используйте HTTP-реферер для ограничения URL-адресов, которые могут использовать ключ API.

Вот несколько примеров URL-адресов, которые можно разрешить для настройки реферера:

  • Спецификация c URL-адрес с точным путем: www.example.com/path
  • Любой URL-адрес в одном поддомене с использованием подстановочного знака (): sub.example.com/
  • Любой поддомен или пути URL в одном домене, используя подстановочные знаки (*): .example.com /
  • URL с нестандартным портом: www.example.com: 8000 / *

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

...