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


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

что такое ключ API и каковы его применения?

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

6 83

6 ответов:

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

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

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

в целом:

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

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

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

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

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

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

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

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

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

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