Saltar al contenido

¿OAuth o JWT? ¿Cuál usar y por qué?

Es fundamental interpretar el código correctamente previamente a utilizarlo a tu proyecto y si ttienes algo que aportar puedes comentarlo.

Solución:

JWT es un protocolo de autenticación simple, Oauth es un marco de autenticación.

Un desarrollador experimentado tardará aproximadamente un mes en comprender e implementar completamente Oauth. Un desarrollador experimentado puede adquirir el protocolo JWT en aproximadamente un día después de leer las especificaciones. Básicamente, todo se reduce a su caso de uso específico.

Si desea una autenticación http sin estado simple para una API, entonces JWT está bien y es relativamente rápido de implementar, incluso para un desarrollador novato.

Algunos recursos de JWT para usted:

  • http://jwt.io/
  • https://auth0.com/docs
  • http://www.toptal.com/web/cookie-free-authentication-with-json-web-tokens-an-example-in-laravel-and-angularjs

Y un recurso de Oauth:

  • http://tutorials.jenkov.com/oauth2/overview.html

JWT significa JSON Web Token, ya que el nombre sugiere que es solo un token para transferir datos seguros entre dos partes, es decir, el cliente y el servidor.

Oauth2 por otro lado es un conjunto de reglas o un procedimiento comúnmente llamado marco que ayuda a autenticar y autorizar a dos partes a transferir datos seguros.

El siguiente diagrama explicará cómo funciona oauth2

Flujo de código de autorización

Aquí hay una explicación más detallada de los pasos en el diagrama:

  1. La aplicación solicita autorización para acceder a los recursos del servicio del usuario
  2. Si el usuario autorizó la solicitud, la aplicación recibe una concesión de autorización
  3. La aplicación solicita un token de acceso del servidor de autorización (API) presentando la autenticación de su propia identidad y la concesión de la autorización.
  4. Si la identidad de la aplicación está autenticada y la concesión de autorización es válida, el servidor de autorización (API) emite un token de acceso a la aplicación. La autorización está completa.
  5. La aplicación solicita el recurso del servidor de recursos (API) y presenta el token de acceso para la autenticación
  6. Si el token de acceso es válido, el servidor de recursos (API) entrega el recurso a la aplicación

Ambos pueden usarse juntos para transferir datos seguros.

Donde JWT entra en juego en los pasos 3 y 6 de oauth2

Token web JSON (JWT) es un estándar abierto (RFC 7519) que define una forma compacta y autónoma de transmitir información de forma segura entre las partes como un objeto JSON. Esta información se puede verificar y confiar porque está firmada digitalmente. Los JWT se pueden firmar usando un secreto (con el algoritmo HMAC) o un público/privado key empareje usando RSA.

Autenticación automática 2.0 es el protocolo para la autorización. OAuth 2.0 reemplaza el trabajo realizado en el protocolo OAuth original creado en 2006. OAuth 2.0 se enfoca en la simplicidad del desarrollador del cliente al tiempo que proporciona flujos de autorización específicos para aplicaciones web, aplicaciones de escritorio, teléfonos móviles y dispositivos de sala de estar. Esta especificación se está desarrollando dentro del IETF OAuth WG.

– El OAuth Tenemos diferentes tipos de tokens.

1) tokens WS-Security, especialmente tokens SAML

2) fichas JWT

3) Fichas heredadas

4) fichas personalizadas

Lo más importante que debe comprender al comparar JWT y OAuth2 es que no son iguales. O incluso incompatibles.

JWT es un protocolo de autenticación
Esto significa que es un conjunto estricto de instrucciones para la emisión y validación de tokens de acceso firmados. Los tokens contienen notificaciones que utiliza una aplicación para limitar el acceso a un usuario.

**OAuth2 es un marco de autorización ** OAuth2, por otro lado, es un marco, piense en una guía muy detallada, para permitir que los usuarios y las aplicaciones autoricen permisos específicos para otras aplicaciones en entornos públicos y privados.

Algunos buenos enlaces:

  • [1]: https://community.apigee.com/questions/21139/jwt-vs-oauth.html

  • [2]: https://youtu.be/XGmUlyggXVo

  • [3]: http://www.seedbox.com/en/blog/2015/06/05/oauth-2-vs-json-web-tokens-comment-securiser-un-api/

Si te sientes a gusto, tienes la opción de dejar un escrito acerca de qué te ha gustado de este artículo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *