He intentado envolver mi cabeza en torno a OAuth 2.0, pero me cuesta descubrir la forma correcta de implementarlo para nuestro sistema, ya que hay muchos enfoques diferentes.
Nuestras especificaciones son:
- Asegurar una API REST.
- Las aplicaciones y sitios web propios se conectan a nuestra API.
- Los usuarios acceden a nuestros servicios sin credenciales.
- Actualmente, nuestra API es privada, pero posiblemente la haga pública en el futuro.
A partir de la investigación que he realizado, creo que debería estar usando la autenticación oAuth 2.0 (de dos patas) con el tipo de concesión "Credenciales del cliente".
Sin embargo, me preocupa que pueda estar malinterpretando el proceso, ya que parece que con este método todo lo que se requiere es enviarlo a través de ConsumerId y ConsumerSecret. Considerando que, el método OAuth 1.0 requiere un HashKey, ConsumerKey, Nonce, etc.
En resumen, mis preguntas son:
- Es el oAuth 2.0 (Two-Legged) usando "Credenciales del cliente" el mejor enfoque que puedo tomar.
- Es el flujo de autenticación tan simple como enviar su ClientId y ClientSecret y recuperar su token de portador.
Gracias de antemano
Fuentes que usé para oAuth 2.0 (Two-Legged)
OAuthBible - Explica todos los diferentes enfoques de oAuth
muestra cómo se implementa oAuth (Two-Legged) en 1.0 y 2.0
www.tomdupont.net/2011/03/oauth-1.html