2012-02-14 21 views
5

Estoy desarrollando una API basada en REST para nuestro sistema. Vamos a tener varios tipos de clientes:OAuth 2.0 definición de clientes

  • navegadores Web - los que va a acceder a nuestra API después de cargar una aplicación HTML5
  • aplicaciones móviles desarrolladas por nosotros
  • aplicaciones móviles desarrolladas por 3 partes

Quería preguntar qué estrategia deberíamos usar para definir clientes. P.ej.

  • está cada usuario en nuestro sistema requiere ser definido como un cliente, ya que necesitan ser autenticada o es el cliente web considerado como un cliente?

  • ¿asignamos un cliente a nuestra aplicación de iPhone y otro a nuestra aplicación de Android?

  • ¿cada desarrollador de terceros que utiliza nuestra API obtiene una identificación de cliente por separado?

Gracias,

Assaf

+0

Así que no hemos creado un cliente por usuario. Solo un cliente por aplicación (la nuestra o la tercera parte). – checklist

Respuesta

2

Visita la Google API console, crear un proyecto. Luego, visite el menú API Access para crear una identificación de cliente. Verá qué datos se requieren para diferentes tipos de clientes, incluidas aplicaciones web, aplicaciones de Android y iPhone. Puede ayudar a resolver sus propios requisitos.

Aquí está una captura de pantalla:

enter image description here

+0

Gracias. Este es un buen ejemplo. Lo hace más fácil de seguir. – checklist

0

Es una buena pregunta. He estado investigando esto por mis propios motivos. Esto es lo que creo que estaré haciendo:

a) Cada usuario no está definido como un cliente en términos de OAuth. Un cliente en términos de OAuth es una definición de un mecanismo para proporcionar autorización. b) Definiría mis clientes según el tipo de flujos OAuth que necesita para soportarlos

por lo que, por ejemplo, Puede usar el mismo tipo de cliente para todos sus clientes. De acuerdo con la especificación OAuth 2 (http://tools.ietf.org/html/draft-ietf-oauth-v2-25), los clientes móviles y los clientes web se consideran "clientes públicos", por lo que quizás usted pueda decidir solo admitirá tipos de subvención implícitos para todos sus clientes, y estos podrían representarse como 1 tipo de cliente en OAuth

c) usted puede decidir que es beneficioso diferenciar entre diferentes categorías de usuarios; por ejemplo, puede desear diferentes periodos de tiempo de espera de tokens para diferentes clientes, por lo que debe definir un tipo de cliente diferente para estos.

En resumen creo que debe definir sus tipos de cliente de OAuth en base a los tipos de las subvenciones que necesita para apoyar y las diferentes configuraciones que necesita para apoyar

Cuestiones relacionadas