2012-02-14 2 views
5

Я разрабатываю API на основе REST для нашей системы. Мы будем иметь несколько типов клиентов:OAuth 2.0 определение клиентов

  • веб-браузеров - те будут получать доступ к нашему API после загрузки приложения HTML5
  • Мобильных приложений, разработанных нами
  • Мобильных приложений, разработанных 3 сторон

Я хотел спросить, какую стратегию мы должны использовать при определении клиентов. Например.

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

  • ли мы назначаем клиента нашему приложению для iPhone и другому нашему приложению для Android?

  • У каждого стороннего разработчика, использующего наш API, есть отдельный идентификатор клиента?

Спасибо,

Ассаф

+0

Таким образом, мы не создали клиента для каждого пользователя. Просто клиент за приложение (наше или третье лицо). – checklist

ответ

2

Посетите Google API console, создать проект. Затем зайдите в меню API Access, чтобы создать идентификатор клиента. Вы увидите, какие данные необходимы для разных типов клиентов, включая веб-приложения, приложения для Android и iPhone. Это может помочь в определении ваших собственных требований.

Вот скриншот:

enter image description here

+0

Спасибо. Это хороший пример. Легче следовать. – checklist

0

Сво хороший вопрос. Я изучал это по своим собственным причинам. Вот что я думаю, что буду делать:

a) Каждый пользователь не определен как клиент с точки зрения OAuth. Клиент с точки зрения OAuth - это определение механизма предоставления авторизации. b) Я бы определил своих клиентов в зависимости от типа потоков OAuth, которые вам необходимо будет поддерживать для них

так например Вы можете использовать один и тот же тип клиента для всех своих клиентов. Согласно спецификации OAuth 2 (http://tools.ietf.org/html/draft-ietf-oauth-v2-25), мобильные клиенты и веб-клиенты считаются «публичными клиентами», поэтому, возможно, вы можете решить, будет поддерживать только неявные типы грантов для всех ваших клиентов, и они могут быть представлены как один тип клиента в OAuth

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

В заключении я думаю, вы должны определить свои типы клиентов OAuth на основе типов грантов, которые необходимо поддерживать и различные конфигурации, необходимые для поддержки