Tareas comunes SAML 2.0
La implementación del protocolo se hizo mediante un módulo SimpleSAMLphp que se encuentra en idp/simplesamlphp-module-arai
, el mismo utiliza los recursos de storage de SIU-Araí: Usuarios para llevar adelante las diferentes funcionalidades.
A continuación veremos las tareas más comunes a realizar sobre el servidor.
Agregar cliente
Para que nuestro servidor pueda autenticar usuarios en las aplicaciones via SAML, necesita saber cuales son los Service Providers (SP) de las mismas, los cuales se conectaran con el IDP para delegarle la autenticación.
En SIU-Araí: Usuarios existen dos formas de agregar un cliente (SP):
Vía consola
Luego de registrar una nueva aplicación vía consola, normalmente se visualiza un mensaje que explica que para que se tenga acceso via SSO la misma debe ser registrada como SP, esto lo podemos llevar adelante con el siguiente comando, reemplazando $VERSION
por el valor adecuado:
docker run --rm \
--env-file usuarios.env \
hub.siu.edu.ar:5005/siu-arai/arai-usuarios/idm:$VERSION -- \
idm/bin/toba proyecto configurar_sp -p arai_usuarios --endpoint SP_URL --app appID --login ACS_URL [--logout SLS_URL]
Donde los parametros solicitados se corresponden con los siguientes conceptos:
--endpoint EntityID
--login Assertion Consumer Service
--logout Single Logout Service (opcional)
--app appUniqueID es el identificador con que se registro la aplicación en SIU-Arai: Usuarios
Al configurar por esta vía el SP el mismo queda activo automáticamente
Vía Web
Desde la operación Aplicaciones
en la pestaña denominada SAML
podemos asociar el SP para la misma.
Los datos que debemos proveer son:
EntityID: El identificador univoco para este SP, usualmente especificado como ${URL_APLICACION}/default-sp
Assertion Consumer Service: El endpoint donde el IDP debe enviar las respuestas a la solicitud de login
Single Logout Service: El endpoint donde el IDP debe enviar las respuestas a la solicitud de logout
Config. Extra: Lista de atributos y valores en formato JSON que deben sumarse a los datos antes mencionados
Hay que tener en cuenta que la existencia del cliente no significa que se este utilizando, para ello tildar el checkbox en la parte superior del formulario en el campo activo.