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);
}
}
?>