Functions | |
CASClient::getPT () | |
This method returns the Proxy Ticket provided in the URL of the request. | |
CASClient::setPT ($pt) | |
This method stores the Proxy Ticket. | |
CASClient::hasPT () | |
This method tells if a Proxy Ticket was stored. | |
CASClient::validatePT (&$validate_url, &$text_response, &$tree_response) | |
This method is used to validate a PT; halt on failure. | |
Variables | |
CASClient::$_pt | |
the Proxy Ticket provided in the URL of the request if present (empty otherwise). |
CASClient::getPT | ( | ) | [private, inherited] |
This method returns the Proxy Ticket provided in the URL of the request.
Definition at line 1697 of file client.php.
Referenced by CASClient::isAuthenticated().
{ return $this->_pt; }
CASClient::hasPT | ( | ) | [private, inherited] |
This method tells if a Proxy Ticket was stored.
Definition at line 1713 of file client.php.
{ return !empty($this->_pt); }
CASClient::setPT | ( | $ | pt | ) | [private, inherited] |
This method stores the Proxy Ticket.
$pt | The Proxy Ticket. |
Definition at line 1705 of file client.php.
Referenced by CASClient::wasPreviouslyAuthenticated().
{ $this->_pt = $pt; }
CASClient::validatePT | ( | &$ | validate_url, | |
&$ | text_response, | |||
&$ | tree_response | |||
) | [private, inherited] |
This method is used to validate a PT; halt on failure.
Definition at line 1732 of file client.php.
Referenced by CASClient::isAuthenticated().
{ phpCAS::traceBegin(); // build the URL to validate the ticket $validate_url = $this->getServerProxyValidateURL().'&ticket='.$this->getPT(); if ( $this->isProxy() ) { // pass the callback url for CAS proxies $validate_url .= '&pgtUrl='.$this->getCallbackURL(); } // open and read the URL if ( !$this->readURL($validate_url,''/*cookies*/,$headers,$text_response,$err_msg) ) { phpCAS::trace('could not open URL \''.$validate_url.'\' to validate ('.$err_msg.')'); $this->authError('PT not validated', $validate_url, TRUE/*$no_response*/); } // read the response of the CAS server into a DOM object if ( !($dom = domxml_open_mem($text_response))) { // read failed $this->authError('PT not validated', $alidate_url, FALSE/*$no_response*/, TRUE/*$bad_response*/, $text_response); } // read the root node of the XML tree if ( !($tree_response = $dom->document_element()) ) { // read failed $this->authError('PT not validated', $validate_url, FALSE/*$no_response*/, TRUE/*$bad_response*/, $text_response); } // insure that tag name is 'serviceResponse' if ( $tree_response->node_name(true) != 'serviceResponse' ) { // bad root node $this->authError('PT not validated', $validate_url, FALSE/*$no_response*/, TRUE/*$bad_response*/, $text_response); } if ( sizeof($arr = $tree_response->get_elements_by_tagname("authenticationSuccess")) != 0) { // authentication succeded, extract the user name if ( sizeof($arr = $tree_response->get_elements_by_tagname("user")) == 0) { // no user specified => error $this->authError('PT not validated', $validate_url, FALSE/*$no_response*/, TRUE/*$bad_response*/, $text_response); } $this->setUser(trim($arr[0]->get_content())); } else if ( sizeof($arr = $tree_response->get_elements_by_tagname("authenticationFailure")) != 0) { // authentication succeded, extract the error code and message $this->authError('PT not validated', $validate_url, FALSE/*$no_response*/, FALSE/*$bad_response*/, $text_response, $arr[0]->get_attribute('code')/*$err_code*/, trim($arr[0]->get_content())/*$err_msg*/); } else { $this->authError('PT not validated', $validate_url, FALSE/*$no_response*/, TRUE/*$bad_response*/, $text_response); } // at this step, PT has been validated and $this->_user has been set, phpCAS::traceEnd(TRUE); return TRUE; }
CASClient::$_pt [private, inherited] |
the Proxy Ticket provided in the URL of the request if present (empty otherwise).
Written by CASClient::CASClient(), read by CASClient::getPT() and CASClient::hasPGT().
Definition at line 1690 of file client.php.