-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Eccezione - Impossibile recuperare il profilo utente da Cohesion2 #3
Comments
da quello che leggo sembra che non vada a buon fine la richiesta alla pagina: prova a decommentare riga 256: forse ci potrebbe essere un problema di comunicazione tra il tuo server di produzione e quello regionale |
Grazie della risposta Andrea,
quindi sicuramente fallisce nella comunicazione col server... ma la cosa strana è che con la vecchia libreria funziona e la chiamata e' sempre a https://cohesion2.regione.marche.it/ nella vecchia versione funzionante, la comunicazione se non erro avveniva tramite WS che non trovo piu' in quest'ultima 3.0.0 |
prima di fare ulteriori prove chiudi la sessione con il metodo ->logout(). La risposta del server |
il recupero del profilo nella 2.2 avviene tramite il WS https://cohesion2.regione.marche.it/SPManager/wsCheckSessionSPM.asmx |
niente le ho provate tutte, fatto come dicevi: ho messo anche il logout per accertarmi che non fosse quello. https://cohesion2.regione.marche.it/SSO/webCheckSessionSSO.aspx altrimenti la parte di login avviene bene, ma quando prova a recuperare il profilo genera gli errori esposti... |
Ti aggiorno giusto per conoscenza e completezza: ho appena fatto un test con curl dove al posto di
ho messo questo codice
e ritorna la seguente risposta, ma sempre con quel NO che dicevamo
|
Mancano i parametri del POST. Prova così: $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, self::COHESION2_SAML20_WEB);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query(['Operation'=>'GetCredential','IdSessioneSSO'=>$this->id_sso,'IdSessioneASPNET'=>$this->id_aspnet]));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'DEFAULT:!DH');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36');
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
$e=curl_error($ch);
if($e) throw new \Exception($e);
curl_close($ch); |
Stesso risultato, però non va in eccezione: cioè stampa sempre il messaggio sopra, ma non dà alcun errore. |
Decommanta tutte le righe di log della libreria e postami il contenuto del file log.txt. Vorrei capire in quale punto esatto si perdono i dati. |
preciso che ho anche aggiornato Cohesion2.php alla 3.0.1 e decommentando i log.txt ottengo:
|
ho controllato il tuo file di log. |
Sì infatti è 100% come dici, il problema non è la libreria ma qualcosa in quella macchina che per qualche ragione fallisce... |
Volevo ringraziarti, hai fatto un lavorone con questa libreria: bravo!!! Mille grazie per l'aiuto!!! |
grazie @mattymatty76 ! |
Ciao Andrea,
mi scuso in anticipo perché c'è una cosa strana, cioè provo a spiegarmi
scaricato nuova libreria 3.0.0 e fatta girare in xampp ambiente di test che uso in locale (lo conoscerete meglio di me): funziona tutto senza problemi ed anche facendo le prove con l'url di test --> https://cohesioncollaudo.regione.marche.it anziché https://cohesion2.regione.marche.it
libreria di cui sopra, appena testata in locale, la carico in produzione e non va: mi riporta gli errori seguenti
Eccezione - Impossibile recuperare il profilo utente da Cohesion2
Stack trace:
line 267 of /login/saml/Cohesion2.php: andreaval\Cohesion2\Cohesion2Exception thrown
line 152 of /login/saml/Cohesion2.php: call to andreaval\Cohesion2\Cohesion2->verify()
line 12 of /login/saml/login.php: call to andreaval\Cohesion2\Cohesion2->auth()
Buffer di output:
Notice: Trying to get property 'login' of non-object in /var/www/vhosts/.../login/saml/Cohesion2.php on line 258
da notare che il codice che uso nel file principale, login.php, e' questo
require_once('./Cohesion2.php');
use andreaval\Cohesion2\Cohesion2;
use andreaval\Cohesion2\Cohesion2Exception;
//check cohesion authentication
$cohesion = new Cohesion2();
$cohesion->useSAML20(true);
if(!$cohesion->isAuth()) $cohesion->auth();
...
ho provato anche a metterlo in try{...}catch(...) ma niente
dimenticavo, con il codice vecchio versione precedente funziona tutto...
grazie in anticipo come sempre e scusate...
The text was updated successfully, but these errors were encountered: