Ограничение доступа к общедоступному API

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

Я думал о модели Twitter:

  • Twitter позволяет разработчикам получать доступ к данным с помощью ключа API (я думаю).
  • Twitter также должен получить доступ к данным со своего веб-сайта, чтобы вы могли твитить / искать.
  • Таким образом, Twitter должен быть в состоянии помешать разработчикам выдавать себя за Twitter и в основном использовать свой ключ API.

Как они это делают? И есть ли лучший способ?


person dan gibson    schedule 26.07.2012    source источник


Ответы (1)


Twitter не использует свой REST API для управления своим веб-сайтом, они напрямую запрашивают свою базу данных. Следовательно, нет ключа API, который можно было бы украсть. Вы можете прочитать о разнице между API Twitter и запросами к базе данных веб-сайта (около 2009 г.) здесь< /а>.

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

Неаутентифицированные вызовы разрешены [меньше] запросов в час. Вызовы без аутентификации измеряются по общедоступному IP-адресу сервера или устройства, отправляющего запрос.

Вызовы OAuth разрешают [больше] запросов в час и оцениваются по oauth_token, используемому в запросе.

Механизмы для реализации зависят от вашей серверной платформы (вы должны обновить свой исходный пост с этим), но вы можете узнать об OAuth (второй способ выше) на их веб-сайт.

person Arithmomaniac    schedule 26.07.2012