La curva de aprendizaje para la seguridad es severa e implacable. Esta sesión profundiza el estado actual y evolución que la seguridad en arquitecturas basadas en servicios REST han requerido con conceptos competitivos como OAuth 2.0 en el mundo mobile y HTTP signatures utilizado por Amazon en API's B2B. Finalmente se presenta el proyecto Eclipse MicroProfile JWT que provee un API Java Empresarial optimizado para arquitecturas orientadas a Microservicios. Se presentará un caso práctico en el que se desarrollará una aplicación segura con MicroProfile JWT, Apache TomEE y AngularJS. Demostrando de esta forma las capacidades de configuración, CDI, autenticación y autorización avanzadas que ofrece Eclipse MicroProfile JWT. Durante esta sesión los asistentes podrán ver los conceptos básicos de seguridad REST con Oauth 2.0, JWT y Http signatures. El caso práctico será presentado utilizando Eclipse Microprofile sobre una aplicación con un Front-End AngularJS y Java EE en Apache TomEE.
2. @CesarHgt @tomitribeJavaDay Ecuador 2018
● Senior Software Engineer at Tomitribe
● Java Champion
● Ducke’s Choice Award 2016, 2017
● Oracle Certified Professional
● +10 experience with Java EE
● Eclipse Commiter: Jakarta EE TCK, JAX-WS
and Microprofile.
● Open Source advocate, teacher and public
speaker
César Hernández
5. @CesarHgt @tomitribeJavaDay Ecuador 2018
“Lo mejor de los estándares es que terminas
teniendo muchas opciones por escoger.”
- Andrew S. Tanenbaum
6. @CesarHgt @tomitribeJavaDay Ecuador 2018
Opciones de seguridad para
Microservicios
● Más allá de Basic Auth
● Teoría de OAuth 2.0
● Introducción a JWT
● Eclipse Microprofile
● Demo
35. @CesarHgt @tomitribeJavaDay Ecuador 2018
Terminología de nuevo…
∙ Password Grant???
∙ Logging in
∙ Token?
∙ Un password ligeramente ofuscado
∙ Equivalente a un HTTP session ID mejorado levemente
48. @CesarHgt @tomitribeJavaDay Ecuador 2018
Nuevo Access Token
∙ header (JSON > Base64 URL Encoded)
∙ Describe como la firma (signature) del token puede ser
verificada
∙ payload (JSON > Base64 URL Encoded)
∙ Json map de información que desees incluir
∙ Campo estándar como el de Expiración
∙ signature (Binary > Base64 URL Encoded)
∙ La firma digital
∙ Hecha exclusivamente por el endpoint: /oauth2/token
∙ Si es RSA puede ser verificado por cualquier persona
71. @CesarHgt @tomitribeJavaDay Ecuador 2018
MicroProfile
∙ Comunidad Open-Source de la fundación Eclipse
∙ Enfocada en Microservicios bajo JavaEE
∙ Generadora de: Specificaciones, API y TCK.
∙ Implementado por diferentes entidades
http://microprofile.io/