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
- 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