2015-09-04 3 views
0

Я только начал экспериментировать с API RESTful.Шифрование ключа ключа API

Как правило, существуют два вида: открытые API и частные APis, для которых вам нужны ключи API. Для чего используются API-ключи? Могут ли они обеспечить шифрование данных? Я запутался, потому что у некоторых поставщиков API есть 2 набора ключей, один публичный и другой частный, возможно, указывая на безопасность данных и контента?

Подводя итог, если я запрашиваю базу данных с использованием API RESTful и его ключа, ответ, который я получаю из базы данных, будет защищен/зашифрован или ключи API-интерфейсов используются только для аутентификации источника запроса?

+0

Этот вопрос может быть лучше подходит для [security.se] –

ответ

0

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

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

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

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

+0

спасибо тонну человека .. я наконец-то обвожу мою голову вокруг API-интерфейсов и их ключей .. однако..что, что меня смутило, было это -https: //www.docebo.com/lms-docebo-api-third-party-integration/ любые идеи о том, как они объяснили использование двух ключей? Первоначально я думал, что они используют это для шифрования данных ... –

+0

Итак, если мне пришлось использовать их API (скажем, аутентифицировать пользователя), то какой из двух ключей идентифицирует/проверяет меня на сервере? И то и другое? тогда как? и если только один ... то что такое использование другого? Я изучаю API и их реализацию для проекта .. любезно извините мои вопросы noob ..; -P –

+0

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

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