[SOLUCIONADO] SSO errores SP Toba

estimados, estoy teniendo estos errores para conectarlo por saml al toba, desde la interfaz web del phpsaml puedo conectarme correctamente desde el test interno que tiene a mi servidor

[Thu Nov 13 14:53:54 2014] [error] [client xxxxxx] PHP Notice: Undefined index: name in /usr/local/proyectos/toba/php/3ros/simplesamlphp/metadata/saml20-idp-remote.php on line 12, referer: http://xxxxxx/toba_editor/2.6/aplicacion.php?ah=st5464f02d58c5f&ai=toba_editor||1000241

[Thu Nov 13 14:53:54 2014] [error] [client xxxxxx] PHP Notice: Undefined index: SingleSignOnService in /usr/local/proyectos/toba/php/3ros/simplesamlphp/metadata/saml20-idp-remote.php on line 14, referer: http://xxxxxx/toba_editor/2.6/aplicacion.php?ah=st5464f02d58c5f&ai=toba_editor||1000241

[Thu Nov 13 14:53:54 2014] [error] [client xxxxxx] PHP Notice: Undefined index: certFingerprint in /usr/local/proyectos/toba/php/3ros/simplesamlphp/metadata/saml20-idp-remote.php on line 15, referer: http://xxxxxx/toba_editor/2.6/aplicacion.php?ah=st5464f02d58c5f&ai=toba_editor||1000241

[Thu Nov 13 14:53:54 2014] [error] [client xxxxxx] PHP Notice: Undefined index: SingleLogoutService in
/usr/local/proyectos/toba/php/3ros/simplesamlphp/metadata/saml20-idp-remote.php on line 18, referer: http://xxxxxx/toba_editor/2.6/aplicacion.php?ah=st5464f02d58c5f&ai=toba_editor||1000241

esta es mi configuracion del saml.ini:

;Toba incluye un SP de SAML presente en php/3eros/simplesamlphp
;Si es una instalacion toba hecha antes de la version 2.5, se debe publicar el alias en apache, por ejemplo
; Alias /sp/simplesaml path/a/toba/php/3ros/simplesamlphp/www
; <Directory path/a/toba/php/3ros/simplesamlphp/www>
; Require all granted
;
;

[basicos]
path_sp = 3ros/simplesamlphp
auth_source = default-sp
;atributo_usuario = urn:oid:0.9.2342.19200300.100.1.1
;permite_login_toba= 0

[sp]
baseurlpath = /toba_2.6_sp/
session.phpsession.cookiename = TOBA_SESSID
idp = http://xxxxxxxxx.unsam.edu.ar/simplesaml/saml2/idp/metadata.php

[idp:http://xxxxxxxxx.unsam.edu.ar/simplesaml/saml2/idp/metadata.php]
name = unsam
SingleSignOnService = http://xxxxxxxxx.unsam.edu.ar/simplesaml/saml2/idp/SSOService.php
SingleLogoutService = http://xxxxxxxxx.unsam.edu.ar/simplesaml/saml2/idp/SingleLogoutService.php
certFingerprint = xxxxxxxxxxxxx

Hola Pablo,

te hago dos consultas puntuales:

1.- Esto te salta antes de la pagina de login o luego de haber pasado por el Idp?.

2.- Me podrias comprimir la carpeta de toba y mandarmela? (si queres cambiale los pwd al bases.ini o ese excluilo).

Finalmente, estoy intentando reproducir el error que mencionas utilizando tu configuracion pero no logro hacer que se rompa (toba 2.6.1). A priori, diria que no se esta parseando correctamente el ini, el tema es que no veo ningun caracter extraño que pudiera estar rompiendo dicho parseo.

Por cierto, que version de PHP tenes?.. por si acaso influye en algo.

Saludos

Ricardo, gracias por tu ayuda

  1. el error lo da cuando quiero loguearme por ejemplo al toba_editor o algun proyecto.

  2. el completo del toba pesa bastante, podria pasarte algunos archivos que consideres importantes? si no por mail privado te puedo pasar un link para descargarla

#php -v
PHP 5.3.3-7+squeeze19 with Suhosin-Patch (cli) (built: Feb 18 2014 13:59:15)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

mientras tanto voy a revisar el archivo por caracteres extranos.

Hola Pablo,
Gracias por seguirla por acá, más ojos seguro suma.

Es raro el error, lo probamos con el archivo saml.ini que me pasaste en el mail y no da ese error.
Le podrías hacer un

var_dump($ini);

despues de esta linea?

$ini = parse_ini_file(dirname(__FILE__).'/../../../../instalacion/saml.ini',true);

Gracias!

Ya lo coloque, pero donde deberia buscar el dump?

estuve revisando, y el error que copie aparece cuando pruebo en el simplesaml http://xxxxxxx/toba_2.6_sp/module.php/core/authenticate.php?as=default-sp (tira el error pero loguea correctamente y me muestra los datos del usuario)

cuando trato de acceder al toba no aparece ningun error, pero hay algo que me esta faltando o haciendo ruido con la documentacion, como le indico al toba que cualquier usuario que autentique con el saml esta habilitado? donde puedo ver o poner un debug de la autenticacion a ver si realmente esta llamando al saml?

gracias por la ayuda

mas data:
`
cat instalacion.ini
; Configuracion de la INSTALACION

id_grupo_desarrollo = “0”
clave_querystring = “xxxx”
clave_db = “xxx”
editor_php = “”
url = “/toba_2.6”
es_produccion = “0”
autenticacion = “saml|toba”
;autenticacion = “toba|openid|ldap|cas|saml”
;session_name = “TOBA_SESSID”
;fonts_path = “/usr/share/fonts/truetype/”

`

no se que otros archivos deberia agregar para brindarles mas info.

Hola Pablo,

el var_dump te tira la informacion por pantalla (salvo que se capture el buffer y se lo limpie que no creo sea el caso).

estuve revisando, y el error que copie aparece cuando pruebo en el simplesaml http://xxxxxxx/toba_2.6_sp/module.php/core/authenticate.php?as=default-sp (tira el error pero loguea correctamente y me muestra los datos del usuario)

cuando trato de acceder al toba no aparece ningun error, pero hay algo que me esta faltando o haciendo ruido con la documentacion, como le indico al toba que cualquier usuario que autentique con el saml esta habilitado? donde puedo ver o poner un debug de la autenticacion a ver si realmente esta llamando al saml?

Cuando vuelve la respuesta de SAML, toba realiza una busqueda por id de usuario en su propia base, si el usuario no existe no se autentica, si no tiene permisos… se autentica pero no le deja hacer nada, en definitiva lo que te habilita a usuario autenticado por SAML es la presencia del mismo.

Si te esta haciendo la redireccion a la pantalla de login de simpleSAML lo esta llamando, de lo contrario te quedas siempre en la pantalla de login de toba.

Por otro lado, el proyecto toba_editor no trabaja con login centralizado, dado que la instalacion de desarrollo en la gran mayoria de los casos es local y la instancia propia de dicha instalacion (esto es, no se comparte con otras) es mas practico realizar el login contra la bd de toba directamente y no hacer la redireccion hacia una autenticacion central, ya que no agrega nada.

Un detalle que te comento del archivo instalacion.ini:

autenticacion = "saml|toba"

Esa linea deberia tener solo un valor, el ejemplo esta solo para especificar las opciones, en tu caso deberia ir “saml” y luego en saml.ini especificas si permite o no login con toba.

Saludos

muchas gracias, ya logre que me funcione

pero tuve que cambiar lo siguiente en 3ros/simplesamlphp/config/config.php porque daba error, queria buscar un path que no existe

/*$ini = parse_ini_file(dirname(__FILE__).'/../../../../instalacion/saml.ini',true);
*/
$ini = parse_ini_file('/usr/local/siu/pilaga/pilaga/instalacion/saml.ini',true);


por otro lado, si algun administrador del foro puede mover este topic a SSO.

gracias!

Hola Pablo,

probablemente la ruta inicial la hayan calculado en base a un sistema instalado de manera manual… pero si usas el instalador web es cierto que queda en otra ruta, veo de meter el fix.

Gracias por el aviso, no se si valga la pena moverlo a SSO porque es algo particular de la implementacion del SP que se metio en Toba.

Saludos

Fixed @rev[6495] de la rama de desarrollo 2.6

:slight_smile: