Configuración LDAP en Keycloak
Se puede configurar Keycloak para federar un LDAP/AD siguiendo los siguientes pasos. Los usuarios serán importados a plataforma tras el primer inicio de sesión satisfactorio.
Federar LDAP
El primer paso será dar de alta el LDAP en “User Federation”. Sera necesario hacerlo en los diferentes tenants:
Le damos a “Add provider” > LDAP
Marcar modo ‘UNSYNCED’ y el vendor del LDAP:
En la siguiente sección, hay que configurar la conexión, credenciales y atributos para las búsquedas que se van a hacer cuando se realice el log in.
Una vez completado todo, lo creamos.
Mappers de atributos
El siguiente paso será configurar los mappers que van a servir para extraer el username, mail, display name, etc. , a la hora de importar el usuario en plataforma.
Los atributos importantes son los siguientes:
En función de donde se almacenen estos datos, tendremos que cambiar el nombre del atributo a mapear (p.e. el email)
Flujo de autenticación
El último paso será añadir al flujo principal de autenticación un execution más para que se procese el resultado del LDAP cuando éste se ha activado.
Vertical por defecto
Para el vertical por defecto (Realm: onesaitplatform) se realizará lo siguiente:
En los flujos de autenticación de este Realm, seleccionar “Multitenant-implicit-grant-flow” y luego ‘Add execution’ y seleccionar LDAP import utility:
Lo marcamos como required en el flujo de autenticación y procedemos a configurarlo:
Aquí tendremos que configurar los usuarios que se importaran como administradores en plataforma, así como el role por defecto para el resto:
Hacer lo mismo para el flujo ‘Multitenant-browser-flow’, ahora la execution se añade desde ‘Multitenant-browser-form’ ya que será un sub-paso del mismo:
Añadir la execution justo después de Username Password Form (mover con las flechas para colocar el orden)
Resto de verticales
Para el resto de verticales el proceso será similar. Dentro de cada vertical (Realm de Keycloak), iremos al apartado de ‘Authentication’ . Tendremos que modificar los flujos de Browser y Direct Grand, para ellos tendremos que crearnos una copia de ambos flujos (no se pueden editar los de por defecto). Después, añadir las ejecuciones de LDAP Import tal como se muestra a continuación:
Por último, para que se usen estos nuevos flujos, modificar el apartado ‘Bindings’ de ‘Authentication’.