Как связаны ключ API/идентификатор приложения и секретный ключ веб-API и как они работают вместе?

Я нашел много руководств о том, как найти эти ключи и интегрировать их в свое приложение, но никто не говорит, как они работают вместе. Зачем они нужны и какую цель решают в контексте веб-сервисов?

Мы также должны сделать что-то, называемое созданием хеш-ключа из хранилища ключей и его регистрацией в различных веб-API.

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

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

Я не нашел ни одного документа, который предоставляет эту информацию.

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

Я попытался прочитать следующие документы, но они не предоставляют никакой информации о том, как все это сочетается друг с другом.

https://developers.facebook.com/docs/facebook-login/android

Ключ API Facebook? Совпадает с идентификатором приложения?

https://security.stackexchange.com/questions/19989/facebook-api-app-secret-possible-misuse


person Sandeep Sharma    schedule 26.12.2015    source источник


Ответы (1)


Здесь есть много вещей. Некоторые из них на стороне клиента, а некоторые на стороне сервера. Проще говоря, мы можем думать о них следующим образом.

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

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

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

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

Использование хэша ключа Facebook?

person Sandeep Sharma    schedule 26.01.2016