location.href='https://sso.univ-pau.fr/cas/logout?service=$_SERVER[REQUEST_SCHEME]://$_SERVER[HTTP_HOST]/';"; // fonctionne mais c'est lent echo ""; die(); } if (empty($_SESSION['idCAS'])) { // lorsque $_GET est miraculeusement vide $parts = parse_url($_SERVER['REQUEST_URI']); parse_str($parts['query'], $query); $ticket = $query['ticket']; // $ticket = $_GET['ticket']; // connexion if (empty($ticket)) { // ce qu'il faut faire et que l'on fait parce qu'ici le header fonctionne header("Location: https://sso.univ-pau.fr/cas/login?service=$_SERVER[REQUEST_SCHEME]://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"); // // ce qu'il faut faire si la solution du dessus ne fonctionne pas // echo ''; // die(); } // vérification du ticket else { // on retire les paramètres GET de l'URI $uri = strstr($_SERVER['REQUEST_URI'], '?', true); $currentPage = "$_SERVER[REQUEST_SCHEME]://$_SERVER[HTTP_HOST]$uri"; $page = "https://sso.univ-pau.fr/cas/serviceValidate?ticket=$ticket&service=$currentPage"; // create curl resource $ch = curl_init(); // set url curl_setopt($ch, CURLOPT_URL, $page); //return the transfer as a string curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // $output contains the output string $output = curl_exec($ch); $message = trim(strip_tags($output)); // close curl resource to free up system resources curl_close($ch); // si l'authentification est validée if (strpos($output, 'user') !== false) { $_SESSION['idCAS'] = $message; echo ""; die(); } // redirection en cas de pépin mais normalement ça n'arrive pas else { echo ""; die(); } } } } /* VERIFICATION DES ACCÈS EN FONCTION DE PERMISSIONS ATTENDUES * * @expected Liste des permissions attendues * * @return error Erreur associée à la permission (Success/PermissionError/TokenError/etc) * */ public static function permission($expected) { return new Error(Err::Success); } } ?>