Что такое ключ API?

Я вижу это слово почти в каждом приложении перекрестного обслуживания в эти дни.

что такое ключ API и каково его использование?

кроме того, в чем разница между открытыми и закрытыми ключами API.

6 ответов


для чего" точно " используется ключ API, во многом зависит от того, кто его выдает и для каких служб он используется. По большому счету, однако, ключ API-это имя, данное некоторой форме секретного токена, который отправляется вместе с запросами веб-службы (или аналогичными), чтобы определить происхождение запроса. Ключ может быть включен в некоторый дайджест содержимого запроса для дальнейшей проверки происхождения и предотвращения изменения значений.

обычно, если вы можете определить источник запроса положительно, он действует как форма аутентификации, которая может привести к контролю доступа. Например, можно ограничить доступ к определенным действиям API в зависимости от того, кто выполняет запрос. Для компаний, которые зарабатывают деньги от продажи таких услуг, это также способ отслеживания того, кто использует эту вещь для выставления счетов. Кроме того, блокируя ключ, вы можете частично предотвратить злоупотребление в случае слишком больших объемов запросов.

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


в целом:

ключ API просто идентифицирует вас.

Если есть публичное/частное различие, то открытый ключ-это тот, который вы можете распространять другим, чтобы позволить им получить некоторое подмножество информации о вас из api. Закрытый ключ предназначен только для вашего использования и обеспечивает доступ ко всем вашим данным.


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

сервис поддерживает все выданные ключи и проверяет их по каждому запросу.

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


похоже, что многие люди используют ключи API в качестве решения безопасности. Итог:никогда не рассматривайте ключи API как секретные это не так. На https или нет, кто может прочитать запрос, может увидеть ключ API и может сделать любой вызов, который они хотят. Ключ API должен быть таким же "пользовательским" идентификатором, как и его не полное решение для безопасности даже при использовании с ssl.

лучшее описание есть в ссылке Евгения Osovetsky на: при работе с большинством API, почему они требуется два типа аутентификации, а именно ключ и секрет? Или проверить http://nordicapis.com/why-api-keys-are-not-enough/


ключи API - это всего лишь один из способов аутентификации пользователей веб-сервисов.


подумайте об этом таким образом, "открытый ключ API" похож на имя пользователя, которое ваша база данных использует в качестве входа на сервер проверки. "Закрытый ключ API" будет похож на пароль. С помощью сайта / databse, использующего этот метод, безопасность поддерживается на сервере третьей стороны/проверки для аутентичного запроса публикации или редактирования вашего сайта/базы данных.

строка API - это просто URL-адрес входа для вашего сайта / базы данных, чтобы связаться с проверкой сервер.