Соглашения об использовании API - PullRequest
0 голосов
/ 27 сентября 2011

Я совершенно новичок в использовании API в веб-разработке. Я работаю над веб-приложением в python / django, которое делает ajax jsonp-запросы к API гигантской бомбы. Когда я узнаю, как использовать этот API для получения нужной информации, я начинаю понимать, что некоторые вещи, вероятно, должны обрабатываться лучше в моем коде по разным причинам эффективности / безопасности. Но я не знаком с соглашениями об использовании веб-API. Вот несколько вопросов, о которых я думал:

  1. Плохо ли иметь мой api-ключ в адресной строке или в источнике.
  2. Так как я использую Django / Python, я должен просто создать собственное представление для каждого запроса API и использовать simplejson? Я хотел использовать AJAX, чтобы уменьшить количество запросов и улучшить динамический интерфейс.
  3. В этих ситуациях сохраняются ли api-ключи, api-URL-адреса в сеансе, а затем осуществляется доступ по мере необходимости?

Заранее спасибо за помощь и терпение,

1 Ответ

2 голосов
/ 28 сентября 2011
  1. Наличие вашего ключа API, видимого для пользователя, означает, что он может выполнять запросы от вас. Плохо это или нет, зависит от рассматриваемого API. Если возможно выполнить трехстороннюю аутентификацию, ваш сервер может согласовать временный ключ (например, сеансовый ключ Oauth) с сервером API и передать этот временный ключ только браузеру.

  2. Если вы собираетесь, чтобы браузер выполнял запросы API через AJAX, ваши представления вообще не вводятся в изображение, за исключением передачи учетных данных API в браузер для использования в javascript.

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

...