Image for post
Image for post

Recientemente tuvimos el desafío de implementar para un cliente un nuevo sistema de autorización y autenticación de aplicaciones, microservicios y usuarios. Lo primero que nos vino a la mente es OAuth2. Nunca lo habíamos implementado, pero sabíamos que es hoy el estándar usado por todas las grandes empresas para autenticar sus usuarios y “compartir” sus APIs con aplicaciones de terceros.

Ventajas

  • Protocolo estándar, ampliamente usado y de seguridad probada.
  • Gran variedad de librerías y frameworks que permiten integrarse a OAuth2, incluyendo Spring Framework.
  • Gran variedad de “workflows” tanto para autenticar usuarios como para autorizar aplicaciones, y fáciles de implementar.
  • Usándolo en conjunto con el estándar JWT, permite generar tokens stateless y firmados digitalmente, lo que permite no solo no tener que persistirlos para poder luego validarlos, sino también que sea la misma aplicación que recibe el tokens quien valide la autenticidad del mismo mediante la firma digital. …


Image for post
Image for post

En Grayshirts implementamos muchos proyectos de nuestros clientes con Play Framework 1.x. Cuando lo empezamos a usar años atrás lo elegimos por su simplicidad, batería de opciones pre-configuradas y performance. Pero luego vino Play 2, y de Play 1 solo quedó el nombre: el framework cambió completamente, incluso el lenguaje principal ahora es Scala, si bien sigue siendo una herramienta que corre sobre la JVM, y siguen soportando el lenguaje Java.

Peor aún, si hubiéramos afrontado el costo de migrar el código de alguna de nuestras aplicaciones a Play 2.0, luego hubiéramos tenido que hacer lo mismo al movernos a la última versión 2.5, que sufrió un fuerte refactor, y todo parece indicar que en la próxima versión mayor (3.0) sucederá lo mismo. Entonces aquí un punto fuerte a favor de su competidor: Spring al igual que Play está en constante evolución, pero manteniendo una fuerte compatibilidad hacia atrás. …

About

Mariano Ruiz

Software Developer @ ScrapingHub

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store