function check_cas_result($config)
{
require_once dirname(__DIR__) . '/vendor/autoload.php';
try {
$cas_version = $config->cas_version ? $config->cas_version : CAS_VERSION_2_0;
// phpCAS::setDebug();
phpCAS::client($cas_version, $config->cashostname, (int) $config->casport, $config->casbaseuri, false);
// don't automatically clear tickets from the url, we're taking care of that
phpCAS::setNoClearTicketsFromUrl();
// if a certificate is provided, use it, otherwise don't
if ($config->cas_server_ca_cert_path != "") {
// here we sould set the server certificate for production
// '/etc/pki/tls/certs/DigiCertCA.crt'
phpCAS::setCasServerCACert($config->cas_server_ca_cert_path);
} else {
// if you want to skip ssl verification
if ($config->cas_server_no_validation) {
phpCAS::setNoCasServerValidation();
}
}
// check authentication; returns true/false
if (phpCAS::checkAuthentication()) {
// grab username
$NetUsername = phpCAS::getUser();
return $NetUsername;
} else {
return false;
}
} catch (Exception $e) {
error_log("CAS ERROR: " . $e->getMessage());
register_error($e->getMessage());
return false;
}
}