WebAPI que autentica por token y WebApp que autentica mediante Keycloak

Este desarrollo fue diseñado para un cliente que necesitaba un sistema de #SSO para toda su plataforma de aplicaciones, algunas #API, otras #Rest y otras #SOAP. La gran mayoría de los desarrollos de nuestro cliente eran .NET.

El cliente tenia un desarrollo propio que hacia uso de autenticación y autorización, pero a través de procesos custom. La autenticación usaba usuario y password, se creaba y persistía un #customsession.

El desafio pasaba por comenzar a utilizar un protocolo standard de autorización, el elegido fue oAuth2, protocolo que utiliza #JWT pero configurando tambien SAML para casos donde hubiera necesidad de autenticar y autorizar sobre XML.

Hicimos una #WebAPI que autentica por #Token, y una #WebApp que autentica mediante el form de #Keycloak.

¿Que usamos?

Usamos un stack tecnológico basado en Kubernetes para correr los contenedores del sistema de SSO, y Keycloak como solucion de #IAM (Identity & Access Management).

Video

Esta demo continua el desarrollo efectuado en esta entrada.

En este caso, el principal desafío era implementar una herramienta de autenticación común para todas las app de la empresa. Implementar una solución de administración de identidades tiene como objetivo mejorar la seguridad, pero al mismo tiempo se logra un aumento significativo de la productividad debido a la reducción de las tareas redundante y el re-aprovechamiento de código. Adicionalmente se genera una disminución en los costos.

Beneficios

Desde una plataforma IAM se puede lograr la administracion de usuarios internos y externos, como asi tambien las cuentas de servicios que usan las herramientas y software. Adicionalmente las apps que validan por token pueden hacerlo a traves de la misma herramienta. Es decir, tenemos una plataforma unificada que nos permite:

  • ABM de cuentas de usuario
  • Manejo de contraseñas
  • Inicio de sesión único (SSO)
  • Control de acceso basado en roles (RBAC)
  • Gobernanza de acceso
  • Auditoria y Cumplimiento

Algo destacado es que estos sistemas permiten desarrollar capacidades de autogestión que permite lograr que el usuario tenga una determinada autonomía para recuperar passwords, generar nuevos usuarios, etc.

Resumen

Como conclusión, podemos destacar que un sistema de IAM emplea la tecnología para apoyar la transformación digital. Un software que brinda facilidad de administración, un incremento importante en la seguridad, optimización de los tiempos de desarrollo y satisfacción a los clientes de la empresa.


Si necesitas ayuda, solicita asesoramiento con tu proyecto desde aqui mismo:

Contactate

    Por favor, prueba que eres un humano seleccionando el árbol.