Used for all CAS 2.0 validations
public static setServerProxyValidateURL ( string $url = '' ) : void | ||
$url | string | the proxyValidate URL |
return | void |
require_once 'config.php'; // Load the CAS lib require_once $phpcas_path . '/CAS.php'; // Uncomment to enable debugging phpCAS::setDebug(); // Initialize phpCAS phpCAS::client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context); // For production use set the CA certificate that is the issuer of the cert // on the CAS server and uncomment the line below // phpCAS::setCasServerCACert($cas_server_ca_cert_path); // For quick testing you can disable SSL validation of the CAS server. // THIS SETTING IS NOT RECOMMENDED FOR PRODUCTION. // VALIDATING THE CAS SERVER IS CRUCIAL TO THE SECURITY OF THE CAS PROTOCOL! phpCAS::setNoCasServerValidation(); // Override the validation url for any (ST and PT) CAS 2.0 validation phpCAS::setServerProxyValidateURL('https://cas.example.org:1443/proxyValidate'); // Override the validation url for any CAS 1.0 validation //phpCAS::setServerServiceValidateURL('https://cas.example.org:1443/serviceValidate'); //Override the validation url for any SAML11 validation //phpCAS::setServerSamlValidateURL('https://cas.example.org:1443/samlValidate'); // force CAS authentication phpCAS::forceAuthentication(); // at this step, the user has been authenticated by the CAS server // and the user's login name can be read with phpCAS::getUser(). // logout if desired if (isset($_REQUEST['logout'])) { phpCAS::logout(); } // for this test, simply print that the authentication was successfull ?> <html>
<?php // // phpCAS client with custom validation urls // // import phpCAS lib include_once 'CAS.php'; phpCAS::setDebug(); // initialize phpCAS phpCAS::client(CAS_VERSION_2_0, 'sso.hrz.tu-darmstadt.de', 443, ''); // Override the validation url for any (ST and PT) CAS 2.0 validation phpCAS::setServerProxyValidateURL('https://sso.hrz.tu-darmstadt.de:1443/proxyValidate'); // Override the validation url for any CAS 1.0 validation //phpCAS::setServerServiceValidateURL('https://sso.hrz.tu-darmstadt.de:1443/serviceValidate'); //Override the validation url for any SAML11 validation //phpCAS::setServerSamlValidateURL('https://sso.hrz.tu-darmstadt.de:1443/samlValidate'); // no SSL validation for the CAS server phpCAS::setNoCasServerValidation(); // force CAS authentication phpCAS::forceAuthentication(); // at this step, the user has been authenticated by the CAS server // and the user's login name can be read with phpCAS::getUser(). // logout if desired if (isset($_REQUEST['logout'])) { phpCAS::logout(); } // for this test, simply print that the authentication was successfull ?> <html> <head> <title>phpCAS simple client</title>
/** * @todo make this options usable. * @todo move to other class * * @param string $providerName defined in Settings.yaml * * @throws \TYPO3\Flow\Exception * * @return void */ private function setOptionalClientSettings($providerName) { $casClientSettings = $this->getClientSettingsByProviderName($providerName); try { if (!empty($casClientSettings['serverLoginURL'])) { \phpCAS::setServerLoginURL($casClientSettings['serverLoginURL']); } if (!empty($casClientSettings['serverLogoutURL'])) { \phpCAS::setServerLogoutURL($casClientSettings['serverLogoutURL']); } if (!empty($casClientSettings['serverProxyValidateURL'])) { \phpCAS::setServerProxyValidateURL($casClientSettings['serverProxyValidateURL']); } if (!empty($casClientSettings['serverSamlValidateURL'])) { \phpCAS::setServerSamlValidateURL($casClientSettings['serverSamlValidateURL']); } if (!empty($casClientSettings['serverServiceValidateURL'])) { \phpCAS::setServerServiceValidateURL($casClientSettings['serverServiceValidateURL']); } // since CAS 4.0 disbled if (!empty($casClientSettings['singleSignoutCallback'])) { \phpCAS::setSingleSignoutCallback($casClientSettings['singleSignoutCallback']); } } catch (\Exception $exc) { throw new \TYPO3\Flow\Exception('Can not set some optianal property in Jasigs phpCAS broken on: ' . $exc->getCode() . ' with message: ' . $exc->getMessage(), 1372519681); } }