Wednesday, December 4, 2024

Keycloak, Características, Instalacion y configuración

 Sesión 4: 3h41m30s

Hoy en dia las organizaciones usan proveedores de identidad.

Una vez que el proveedor de identidad te redirecciona a tu aplicación puedes seguir trabajando sin hacer uso del usuario y password sino con los tokens de acceso e identificación que entregó el proveedor de identidad.

Hay varios proveedores de identidad:

  • Azure AD
  • Google
  • Facebook 
  • IdentiyServe 4
  • WCO2 Identiy Server
  • Keycloak
Estos tres últimos puedes instalar de manera standalone. 
ASP.NET Identity Core te provee un gestor de identidad (no tan robusto).

Keycloak

  • Es un servidor de autenticación y gestión de identidad de código abierto que proporciona autenticación de usuarios con gran variedad de características.
  • Fue desarrollado por Red Hat y es ampliamente utilizado para la autenticación en aplicaciones modernas.
  • Soporta protocolos estándar de la industria como OpenID Connect, OAuth 2.0, JWT, SAML entre otros. Esto significa que puede integrarse con una gran cantidad de aplicaciones y servicvios sin necesidad de implementar su propia solución de autenticación.

Carecterísticas de Keycloak



Instalación y Configuración

Sesión 4: 3h51m30s

  • Agregar archivo de configuración Configuration.txt en la siguiente ruta: app/Backend/Infrastructure/Security/keycloak y seguir los pasos definidos en dicho archivo.
  • Crear base de datos llamada "keycloak" en SQL Server
  • Instalar la última version de keycloak: https://www.keycloak.org. Lo agregamos en "docker-compose.yml".
  • Levantamos servidor de keycloak: docker compose up -d keycloak
  • Acceder al servidor keycload "http://localhost:8081" con user/pass definido (admin/Password1234)
  • Crear un "realm" sería como un entorno de la aplicación. Real name: "fullstack"
  • Crear un cliente para que consuma nuestro library.service.
  • ...
  • Test keycloak
    • POST http://localhost:8081/realms/fullstack/protocol/openid-connect/token
    • BODY TYPE: x-www-form-urlencoded
    • BODY
      • grant_type: password
      • client_id: library.service
      • username: javier
      • password: password
      • client_secret: <from client>

No comments:

Post a Comment

Cuando el código funciona, pero no tiene tests: ¿y ahora qué?

Seguramente te ha pasado alguna vez. Te dan acceso al repositorio de un nuevo proyecto. Lo abres con curiosidad, esperas encontrar una estru...