Luego de Configurar parámetros SAML en SIU-Guaraní el instructivo indica que A partir de este momento, al ingresar al proyecto, este debiera de redirigirnos a la página de login centralizado de la plataforma SIU-Araí.
Pero cuando ingreso a Guarani gestión recibo en apache el siguiente error
Viendo el archivo “instalacion.ini” notamos que la variable “nombre” debería coincidir con “proyecto_login” del archivo “saml_onelogin.ini”. En primera instancia, recomendamos modificar esto y hacer que coincidan, y luego nos notifiquen si esto soluciona el problema.
[INFO][toba] Se detecto cambio de operación. Se limpia la memoria de la operacion
[DEBUG][guarani] PUNTO DE MONTAJE: se cargó exitosamente el autoload del punto de montaje proyecto
[DEBUG][guarani] PUNTO DE MONTAJE: se cargó exitosamente el autoload del punto de montaje personalizacion
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/guarani_fuente_datos.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/esp/guarani/php
[DEBUG][toba] Se cambia el ítem solicitado a =>array (
0 => ‘guarani’,
1 => ‘5000122’,
)
[DEBUG][toba] [SECCION] Iniciando componentes…
[INFO][guarani] PUNTO MONTAJE: se cargó la clase operaciones/login/ci_login.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/esp/guarani/php
[DEBUG][toba] componente(5000225): [callback][ ini__operacion ]
[ERROR][toba] toba_error_seguridad: Error Interno La configuracion de seguridad requiere la existencia de archivos certificado y clave privada para el SP
[TRAZA]
toba_autenticacion_saml_onelogin->__construct
Archivo: /usr/local/proyectos/esp/guarani/vendor/siu-toba/framework/php/nucleo/lib/autenticacion/toba_autenticacion_saml_onelogin.php, línea 46
toba_manejador_sesiones->get_autenticacion
Archivo: /usr/local/proyectos/esp/guarani/php/operaciones/login/ci_login.php, línea 67
ci_login->ini
Archivo: /usr/local/proyectos/esp/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, línea 94
toba_ci->inicializar
Archivo: /usr/local/proyectos/esp/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, línea 132
toba_solicitud_web->procesar_eventos
Archivo: /usr/local/proyectos/esp/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, línea 55
toba_solicitud_web->procesar
Archivo: /usr/local/proyectos/esp/guarani/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, línea 96
toba_nucleo->acceso_web
Archivo: /usr/local/proyectos/esp/guarani/www/aplicacion.php, línea 33
En arai-usuarios tenemos esta documentación que explica como configurar de forma generica aplicaciones Toba que actúen como SP. En particular el error que les arroja es que ese SP no tiene su par público/privado de certificados y/o no desactivaron esa opción vía “verifyPeer=0” (cada proyecto tiene sus formas y a veces lo desactivan, aunque no sea lo más recomendable).
Hicimos las dos cosas, probamos con el parámetro “verifyPeer=0” o con ese parámetro en 1 y los certificados configurados de la siguiente manera en el archivo de saml_login:
Fijate que el atributo Location tenga una URL valida, si no podes recuperar el XML porque se genera un error… lo que te diria es que simplemente modifiques temporalmente esta variable para que la informacion quede registrada en el log de Guarani.
Otra opcion es en la clase contexto_ejecucion_guarani_pers redefinir el metodo conf__inicial de la siguiente manera:
function conf__inicial()
{
parent::conf__inicial();
toba::manejador_sesiones()->get_autenticacion()->set_modo_debug(true);
}
Por ahi debas invertir el orden de las sentencias, no estoy muy seguro que tenga G3 en el contexto de ejecucion… pero basicamente con eso modificas el valor de la variable que te pase antes.
Luego de ello, deberias poder ver la informacion de la que dispone la clase que autentica contra SAML en el log
Estoy retomando este tema de Laura, ya que se encuentra de vacaciones.
Pudimos avanzar un poco mas ya que teníamos algunos errores en los archivos de configuración,
saml_onelogin.ini
la variable name del [idp] estaba mal y desactivamos el verifyPeer asignando le 0
instalacion/ i__produccion/instancia.ini
full_url lo teníamos apuntado a la aplicación y no a la url del SP
Una ves realizado estos cambios dejamos de tener problemas con el Invalid array settings: sp_acs_url_invalid, sp_sls_url_invalid, pero ahora al tratar de ingresar por el portal a la aplicación me redirige a https://portaltest.unm.edu.ar/idp/module.php/arai/loginuserpass.php y me aparece una pagina con la leyenda “Ocurrió un error”
Ahora voy a verificar la configuración de cliente de usuarios en SIU-Guaraní Gestión que creo que puede esta ahí el problema, pero no quería dejar actualizar el post.
instalacion/ i__produccion/instancia.ini
full_url lo teníamos apuntado a la aplicación y no a la url del SP
El parametro [b]full_url[/b] tiene que apuntar a la URL navegable de la aplicacion, internamente el framework se encarga de armar la config para el SP.
Una ves realizado estos cambios dejamos de tener problemas con el Invalid array settings: sp_acs_url_invalid, sp_sls_url_invalid, pero ahora al tratar de ingresar por el portal a la aplicación me redirige a https://portaltest.unm.edu.ar/idp/module.php/arai/loginuserpass.php y me aparece una pagina con la leyenda "Ocurrió un error"
Revisaria en el log del IDP.. fijate si cuando te hace la redireccion aparece un msg "METADATA NOT FOUND".. en dicho caso vas a tener que ajustar los datos de la pestaña SAML en la operacion de Aplicaciones en Arai-Usuarios, el dato correspondiente a "EntityID" tiene que coincidir con lo que envia el SP (en este caso G3).
Te copio el XML que obtengo al conectarme a "https://srv-guarani-app-des2.unm.edu.ar/guaraniesptest/?metadata"
Barbaro… fijate que en el XML tenes todos los datos que deben ir en la pestaña SAML que te mencionaba mas arriba… con eso calculo que deberia funcionar correctamente.
Retomando lo que te decia anteriormente… en este caso en instancia.ini yo definiria el parametro asi:
Efectivamente el error que loguiaba en el IDP es METADATA NOT FOUND.
Comparando lo que me muestra el XML puede ajustar la pestaña de SAML en Arai-usuarios y quedo funcionando.
.
Solo una aclaración por si alguien lo lee.