¿Alternativas a OAuth?

20

La industria web está cambiando / se ha desplazado hacia el uso de OAuth al extender los servicios API a consumidores y desarrolladores externos. Hay algo de elegancia en lo simple ... y bueno, el proceso de OAuth de 3 pasos no es tan malo ... solo encuentro que es el mejor de un montón de opciones malas.

¿Existen alternativas que podrían ser mejores y más seguras?

La referencia de seguridad se deriva de las siguientes URL:

Me he encontrado con esto en el intercambio de la pila de seguridad de TI y pensé que era conmovedor desde el punto de vista de la seguridad:

¿Quizás SAML 2.0 es una alternativa?

¿Qué hay de OpenID ?

El propósito de esta pregunta es desde el punto de vista de la programación.

¿Es OAuth la mejor opción que existe hoy ...?

¿Existen opciones alternativas que me permitan extender mi aplicación web a los consumidores que son mejores desde el punto de vista de la seguridad, el punto de vista de la implementación, la longevidad (no requerirá modificaciones en unos pocos meses) y permitir el soporte de aplicaciones móviles que consumen mi web solicitud.

sdolgy
fuente
2
¿Mejor de qué manera? ¿Qué ves que está mal con OAuth?
Dean Harding
"La industria de Web2.0 está cambiando / ha cambiado hacia el uso de OAuth" Esa es una declaración audaz. Si bien SE es uno de los pocos ejemplos que usan OAuth, no creo que la mayoría de los sitios lo hagan.
Tamás Szelei
facebook, twitter, weibo, yahoo, google, foursquare ... todos lo proporcionan para consumir sus aplicaciones / servicios ... ¿no?
sdolgy
1
La pregunta importante es ¿cuántos sitios los utilizan?
Tamás Szelei

Respuestas:

11

En primer lugar, OAuth no es un reemplazo de inicio de sesión . Esa es una tarea resuelta por OpenID y similar.

OAuth es un protocolo de autorización de transferencia de datos temporal. Para el tipo de tarea en la que desea importar sus datos del sitio web A al sitio web B, usaría OAuth. Pero igual iniciaría sesión en el sitio web A con OpenID. Sin embargo, Google anunció recientemente un protocolo que combina los dos, por lo que supongo que la diferencia entre ellos es más turbia que antes.

Una alternativa a OAuth sería Facebook Connect . No estoy seguro de conocer alguna alternativa a eso (quizás algunos de los sistemas de seguridad RPC podrían ser adecuados para la web)

gbjbaanb
fuente
Gracias por explicar la distinción. ¡Tuve una suposición completamente equivocada!
Matt Ellen
¿No se utilizan los conceptos de OAuth para autenticar teléfonos inteligentes en sitios web? como una aplicación de twitter o foursquare para android ...?
sdolgy
1
@sdolgy: sí, es un medio de autenticar una aplicación de terceros con su servicio sin tener que revelar su contraseña a esa aplicación.
Dean Harding
Vale la pena mencionar que esto no cubre todos los tipos de OAuth, por ejemplo, credenciales de cliente.
Robert Grant