We held elections for the 3 group leadership positions:
Gary Windham
CCIT
windhamg@email.arizona.edu
Attachment: Central Authentication Service (ppt)
Central authenication Service (CAS) is the software used for UA's webauth. CAS has become the standard for single sign on for the educational institutions
Webapps don't need to handle passwords using web auth. Without using it, if one system were compromised, all the system could be compromised. The protocol relies on HTTP/s and XML. authenticates without sending password. CAS prevents illicit proxying of service tickets.
CAS 2.0 provides an “extended” (XML) ticket validation response
<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationSuccess>
<cas:user>windhamg</cas:user>
<cas:dbKey>012345678901</cas:dbKey>
<cas:employeeId>012345678</cas:employeeId>
<cas:activeEmployee>1</cas:employeeId>
<cas:NetID Attribute n>value</cas:NetID Attribute n>
</cas:authenticationSuccess>
</cas:serviceResponse>
contains attributes from user's NetID directory (LDAP) entry attributes such as employeeId or dbKey can be used to make simple authorization decisions, or as keys into external data sources (e.g., UIS)
PHP5 Code Example:
<?php
define("CAS_BASE", "https://webauth.arizona.edu");
define("CAS_LOGIN_URI", "/webauth/login");
define("CAS_VALIDATE_URI", "/webauth/serviceValidate");
$host = $_SERVER["SERVER_NAME"];
$port = $_SERVER["SERVER_PORT"];
$uri = $_SERVER["PHP_SELF"];
$get = $_SERVER["QUERY_STRING"];
$proto = "http" . ((isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") ? "s" : "") . "://";
$service = $proto . $host . ":" . $port . $url
if (!isset($_REQUEST['ticket']))
// redirect to CAS login page
header("Location: " . CAS_BASE . CAS_LOGIN_URI . "?service=" .
urlencode($service . (!empty($get) ? "?$get" : "")));
else {
$serviceTicket = $_REQUEST["ticket"]; // ST
// rebuild 'service' parameter with querystring intact
unset($_GET['ticket']);
$get = null;
foreach ($_GET as $k => $v) $get .= '&'.$k.'='.$v;
$get = substr($get,1);
// construct validation URL
$url = CAS_BASE . CAS_VALIDATE_URI . "?service=" . urlencode($service . (!empty($get) ? "?$get" : "")) . "&ticket=" . $serviceTicket;
$response = @file_get_contents($url); // validate service ticket
// parse result of validation
$xml = simplexml_load_string($response);
$nodes = $xml->children('http://www.yale.edu/tp/cas');
if ($nodes->authenticationFailure)
echo 'CAS Authentication Failed!
Error = ' . $nodes->authenticationFailure;
else {
echo 'CAS Authentication Succeeded!
User=' .
$nodes->authenticationSuccess->user;
echo '
UAID=' . $nodes->authenticationSuccess->dbkey;
}
}
?>
Resources:
* UA NetID Application Programmer's Guide (pdf)
* JA-SIG CAS Homepage
* NetID/WebAuth support listserv: netid-admin@listserv.arizona.edu
* Request WebAuth ticket validation access
Dawn Hunziker
Disability Resource Center
hunziker@email.arizona.edu
Accessibility Resources Website