OAuth agrega un nivel de indireccion para que el usuario pueda
basicamente autorizar que aplicaciones pueden consumir sus datos via
la API. Por ejemplo, un tercero puede desarrollar una aplicacion
malisiosa que un usuario sin saberlo la utiliza. El usuario luego
puede simplemente restringir que esa aplicacion no pueda tener mas
acceso a sus datos.
Si vos no tenes esos requirimientos, podes simplemente proteger toda
la comunicacion con https y utilizar un API key por usuario. Por cada
llamada a tu API, la aplicacion cliente pasa ese key. Muchos servicios
funcionan actualmente de esta manera, como google maps por ejemplo.
Los servicios de storage de Azure tambien usan keys asociadas al
usuario.
Saludos
Pablo.
On Jan 25, 10:06 am, Angel Java Lopez <
ajlopez2...@gmail.com> wrote:
> Hola gente!
>
> Christian, estuve revisando el thread, y no me queda claro que tecnologia
> van a usar, supongo que es REST, no?
>
> Algunas recomendaciones:
http://www.infoq.com/news/2010/01/rest-api-authentication-schemes
>
> Ver de usar https
> Ver el tema man-in-the-middle
>
> El tema a revisar: tus tecnologias cliente, permiten albergar certificados?
> Si se siguen las recomendaciones de arriba, ese es el tema de base que
> tienes que resolver.
>
> Nos leemos!
>
> Angel "Java" Lopezhttp://www.ajlopez.comhttp://
twitter.com/ajlopez
>
> 2012/1/25 Christian Eduardo Palomares Peralta <
palomare...@gmail.com>
>
>
>
> > Exacto, no quiero algo tan complejo en lo que es seguridad, pues lo de
> > OAuth lo veo más para darle acceso a terceros y como "liberar" la API para
> > el uso de externos a la empresa, así como también que el usuario autorice
> > el acceso de estas, lo cual no se busca en ésta.
>
> > Saludos
>
> > El 24 de enero de 2012 18:34, Angel Java Lopez <
ajlopez2...@gmail.com>escribió:
>
> > Bueno, esas apps son "terceros". Y hasta otros programadores podrian armar
> >> Otras aplicaciones contra la api, y lo agregas como "terceros".
>
> >> Pero supongo que querras algo mas sencillo.
>
> >> 2012/1/24 Christian Eduardo Palomares Peralta <
palomare...@gmail.com>
>
> >>> Mil disculpas la demora en respuesta, pero me sacaron del tema por un
> >>> tiempo, pero ya volví al mismo problema.
>
> >>> Respecto a oauth no se da en el caso que diera dar acceso a terceros a
> >>> la API???En sí yo no quiero dar acceso a terceros, sino a apps que yo estoy
> >>> creando para usar esta API (apps en android y iOS). No existe algún
> >>> mecanismo sencillo y que entregue seguridad al respecto???
>
> >>> Saludos
>
> >>> El 5 de enero de 2012 18:48, Angel Java Lopez <
ajlopez2...@gmail.com>escribió:
>
> >>> Hola gente!
>
> >>>> Christian, OAuth fue inventado para el caso que planteas. Ya no
> >>>> recuerdo todo lo de seguridad que tenia, pero por si me olvidaba:
>
> >>>>
http://ajlopez.wordpress.com/2011/06/22/oauth-oauth2-and-azure-access...
>
> >>>>
http://ajlopez.wordpress.com/category/oauth/
>
> >>>> Eso ya tiene medio anio, desconozco el estado actual.
> >>>> Fijate en el primer enlace, a mi me sirvieron los ejemplos que denomine
> >>>> ahi "key" Son dos, uno cliente web, y otro cliente desktop.
>
> >>>> OAuth2 es una evolucion de OAuth1, y OAuth1 nacio de Flickr y cia, asi
> >>>> que si estudias esas implementaciones, y lo que hay para .NET (yo use el
> >>>> servicio de ACS como dicen en los ejemplos "key"), vas a ver resuelto todos
> >>>> los temas de seguridad que mencionas y mas (espero ;-)
>
> >>>> Nos leemos!
>
> >>>> Angel "Java" Lopez
> >>>>
http://www.ajlopez.com
> >>>>
http://twitter.com/ajlopez
>
> >>>> 2012/1/5 Christian Eduardo Palomares Peralta <
palomare...@gmail.com>
>
> >>>>> Veamos
>
> >>>>> A lo que me refiero con seguridad es que deseamos que la API sea usada
> >>>>> solo por los dispositivos que deseamos que accedan a la API. Si es que
> >>>>> realizamos la llamada a la API de forma netamente plana, se tendrá
> >>>>> problemas pues con un simple sniffering se pueden obtener las llamadas a la
> >>>>> API y bombardearla de diversas formas, e incluso puede causarnos problemas
> >>>>> porque algunas de estas llamadas van a hacer transacciones autorizadas por
> >>>>> el usuario.
>
> >>>>> Estuve echándole ojo a lo que muestran en el sgte link:
>
> >>>>>
http://net.tutsplus.com/tutorials/php/creating-an-api-centric-web-app...
>
> >>>>> Pero veo un problema, pues si es que la app es un apk de android y la
> >>>>> app_key con la que se encripta el contenido a enviar está en la misma app,
> >>>>> esta podría ser, de alguna forma, decompilada y si obtienen la llave y el
> >>>>> app_id van a tener acceso total a la API nuevamente.
>
> >>>>> BTW, como server la API será hecha en C#, mientras que los clientes
> >>>>> pueden ser una web hecha con ASP NET MVC3, una app en android e incluso una
> >>>>> en iOS.
>
> >>>>> Saludos
>
> >>>>> El 5 de enero de 2012 17:46,
nelopause...@gmail.com <
> >>>>>
nelopause...@gmail.com> escribió:
>
> >>>>> Hola Christian,
>
> >>>>>> ¿a que te referís con "seguridad"? ¿autenticación y autorización?
> >>>>>> ¿solo autenticación? ¿roles? ¿etc?.
>
> >>>>>> ¿vas a querer integrarte con cuentas públicas (twitter, facebook,
> >>>>>> etc)? ¿que tecnologías tenés en los servidores y en los clientes?... estaba
> >>>>>> pensando en que tenés .NET pero este tema, muchas veces, abarca varias
> >>>>>> tecnologías.
>
> >>>>>> ¿quienes serían los usuarios? ¿cualquiera? ¿empleados de una empresa?
>
> >>>>>> creo que contestarte estas preguntas te van a ayudar a orientarte en
> >>>>>> lo que andás buscando. Productos y frameworks hay varios.
>
> >>>>>> saludos.
> >>>>>> nelo
>
> >>>>>> 2012/1/5 Christian Eduardo Palomares Peralta <
palomare...@gmail.com>
>
> >>>>>>> Estuve leyendo al respecto en
oauth.net , pero existe algún
> >>>>>>> framework o librería ya diseñado para hacer este tipo de validación tanto
> >>>>>>> como provider, así como consumer????
>
> >>>>>>> Saludos
>
> >>>>>>>> para la seguridad te recomiendo OAuth<
http://es.wikipedia.org/wiki/OAuth>
>
> >>>>>>>> Salutes.
>
> >>>>>>>> 2012/1/5 Christian Palomares (ShinjiDev) <
palomare...@gmail.com>
> >>> Christian Eduardo Palomares Peralta (ShinjiDev) -
http://shinjidev.com
>
> >>> --
> >>> Has recibido este mensaje porque estás suscrito al grupo
> >>> "AltNet-Hispano" de Grupos de Google.
> >>> Para publicar una entrada en este grupo, envía un correo electrónico a
>
> ...
>
> read more »