No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Qué es OAuth 2.0?

11/25
Recursos

Aportes 4

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Unas de las diferencias entre OAuth 1 y 2 (los diferenciaremos por numero para practicidad) son los roles, antes solamente existian 3, donde el (auth server y resource server) eran uno solo.

Otra fue la complejidad a la hora de autenticarse para hacer peticiones a las APIS de terceros, donde cada request, debia ser procesado con varias implementaciones y configuraciones de librerias para llegar a un resultado final (tomando en cuenta que veniamos de un username/password). Luego, esto pasa a los tokens, donde volvemos a tener una manera mas rapida de acceder a las APIS

Primero pondré unos puntos que describen a ambos protocolos y después dejaré mi conclusión. La información de esos puntos proviene del siguiente sitio.

OAuth 1.0:

  1. Independiente del transporte. La seguridad no se delega a HTTPS / TLS.

  2. Fundada en criptografía, especialmente firmas digitales. Las firmas digitales se utilizan para demostrar la integridad y autenticidad de un mensaje. Las firmas digitales pueden garantizar que se envió un determinado mensaje desde una fuente específica y que el mensaje y la firma no se alteraron de ninguna manera. Un mensaje firmado está vinculado a su origen. No se puede alterar ni copiar a otra fuente, pero las implementaciones del lado del cliente pueden ser especialmente complejas.

  3. Los mensajes se firman individualmente criptográficamente. Si un solo mensaje dentro de la comunicación se construye o firma incorrectamente, toda la transacción será invalidada.

  4. Flujo de trabajo básico de firma.

OAuth 2.0:

  1. Dependiente del transporte. La mayoría de las defensas de seguridad se delegan a HTTPS / TLS. Un
    error tipográfico, una configuración TLS incorrecta, una falla en la validación adecuada de un certificado o vulnerabilidades en una biblioteca subyacente pueden conducir a un ataque de hombre en el medio ( MitM ), comprometiendo todas las comunicaciones de OAuth.

  2. Centrado alrededor de tokens al portador. Estos son fáciles de integrar pero no excelentes para la seguridad. Las fichas al portador no proporcionan mecanismos de seguridad interna. Se pueden copiar o robar, pero son más fáciles de implementar.

  3. Mucho más fácil trabajar con él. OAuth 2.0 es mucho más utilizable, pero mucho más difícil de construir de forma segura.

  4. Mucho más flexible. OAuth 1.0 solo manejó flujos de trabajo web, pero OAuth 2.0 también considera clientes no web.

  5. Mejor separación de deberes. El manejo de solicitudes de recursos y el manejo de la autorización del usuario se pueden desacoplar en OAuth 2.0.

  6. Flujo de trabajo básico de firma.

Revisando los anteriores puntos, se puede concluir que el cambio a la versión 2.0 fue motivada principalmente por la dificultad de implementar la anterior versión y su limitación a los flujos de trabajo web.

Considero que el salto a OAuth 2.0 fue provocado por la necesidad de tener mas versatibilidad en el manejo de los token, como la implementacion de un token de actualizacion. Esta version 2.0 trajo mas variedad de metodos para realizar la validacion de un token.

El curso ha estado super bien hasta ahora pero: