private function authenticate_simpleSAML() { include_once(dirname(__FILE__).'/simplesaml/lib/_autoload.php'); $auth = new SimpleSAML_Auth_GepiSimple(); $auth->requireAuth(); $attributes = $auth->getAttributes(); //exploitation des attributs if (empty($attributes)) { //authentification échouée return false; } $this->login = $attributes['login_gepi'][0]; $this->current_auth_mode = "simpleSAML"; // Extractions des attributs supplémentaires, le cas échéant // inutile pour le moment return true; }
foreach (glob($temp_perso."/*") as $filename) { if (is_file($filename) && (!strstr($filename, 'index.html'))) { @unlink ($filename); // 'signature' est un dossier et actuellement on ne supprime pas les dossiers au logout. // De la même façon, le dossier contenant les PDF d'archivage de bulletins n'est pas supprimé automatiquement. // Il faut passer par la Gestion des dossiers temporaires } } unset ($filename); } die(); } if (getSettingValue('gepiEnableIdpSaml20') == 'yes' && (!isset($_REQUEST['idploggedout']))) { include_once(dirname(__FILE__).'/lib/simplesaml/lib/_autoload.php'); $auth = new SimpleSAML_Auth_GepiSimple(); if ($auth->isAuthenticated()) { //on fait le logout de session avec simplesaml en tant que fournisseur d'identité. Ça va déconnecter uniqement les services associés. //Si gepi n'est pas connecté en local, il faut revenir à la page de logout et passer à la déconnexion de gepi $logout_return_url = $_SERVER['REQUEST_URI']; if (strpos($logout_return_url, '?')) { $logout_return_url .= '&'; } else { $logout_return_url .= '?'; } $logout_return_url .= 'idploggedout=done'; header("Location:./lib/simplesaml/www/saml2/idp/SingleLogoutService.php?ReturnTo=".urlencode($logout_return_url)); exit(); } } //print_r($session_gepi);die;