---
title: "Protocolos de autenticación soportados por la plataforma"
canonical: "https://onesaitplatform-es.refined.site/space/DOC/2216825046/Protocolos%20de%20autenticaci%C3%B3n%20soportados%20por%20la%20plataforma"
format: markdown
---
> Macro (toc)

# 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](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](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](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](https://www.keycloak.org/docs/latest/server_admin/#_identity_broker), 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 s**e 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](https://onesaitplatform.atlassian.net/wiki/spaces/OP/pages/2195456001) y completar un pequeño plugin Java para el correcto mapeo de roles IM-plataforma.