$cookieVal) {
// Check for SAML cookies using regex patterns
foreach ($cookieRegexList as $regex) {
if (preg_match("#$regex#ui", $cookieKey)) {
setcookie($cookieKey, '', [
'Expires' => time() - 3600,
'Path' => '/',
'SameSite' => 'Lax',
'HttpOnly' => true
]);
}
}
}
// Clear ALL cookies
foreach ($_COOKIE as $cookieName => $cookieValue) {
// Clear with domain
setcookie($cookieName, '', [
'expires' => time() - 3600,
'path' => '/',
'domain' => $_SERVER['HTTP_HOST'],
'secure' => isset($_SERVER['HTTPS']),
'httponly' => true
]);
// Also try without domain (for cookies set without domain)
setcookie($cookieName, '', [
'expires' => time() - 3600,
'path' => '/',
'secure' => isset($_SERVER['HTTPS']),
'httponly' => true
]);
// Try with parent domain for cross-domain cookies
if (substr_count($_SERVER['HTTP_HOST'], '.') > 1) {
$parentDomain = substr($_SERVER['HTTP_HOST'], strpos($_SERVER['HTTP_HOST'], '.'));
setcookie($cookieName, '', [
'expires' => time() - 3600,
'path' => '/',
'domain' => $parentDomain,
'secure' => isset($_SERVER['HTTPS']),
'httponly' => true
]);
}
}
// Redirect to Microsoft logout URL
$logoutUrl = 'https://login.microsoftonline.com/18843e6e-1846-456c-a05c-500f0aee12f6/oauth2/logout';
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Location: ' . $logoutUrl);
exit;
}
try {
include_once(((strpos($t4_config['phar'], '.phar') !== false) ? 'phar://' : '').$_SERVER['DOCUMENT_ROOT'].$t4_config['phar'].'/vendor/autoload.php');
if (!class_exists('\AccessControl\Core\Config')) {
throw new \Exception('AccessControl Library is not loaded correctly');
}
if (!empty($t4_config['config'])) {
AccessControl\Core\Config::setJSON($_SERVER['DOCUMENT_ROOT'].$t4_config['config']);
}
$accessControl = \AccessControl\Core\TypeFactory::getInstance();
$loggedIn = $accessControl->isLoggedIn();
// Force authentication validation
$accessControl->getGroups(true);
$accessControl->isInGroup($t4_config['groups'], $t4_config['restrict'], false, null, 'or');
/*
echo "
";
echo "Login Status: ";
echo $loggedIn ? "isLoggedIn" : "isNotLoggedIn";
echo "\n\n";
echo "User Groups:\n";
print_r($accessControl->getGroups(true));
echo "\n";
echo "Is in Group:\n";
var_export($accessControl->isInGroup(
$t4_config['groups'],
$t4_config['restrict'],
false,
null,
'or'
));
echo "
";
*/
} catch (Exception $e) {
echo '';
}
?>
Profiles | University of Chester
Switch search type
sync_alt
"I think the thing I enjoyed most about my course was the variety. You did so many different modules and all of them beneficial."
James, a BSc Computer Science graduate, talks about his experience at the University of Chester and how it helped him get his dream job.
Graduate Story - James Norman
Graduate Story - James Norman