Practica 3.2 - Uso de Tokens para aseguramiento de las rutas.
Para el desarrollo de la practica, realizaremos la instalación de un servidor de autorización, para la fabricación de tokens y la validación de los mismos.
Es importante contar con este servidor, ya que facilitara la labor de garantizar que el consumo de los servicios, sera realizado por un mecanismo valido y certificado.
Por la razón anterior, utilizaremos Keycloak como Authorization Server, ya que cuenta con las certificaciones requeridas que garantizaran la protección de nuestros servicios y nos permitirá agregar características tales como:
- Agregar MFA para la identificación de los usuarios
- Usar flujos Oauth2 y OpenId Connect para la generación de los tokens.
- Controlar el tiempo de vida de los tokens
- Habilitar mecanismos de refrescado de tokens
- Habilitar endpoints estándar para el ciclo de vida de los tokens
- Control de roles
- Flujos de registro de usuarios.
Ademas de las características principales anteriores, existe una integración natural entre Xposer Server, con lo que la opción de verificación de roles, sera de gran utilidad para refuerzo de seguridad en el consumo de nuestros servicios.
El desarrollo de estos laboratorios tendrá la siguiente evolución y resultados:
-
lab001: En este laboratorio, realizaremos la instalación de un servicio de Keycloak y configuraremos un realm, un cliente y un usuario para poder consumir los servicios.
-
lab002: En este laboratorio, realizaremos la configuración de una ruta para poder consumir los servicios de token y userinfo, desde el Xposer Server, pero llegando al Keycloak sin ser expuesto directamente.
-
lab003: En este laboratorio, configuraremos una ruta para asegurarla habilitando en la regla la opción de token, y consumiendo directamente el servicio.
-
lab004: En esta practica, configuraremos un rol en Keycloak, y configuraremos la regla para solicitar dicho rol. Ademas, crearemos otro usuario para intentar consumir el servicio sin roles, y observaremos el resultado de esos intentos.