Protocolos de autenticación soportados por la plataforma
Identity Manager Básico
Este Identity Manager es un DaM sobre Spring Cloud y soporta:
Repositorios de Usuarios:
ConfigDB: Este es el repositorio de usuarios por defecto que trae plataforma, normalmente sobre una base de datos MySQL o Maria DB, aunque puede ir sobre otras tecnologías relacionales.
LDAP: Es posible sustituir el repositorio de usuarios por un Active Directory o LDAP, de tal forma que la autenticación se delega en éste. La primera vez que un usuario inicie sesión, se replicará localmente en plataforma para poder utilizar todas las funcionalidades de ésta. Para información sobre cómo configurar este tipo de repositorio se hace referencia a la guía https://onesaitplatform.atlassian.net/wiki/spaces/DOC/pages/2216825333
Extensible vía plugins: a través de plugins se puede extender el Identity Manager para conectar con otros repositorios.
Protocolos de autenticación
Open ID / OAuth2: Este estándar está disponible tanto para escenarios con Config DB como para LDAP/AD pero no para SAML v2, ya que se trata de un protocolo síncrono de varios pasos y por esta razón lo hace incompatible. Uso: https://onesaitplatform.atlassian.net/wiki/spaces/OP/pages/55836815 .
SAML v2: Si se requiere una integración con SAML v2 es posible realizarla parcialmente. La plataforma es capaz de integrar una autenticación vía SAML con un IdP externo, pero pierde las capacidades de autenticación REST a través de Oauth, solo es posible integrar la parte Web App (Controlpanel).
Si es un requisito utilizar SAMLv2 + Open ID/Oauth 2 sería necesario instalar la versión avanzada del IM
Extensible vía plugins: a través de plugins se puede extender el Identity Manager para conectar con otros repositorios.
Identity Manager Avanzado
En escenarios que se requiera un IM más sofisticado ofrecemos una integración con Keycloak.
En esta guía hay una pequeña introducción de como abordamos la integración dicho IM: https://onesaitplatform.atlassian.net/wiki/spaces/DOC/pages/2216825714
Repositorios de usuarios
A diferencia del IM básico, se pueden configurar varios repositorios de usuarios simultáneamente:
ConfigDB.
LDAP.
Kerberos.
Cualquier otro tipo de repositorio, pero lleva asociado el desarrollo de un plugin para Keycloak.
Identity Brokering
Mediante el concepto de Identity Brokering, podemos delegar la autenticación a través de protocolos como SAMLv2, OpenID/Oauth 2…en otros IM, pero el proceso de autenticación se sigue realizando a través de nuestro IM, por lo que se podría seguir utilizando OpenID/Oauth2** como interfaz REST de autenticación.
NOTA: aunque se puede seguir utilizando este estándar para la autenticación, solo estará disponible el flujo de código de autorización de Oauth2, el flujo de autenticación implícito es inviable debido a limitaciones técnicas (redirecciones necesarias al IM externo, etc.)
IM Externos
Por último, también se puede delegar la autenticación de plataforma en un IM externo, por lo que a todos los efectos la plataforma pasaría a tener el role de Identity Service o Resource Server, y plataforma no expediría ningún token, solo los validaría contra el IM/IdP externo.
Para utilizar este tipo de autenticación, el único requisito es que se pueda autenticar al IM externo a través de OpenID/Oauth2.
Después habría que seguir esta guía https://onesaitplatform.atlassian.net/wiki/spaces/OP/pages/2195456001 y completar un pequeño plugin Java para el correcto mapeo de roles IM-plataforma.