| 
<?php
 /*
 * Frontend for login.php, proxy.php, validate.php and serviceValidate.php. It allows them to be called
 * as cas.php/login, cas.php/validate and cas.php/serviceValidate and is meant for clients
 * like phpCAS which expects one configured prefix which it appends login, validate and
 * serviceValidate to.
 *
 * This version supports CAS proxying. As SSP controls the user session (TGT in CAS parlance)
 * and the CASServer as a backend/proxy server is not aware of termination of the session the Proxy-
 * Granting-Tickets (PGT) issued have a very short ttl - pt. 60 secs.
 *
 * ServiceTickets (SP) and ProxyTickets (PT) now have a 5 secs ttl.
 *
 * Proxyed services (targetService) shall be present in the legal_service_urls config.
 *
 */
 
 
 $validFunctions = array(
 'login' => 'login',
 'proxy' => 'proxy',
 'validate' => 'serviceValidate',
 'serviceValidate' => 'serviceValidate',
 'proxyValidate' => 'serviceValidate'
 );
 
 $function = substr($_SERVER['PATH_INFO'], 1);
 
 if (!isset($validFunctions[$function])) {
 throw new SimpleSAML_Error_NotFound('Not a valid function for cas.php.');
 }
 
 include($validFunctions[$function].".php");
 
 ?>
 
 |