SAML en Diaguita (RESPONDIDO)

Hola, buen dia.

En la Univ. Nac. de Río Cuarto tenemos configurado un servidor IDP que implementa SAML con simplesamlphp y necesitamos integrar Diaguita como SP.

Hemos seguido la documentación disponible (evidentemente con alguna falla de nuestra parte), y no logramos que DIaguita permita el acceso autenticándose desde nuestro IDP..

El login se redirige correctamente hacia el IDP pero al retornar el control a Diaguita muestra el mensaje de error “El usuario no posee permisos para acceder al item solicitado.”

Si accedemos con el mismo usuario desde el login normal de Diaguita el sistema funciona bien.

De la información de error que hemos podido recopilar, el método get_perfiles_funcionales_activos devuelve un array vacío.

No se si eso les puede dar una pista del error que estamos cometiendo.

Quedo a la espera de sus comentarios y obviamente cualquier ayuda que puedan brindarnos será muy bienvenida..

Hola Juan,

Para tener un poco mas claro como lo tienen configurado te dejo 2 consultas.

1- Que Guia/Documentación han seguido para hacer la configuracion?

2- Uds no utilizan Arai-Usuarios para la gestión de Usuarios?

Saludos

Hola Pablo,

Hola, buen dia.
1- Que Guia/Documentación han seguido para hacer la configuracion?
De este link vimos lo que requeria Diaguita para ser un SP

https://documentacion.siu.edu.ar/wiki/SIU-Diaguita/version3.5.0/guia_rapida_diaguita_eei

Por otro lado la configuracion de SAML la tenemos de antes porque la usamos para otros sistemas.

2- Uds no utilizan Arai-Usuarios para la gestión de Usuarios?
No usamos Arai. tenemos un sitema informatico integral en el cual vamos a reemplazar los modulos especifico relacionados a las funcionalidades que ofrecen Diaguita, Pilaga y SUDOCU

La idea es integrar esas aplicaciones a nuestro ecosistema haciéndolo trasparente para nuestros usuarios

Hola Juan,

Te dejo algunas consultas:

1- Con Pilaga ya hicieron la integración para usar la autenticacion saml?

2- Tienen alguna personalización en Diaguita, principalmente en el flujo de autenticacion/autorizacion del usuario?

3- Podrías enviarnos la config de saml_onelogin.ini en Diaguita.

Saludos.

Hola, buen dia.

1- Con Pilaga ya hicieron la integración para usar la autenticación saml?
No. Diaguita es el primer sistema que estamos intentando integrar.

2- Tienen alguna personalización en Diaguita, principalmente en el flujo de autenticacion/autorizacion del usuario?
NO. instalamos diaguita 4.0.0 y solo estamos intentando integrarlo modificando los archivos de configuración sin tocar el código fuente.

3- Podrías enviarnos la config de saml_onelogin.ini en Diaguita.
Estamos trabajando con saml no con saml_onelogin

------------------------------ saml.ini -----------------------------
[basicos]
verifyPeer = “1”
permite_login_toba = “0”
path_sp = 3ros/simplesamlphp
;atributo_usuario = urn:oid:0.9.2342.19200300.100.1.1
atributo_usuario = “defaultUserAccount”

[sp]
auth_source = “default-sp”
baseurlpath = /toba_diaguita_sp/
session.phpsession.cookiename = “TOBA_SESSID”
proyecto_login = “diaguita”
idp = “El URL del IDP” + metadata (el foro no me deja poner los link )

[idp:El URL del IDP + metadata]
name = “Sisinfo IdP”
SingleSignOnService = El URL del IDP + /singleSignOnService”
SingleLogoutService = “El URL del IDP + /singleLogout”
certFingerprint = “D2:76:33:DC:8B:41…”
certFile = “/SIU/SIU-Diaguita-4.0.0-Linux/instalacion/idp.crt”

Saludos.

Hola Juan,

Entiendo entonces que están usando simplesamlphp. Hay un motivo por el que están usando esa lib y no onelogin?

Podrian usar onelogin en lugar de simplesamlphp? Toba actualmente tiene una mejor integración con onelogin que con simplesamlphp. Hicieron ajustes en el vendor para poder usar la versión de simplesamlphp que se incluiría usando la versión 4.0.0 de Diaguita que requiere php 8.1?

Saludos.

>> Entiendo entonces que están usando simplesamlphp. Hay un motivo por el que están usando esa lib y no onelogin?
Usamos simplesamlphp porque es open source, La utilizamos para otros sistemas no SIU y funciona muy bien. Supusimos que Diaguita se podría integrar sin problemas.

No tengo experiencia con OneLogin pero entiendo que hay que crear una cuenta en la nube.

>> Podrian usar onelogin en lugar de simplesamlphp?
Si pudiéramos continuar con simplesamlphp seria mejor.

>>Toba actualmente tiene una mejor integración con onelogin que con simplesamlphp. Hicieron ajustes en el vendor para poder usar la versión de simplesamlphp que se incluiría usando la versión 4.0.0 de Diaguita que requiere php 8.1?

Esta es la configuración que estamos usando en el servidor Diaguita…

  • SIU-Diaguita 4.0.0
  • SIU-TOBA 3.4.4
  • PHP Version 8.1.33
  • simplesamlphp 1.19.8

Este es el log del servidor web cuando intenta establecer la sesión en Diaguita.

sh: 1: svn: not found

MANEJADOR de SESIONES. Error de consistencia interna,
la sesion y el usuario estan marcados como activos,
pero la propiedad ‘usuario’ no se encuentra seteada, referer: https://diaguita2.unrc.edu.ar/diaguita/

toba_error_autorizacion: El usuario no posee permisos para acceder al item solicitado.
[TRAZA]
toba_nucleo->autorizar_acceso_item
Archivo: /SIU/SIU-Diaguita-4.0.0-Linux/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 364
toba_nucleo->cargar_solicitud_web
Archivo: /SIU/SIU-Diaguita-4.0.0-Linux/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 118
toba_nucleo->acceso_web
Archivo: /SIU/SIU-Diaguita-4.0.0-Linux/www/aplicacion.php, lInea 22
, referer: https://diaguita2.unrc.edu.ar/diaguita/

Hola Juan,

Cuando hablaba de onelogin me refería a la lib onelogin/php-saml que es incluida por toba, no al servicio en la nube.

La lib onelogin/php-saml es utilizada por toba para realizar la autenticacion contra un idp usando saml. Es la alternativa con mejor soporte desde toba, en lugar de usar la libsimplesamlphp.

No seria necesario que hagan cambios en su IDP y solamente seria requerido que realicen la configuración de saml como se muestra en la guia que habían usado de referencia. Como podés ver en la guía, se muestra la config de ejemplo del archivo saml_onelogin.ini. Lo ideal sería que hagan la config del saml_onelogin.ini y luego desde el instalacion.ini indicar que se usa ese mecanismo de autenticación: autenticacion = "saml_onelogin"

Saludos.

Hola,

Con la librería onelogin funciono sin problemas la integración.

Gracias!

Perfecto! gracias por confirmar Juan!

Saludos.