checkSPID()) { if (isset($_POST) && ! empty($_POST["provider"])) { $sp = new Italia\Spid\Sp($spid); $mapping = $sp->getIdpList(); $idpKey = null; foreach($mapping AS $key => $entityID) { if ($_POST["provider"] === $entityID) { $idpKey = $key; } } if($idpKey) { $url = $sp->login($idpKey, $_SESSION["ente"]->getInfo()["indice_spid"], 0, 2, "", false); if(! empty($url)) { $salva = new salva(); $salva->debug = false; $salva->nome_tabella = "b_log_spid"; $salva->operazione = "INSERT"; $salva->oggetto = SpidSA::requestLog($url); $codice = $salva->save(); if(! empty($codice)) { $_SESSION["spidLoginRequestID"] = $codice; header("Pragma: no-cache"); header("Cache-Control: no-cache, must-revalidate"); header("Location: {$url}"); die(); } } else { unset($_SESSION["spidLoginRequestID"]); unset($_SESSION['spidSession']); header('Location: '.$_SERVER['REQUEST_URI']); die(); } } else { $_SESSION["spidError"] = "Errore nella richiesta"; $_SESSION["spidErrorCode"] = "#404#"; } } else { $_SESSION["spidError"] = "Errore nella richiesta"; $_SESSION["spidErrorCode"] = "#400#"; } } else { $_SESSION["spidError"] = "SPID non abilitato"; $_SESSION["spidErrorCode"] = "##"; } header("Location: /index.php");