Integración Guaraní con Araí usuarios

Hablando con el equipo de Araí nos contaron lo siguiente:

Hay mejoras en el proceso de Importación de usuarios vía consola que fueron liberados en Araí Usuarios versión v3.1.5. Con esas mejoras al fallar la importación de un usuario logra importar el resto, el usuario que falla queda como ignorado (dentro de la carpeta ./idm/instalacion/migration/ignoreImport/), luego se puede corregir el error de los que fueron ignorados y volver a importarlos.

Estaría bueno que se actualicen a dicha versión para tener dicha mejora.

También les pediría si es posible que nos envíes el archivo .json que genera Guaraní al exportar.

saludos.
2

Cloné el proyecto de https://hub.siu.edu.ar/siu/expedientes donde está la 3.1.4

Ahí consulté si podemos tener acceso a la 3.1.5 para cuando lo pasemos a producción.

Gracias.

Terminé de configurar todo.

Cuando ingreso a Gestión me da el siguiente mensaje

Adjunto JPG

Encontré este error

[ERROR][toba] toba_error_seguridad: Error Interno La configuracion de seguridad requiere la existencia de archivos certificado y clave privada para el SP


captura.jpg

captura.png

Hola Mariano,

El error [ERROR][toba] toba_error_seguridad: Error Interno La configuracion de seguridad requiere la existencia de archivos certificado y clave privada para el SP lo arroja en la función __construct de vendor/siu-toba/framework/php/nucleo/lib/autenticacion/toba_autenticacion_saml_onelogin.php.

Una solución rápida seria agregar verifyPeer = “0” en el archivo instalacion/saml_onelogin.ini:


[basicos]
permite_login_toba = "0"
atributo_usuario = "defaultUserAccount"
verifyPeer = "0"

Otra solución seria configurar privateKey y x509cert dentro instalacion/saml_onelogin.ini sección [sp].

saludos.
2

Tengo otro error.
Creo que no me está tomando bien el SAML pero no sé donde buscar el error.

Adjunto Captura


captura.jpg

captura.png

Encontré esto en sistema.log de Guaraní

[CRITICAL][toba] Exception: Token vencido

Hola Mariano,

¿nos podrías mandar el log que genera al momento del error?

¿En el archivo instalacion/saml_onelogin.ini tenes bien configurado el certFile?
Yo le configure el mismo contenido que el archivo /usr/local/app/idp/config/simplesamlphp/certificado_idp.crt de SIU-Araí Usuarios.

Tambien en la operacion Administrar Personas solapa Acceso al sistema tenes que asociar con un Usuario Araí al usuario toba o el que uses para loguearte en Gestión.

saludos.
4

El cert es el mismo en los 2. De hecho copie uno sobre el otro.
Por las dudas lo volví a hacer.

Este es mi saml_login


; Archivo de configuracion para el metodo onelogin via saml

[basicos]
atributo_usuario = "defaultUserAccount"
permite_login_toba= "0"
;usa_proxy_vars = 0
verifyPeer = "0"

[sp]
auth_source = "default-sp"
session.phpsession.cookiename = "TOBA_SESSID"
idp = "https://arai.uca.edu.ar/idp/saml2/idp/metadata.php"

;Necesita si o si definirle un proyecto por default para loguearse, esto va a determinar las urls de retorno y e$
proyecto_login = "guarani"

;x509cert=/opt/certificates/certSPExample.cert
;privateKey=/opt/certificates/keySPExample.key

[idp:https://arai.uca.edu.ar/idp/saml2/idp/metadata.php]
name = "SIU-Guarani3"
SingleSignOnService = "https://arai.uca.edu.ar/idp/saml2/idp/SSOService.php"
SingleLogoutService = "https://arai.uca.edu.ar/idp/saml2/idp/SingleLogoutService.php"
certFile = "/usr/local/proyectos/guarani/instalacion/certificado_idp.crt"

Y este es mi instalacion.ini


; Configuracion de la INSTALACION

nombre = "UCA-Guarani3"
id_grupo_desarrollo = "2067"
clave_querystring = "825ba2c6f19dcf1157568144d42c70bc"
clave_db = "3a4dfd7d973c3a1e6700cfe0046a2cf0"
editor_php = ""
url = "/toba_guarani3"
es_produccion = "1"

; Configuración de Sincronizar cuentas de usuarios Araí-Usuarios

autenticacion = "saml_onelogin"
vincula_arai_usuarios = "1"
appUniqueIdGestion = "_de044e959887a3674572bb56de4dc1cdf8b51492df"
appUniqueId3w = "_80373c3c4111eebd3f489a72d71d0f0066fce02a15"

;autenticacion = "toba|openid|ldap|cas|saml|saml_onelogin"
;session_name = "TOBA_SESSID"
;fonts_path = "/usr/share/fonts/truetype/"
url3w = https://academicos.uca.edu.ar/academicos/
[xslfo]
fop=/usr/local/proyectos/guarani/php/3ros/fop/fop

No sé cuál es el log que tengo que ver por el error

Con respecto a “Administrar Personas” no puedo entrar a Gestión de ninguna forma, ni a Toba

Hola Mariano, gracias por la informacion!!!

Los logs de Gestión están en instalacion/i__desarrollo/p__guarani/logs/sistema.log.

En instalacion/instalacion.ini descomenta la linea que dice session_name = “TOBA_PROYECTO”.

Con respecto a "Administrar Personas" no puedo entrar a Gestión de ninguna forma, ni a Toba

Perdón, en realidad lo que necesitas es crear el usuario en Araí Usuarios, en la solapa Cuentas le tenes que asociar la aplicación SIU-Guaraní Gestión. El valor de Cuenta debe ser el usuario de SIU-Guaraní (columna usuario de la tabla mdp_personas).

saludos.
2

Hice las modificaciones pero no tuve suerte.

Por las dudas, volvimos a hacer todo el proceso paso a paso como figura en el instructivo junto al director con los mismos resultados.
Te pido si me pasas un correo para que puedas ver de 1ra mano el tema.

Gracias.

Te paso el Log.


sistema.log.txt (87.5 KB)

Hola Mariano, en los logs sigo viendo el mismo error:


[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/guarani/vendor/siu-toba/framework/php/nucleo/lib/autenticacion/toba_autenticacion_saml_onelogin.php, lInea 46 
	
	toba_manejador_sesiones->get_autenticacion 
Archivo: /usr/local/proyectos/guarani/personalizacion/php/operaciones/login/ci_login.php, lInea 69 
	
	ci_login->ini 
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 94 
	
	toba_ci->inicializar 
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 132 
	
	toba_solicitud_web->procesar_eventos 
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 55 
	
	toba_solicitud_web->procesar 
Archivo: /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 96 
	
	toba_nucleo->acceso_web 
Archivo: /usr/local/proyectos/guarani/www/aplicacion.php, lInea 33 
	
	

[DEBUG][toba] Mensaje a usuario: Error Interno

Dicho error lo da en la función __construct de vendor/siu-toba/framework/php/nucleo/lib/autenticacion/toba_autenticacion_saml_onelogin.php. Lo extraño es que tenes configurado verifyPeer = “0” en instalacion/saml_onelogin.ini, con eso no debería dar ese error.

Podes agregar las siguientes lineas para ver que registra en los logs:


		toba::logger()->crit("verifyPeer: {$parametros['basicos']['verifyPeer']}");
			toba::logger()->crit("es_produccion: ".toba::instalacion()->es_produccion());
			$verificaPeer = (isset($parametros['basicos']['verifyPeer'])) ? $parametros['basicos']['verifyPeer'] == 1:  toba::instalacion()->es_produccion();
			if ($verificaPeer) {
***************************************

Mañana hacemos una call y lo vemos mejor.

saludos.
2

Se soluciona de la siguiente manera:

En el archivo instalacion/i__desarrollo/instancia.ini de debe agragar la directiva full_url a cada sección, ej:


; Configuracion de la INSTANCIA 

base = "toba_3_3"
proyectos = "toba_editor, toba_referencia, toba_usuarios, guarani"
tipo = "normal"

[toba_editor]
path = "/usr/local/app/vendor/siu-toba/framework/proyectos/toba_editor"
url = "/toba_editor/trunk"
full_url = "http://localhost/toba_editor/trunk"

[toba_referencia]
path = "/usr/local/app/vendor/siu-toba/framework/proyectos/toba_referencia"
url = "/toba_referencia"
full_url = "http://localhost/toba_referencia"

[toba_usuarios]
path = "/usr/local/app/vendor/siu-toba/framework/proyectos/toba_usuarios"
url = "/toba_usuarios/trunk"
full_url = "http://localhost/toba_usuarios/trunk"

[guarani]
path = "/usr/local/app"
url = "/gestion/trunk"
url_pers = "/gestion/trunk_pers/"
full_url = "http://localhost/gestion/trunk"

Para poder navegar desde SIU-Huarpe a SIU-Guaraní Autogestión sin tener que presionar el botón “Ingresar” tenes que hacer lo siguiente:
En SIU-Araí Usuarios editas la aplicación “SIU-Guaraní Autogestión” en la solapa Datos Generales en Url le pones http://localhost/3w/trunk/acceso?auth=saml (se agrega /acceso?auth=saml a la URL base de Autogestión).

saludos.
2

Funcionó perfecto!!!

Otra vez, les agradezco muchísimo!!!

Buenas, yo otra vez.

Cuando quiero ingresar a Administrar Personas recibo el error “Debe configurar el acceso al servicio web de SIU-Arai para obtener los usuarios disponibles.”

Agregué al secret.sh el nuevo usuario y clave

printf ‘[[“docuser”,“docpass”],[“huarpeuser”,“huarpepass”],[“guaraniuser”,“guaranipass”][“provuser”,“provpass”]]’ | docker secret create usuarios_api_users -

modifiqué el archivo cliente.ini

[conexion]
to = “https://arai.uca.edu.ar/api-usuarios/v1/
auth_tipo = “basic”
auth_usuario = “guaraniuser”
auth_password = “guaranipass”

Agregué a servicios_web_config.php en consumidos

            'arai_usuarios' => (
                    'tipo' => 'rest',
                    'parametros' => (
                            'base_uri' => 'https://arai.uca.edu.ar/api-usuarios/v1/',
                            'auth' => ('guaraniuser', 'guaranipass', 'basic')
                    )
            ),

Descomenté las lineas de usuarios.yml en Araí

Eliminé el servicio y el secret de usuarios_api y usuarios_api_user

Volví a ejecutar ./secrets.sh (Con varios errores de los secrets que no borré y sin errores sobre usuarios_api_user.

Por último, volví a desplegar docker stack deploy --with-registry-auth -c usuarios.yml usuarios

Les adjunto el log


sistema.log.txt (23.9 KB)

Hola Mariano,

En los logs dice lo siguiente:


[ERROR][guarani] Client error: `GET https://arai.uca.edu.ar/api-usuarios/v1/aplicaciones` resulted in a `401 Unauthorized` response:
{
    "mensaje": "autenticaci\ufffdn cancelada"
}

El problema parece ser que no te toma el usuario para autenticarte en la API.

¿que pasa si intentas acceder a estos servicios desde un navegador?
https://arai.uca.edu.ar/api-usuarios/v1/aplicaciones
https://arai.uca.edu.ar/api-usuarios/v1/info

¿con el usuario para Huarpe (definido en secrets.sh) te permite acceder a la API?

Revisa esta documentación:

¿eliminaste primero los servicios usuarios_api y usuarios_api_users antes de ejecutar ./secrets.sh?

saludos.
4

En ambas urls me pide usuario y clave.

Seguí la documentación que me pasas y eliminé usuarios_api y usuarios_api_users antes de ejecutar secret.sh.

Incluso probé con los usuarios y claves por default que trae secret.sh.

Cuando ejecuto ./secret.sh este es el resultado

./secrets.sh
Error response from daemon: rpc error: code = AlreadyExists desc = secret usuarios_db_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret usuarios_ldap_admin_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret usuarios_ldap_config_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret usuarios_pass_salt already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret usuarios_idp_simplesaml_admin already exists
golebgh17lh545tu3zcn21yl2
Error response from daemon: rpc error: code = AlreadyExists desc = secret docs_api_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret docs_db_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret docs_repo_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret docs_conexion_usuarios already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret docs_conexion_sudocu already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret huarpe_secret already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret huarpe_usuarios_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret grafana_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret huarpe_usuarios_pass already exists

Creo que no está creando el secret de usuarios_api.

Vi que en el secret.sh está esta línea

Conexión con Araí Usuarios

DOCS_CONEXION_USUARIOS=$(cat << EOF
“{base_uri:‘usuarios-api/api/v1/usuarios’,method:‘basic’,user:‘documentos’,password:‘documentos123’}”
EOF

probé configurando ese user y pass que también están en la línea del printif que les mandé antes y me da el mismo error.