2015-12-02 6 views
0

У меня есть API. Скажем, это позволяет пользователям обновлять свой счет в таблице лидеров. Это использует OAuth2.OAuth2: Защита не-пользовательских ресурсов

Клиенты, которые используют OAuth2 от имени пользователя, имеют 32 символьных идентификатора и секреты.

У меня также есть ресурсы, которые являются «общедоступными» и не принадлежат пользователю. Скажем, получить общую таблицу лидеров.

Я хочу, чтобы клиенты имели доступ к ним через API. Однако эти клиенты могут не быть пользователями (другие сайты говорят), а реализация потока OAuth кажется чрезмерно сложной. Тем не менее, я также хотел бы, чтобы клиенты идентифицировали себя, чтобы отслеживать, кто его использует, и, например, осуществлять, скажем, проверку ставок.

Есть ли что-нибудь в OAuth2, которое позволяет это? client_credentials для «доверенных клиентов», и это не будет таким.

В качестве альтернативы, использую, скажем, другую форму аутентификации для этих конечных точек, чтобы вместо авторизации: Bearer [OAUTH2_TOKEN] клиент выполнил авторизацию: токен [CLIENT_ID]?

ответ

0

Для незащищенных ресурсов вы можете поместить их в Интернет без какой-либо защиты OAuth.

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

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

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

Или просто доверяйте идентификатору, который они отправляют.

+0

Хм. Хорошая точка зрения. Им может потребоваться обменять client_id на токен. Это похоже на то, что Twitter делает что-то похожее с аутентификацией только для приложений: https://dev.twitter.com/oauth/application-only – Apemantus

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