Допустим, у меня есть веб-сайт, на котором много информации о наших продуктах.Я бы хотел, чтобы некоторые из наших клиентов (включая нас!) Могли искать наши продукты для различных методов, включая:
1) Получение данных из вызовов AJAX, которые возвращают данные классным способом JavaScripty-way 2) Создание приложений для iPhone, которые используют эти данные;3) Использование других веб-приложений для этих целей.
Обычно я бы просто создал API и покончил с этим.Тем не менее, эти данные на самом деле слегка конфиденциальны, то есть мы не хотим, чтобы наши конкуренты могли просматривать все наши продукты каждое утро, а затем автоматически устанавливать цены, чтобы подорвать нас.И мы также хотим иметь возможность посмотреть, кто может злоупотреблять системой, поэтому, если кто-то совершает десять миллионов сложных вызовов нашего API в день и отключает наш сервер, мы можем их отключить.
Моим следующим логическим шагом было бы создание ключа разработчика для ограничения доступа - который бы хорошо работал для веб-приложений, но не так много для любых вызовов AJAX.(На мой взгляд, им нужно будет предоставить ключ в JavaScript, который находится в открытом тексте и легко просматривается, и, следовательно, на самом деле безопасности вообще нет. Особенно, если бы мы использовали собственные ключи разработчиков на нашем сайтечтобы сделать эти AJAX-вызовы.)
Итак, мой вопрос: посмотрев на Oauth и OpenID в течение некоторого времени, я не уверен, что есть решение, которое справилось бы со всеми тремя из вышеперечисленных.Существуют ли какие-то канонические «передовые практики» для ключей разработчиков, или Oauth и OpenID могут легко обрабатывать вызовы AJAX так, как мне еще предстоит, или я что-то упустил полностью?