ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
Internal behaviour of phpCAS
+ Collaboration diagram for Internal behaviour of phpCAS:

Functions

 CAS_Client::setRequestImplementation ($className)
 Override the default implementation used to make web requests in readUrl(). More...
 
 CAS_Client::setNoClearTicketsFromUrl ()
 Configure the client to not send redirect headers and call exit() on authentication success. More...
 
 CAS_Client::setCasAttributeParserCallback ($function, array $additionalArgs=array())
 Set a callback function to be run when parsing CAS attributes. More...
 
 CAS_Client::setPostAuthenticateCallback ($function, array $additionalArgs=array())
 Set a callback function to be run when a user authenticates. More...
 
 CAS_Client::setSingleSignoutCallback ($function, array $additionalArgs=array())
 Set a callback function to be run when a single-signout request is received. More...
 
 CAS_Client::ensureIsProxy ()
 Ensure that this is actually a proxy object or fail with an exception. More...
 
 CAS_Client::markAuthenticationCall ($auth)
 Mark the caller of authentication. More...
 
 CAS_Client::wasAuthenticationCalled ()
 Answer true if authentication has been checked. More...
 
 CAS_Client::_ensureAuthenticationCalled ()
 Ensure that authentication was checked. More...
 
 CAS_Client::wasAuthenticationCallSuccessful ()
 Answer the result of the authentication call. More...
 
 CAS_Client::ensureAuthenticationCallSuccessful ()
 Ensure that authentication was checked. More...
 
 CAS_Client::getAuthenticationCallerFile ()
 Answer information about the authentication caller. More...
 
 CAS_Client::getAuthenticationCallerLine ()
 Answer information about the authentication caller. More...
 
 CAS_Client::getAuthenticationCallerMethod ()
 Answer information about the authentication caller. More...
 

Variables

 CAS_Client::$_requestImplementation = 'CAS_Request_CurlRequest'
 The class to instantiate for making web requests in readUrl(). More...
 
 CAS_Client::$_clearTicketsFromUrl = true
 
 CAS_Client::$_casAttributeParserCallbackFunction = null
 
 CAS_Client::$_casAttributeParserCallbackArgs = array()
 
 CAS_Client::$_postAuthenticateCallbackFunction = null
 
 CAS_Client::$_postAuthenticateCallbackArgs = array()
 
 CAS_Client::$_signoutCallbackFunction = null
 
 CAS_Client::$_signoutCallbackArgs = array()
 
 CAS_Client::$_authentication_caller
 

Detailed Description

Function Documentation

◆ _ensureAuthenticationCalled()

CAS_Client::_ensureAuthenticationCalled ( )
private

Ensure that authentication was checked.

Terminate with exception if no authentication was performed

Exceptions
CAS_OutOfSequenceBeforeAuthenticationCallException
Returns
void

Definition at line 792 of file Client.php.

References CAS_Client\wasAuthenticationCalled().

Referenced by CAS_Client\ensureAuthenticationCallSuccessful(), CAS_Client\getAuthenticationCallerFile(), CAS_Client\getAuthenticationCallerLine(), CAS_Client\getAuthenticationCallerMethod(), and CAS_Client\wasAuthenticationCallSuccessful().

793  {
794  if (!$this->wasAuthenticationCalled()) {
796  }
797  }
wasAuthenticationCalled()
Answer true if authentication has been checked.
Definition: Client.php:779
This class defines Exceptions that should be thrown when the sequence of operations is invalid...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ensureAuthenticationCallSuccessful()

CAS_Client::ensureAuthenticationCallSuccessful ( )

Ensure that authentication was checked.

Terminate with exception if no authentication was performed

Exceptions
CAS_OutOfSequenceBeforeAuthenticationCallException
Returns
void

Definition at line 822 of file Client.php.

References CAS_Client\_ensureAuthenticationCalled(), CAS_Client\getAuthenticationCallerFile(), CAS_Client\getAuthenticationCallerLine(), and CAS_Client\getAuthenticationCallerMethod().

Referenced by CAS_Client\getAttribute(), CAS_Client\getAttributes(), CAS_Client\getProxiedService(), CAS_Client\getUser(), CAS_Client\hasAttribute(), CAS_Client\hasAttributes(), CAS_Client\initializeProxiedService(), CAS_Client\serviceMail(), and CAS_Client\serviceWeb().

823  {
825  if (!$this->_authentication_caller['result']) {
826  throw new CAS_OutOfSequenceException(
827  'authentication was checked (by '
829  . '() at ' . $this->getAuthenticationCallerFile()
830  . ':' . $this->getAuthenticationCallerLine()
831  . ') but the method returned false'
832  );
833  }
834  }
getAuthenticationCallerFile()
Answer information about the authentication caller.
Definition: Client.php:844
_ensureAuthenticationCalled()
Ensure that authentication was checked.
Definition: Client.php:792
This class defines Exceptions that should be thrown when the sequence of operations is invalid...
getAuthenticationCallerLine()
Answer information about the authentication caller.
Definition: Client.php:858
getAuthenticationCallerMethod()
Answer information about the authentication caller.
Definition: Client.php:872
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ensureIsProxy()

CAS_Client::ensureIsProxy ( )

Ensure that this is actually a proxy object or fail with an exception.

Exceptions
CAS_OutOfSequenceBeforeProxyException
Returns
void

Definition at line 745 of file Client.php.

References CAS_Client\isProxy().

Referenced by CAS_Client\getProxiedService(), CAS_Client\initializeProxiedService(), CAS_Client\serviceMail(), CAS_Client\serviceWeb(), CAS_Client\setCallbackURL(), CAS_Client\setPGTStorage(), CAS_Client\setPGTStorageDb(), and CAS_Client\setPGTStorageFile().

746  {
747  if (!$this->isProxy()) {
749  }
750  }
isProxy()
Tells if a CAS client is a CAS proxy or not.
Definition: Client.php:2242
This class defines Exceptions that should be thrown when the sequence of operations is invalid...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAuthenticationCallerFile()

CAS_Client::getAuthenticationCallerFile ( )

Answer information about the authentication caller.

Throws a CAS_OutOfSequenceException if wasAuthenticationCalled() is false and markAuthenticationCall() didn't happen.

Returns
array Keys are 'file', 'line', and 'method'

Definition at line 844 of file Client.php.

References CAS_Client\_ensureAuthenticationCalled().

Referenced by CAS_Client\ensureAuthenticationCallSuccessful().

845  {
847  return $this->_authentication_caller['file'];
848  }
_ensureAuthenticationCalled()
Ensure that authentication was checked.
Definition: Client.php:792
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAuthenticationCallerLine()

CAS_Client::getAuthenticationCallerLine ( )

Answer information about the authentication caller.

Throws a CAS_OutOfSequenceException if wasAuthenticationCalled() is false and markAuthenticationCall() didn't happen.

Returns
array Keys are 'file', 'line', and 'method'

Definition at line 858 of file Client.php.

References CAS_Client\_ensureAuthenticationCalled().

Referenced by CAS_Client\ensureAuthenticationCallSuccessful().

859  {
861  return $this->_authentication_caller['line'];
862  }
_ensureAuthenticationCalled()
Ensure that authentication was checked.
Definition: Client.php:792
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAuthenticationCallerMethod()

CAS_Client::getAuthenticationCallerMethod ( )

Answer information about the authentication caller.

Throws a CAS_OutOfSequenceException if wasAuthenticationCalled() is false and markAuthenticationCall() didn't happen.

Returns
array Keys are 'file', 'line', and 'method'

Definition at line 872 of file Client.php.

References CAS_Client\_ensureAuthenticationCalled().

Referenced by CAS_Client\ensureAuthenticationCallSuccessful().

873  {
875  return $this->_authentication_caller['method'];
876  }
_ensureAuthenticationCalled()
Ensure that authentication was checked.
Definition: Client.php:792
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ markAuthenticationCall()

CAS_Client::markAuthenticationCall (   $auth)

Mark the caller of authentication.

This will help client integraters determine problems with their code flow if they call a function such as getUser() before authentication has occurred.

Parameters
bool$authTrue if authentication was successful, false otherwise.
Returns
null

Definition at line 761 of file Client.php.

References array.

Referenced by CAS_Client\isAuthenticated().

762  {
763  // store where the authentication has been checked and the result
764  $dbg = debug_backtrace();
765  $this->_authentication_caller = array (
766  'file' => $dbg[1]['file'],
767  'line' => $dbg[1]['line'],
768  'method' => $dbg[1]['class'] . '::' . $dbg[1]['function'],
769  'result' => (boolean)$auth
770  );
771  }
Create styles array
The data for the language used.
+ Here is the caller graph for this function:

◆ setCasAttributeParserCallback()

CAS_Client::setCasAttributeParserCallback (   $function,
array  $additionalArgs = array() 
)

Set a callback function to be run when parsing CAS attributes.

The callback function will be passed a XMLNode as its first parameter, followed by any $additionalArgs you pass.

Parameters
string$functioncallback function to call
array$additionalArgsoptional array of arguments
Returns
void

Definition at line 664 of file Client.php.

665  {
666  $this->_casAttributeParserCallbackFunction = $function;
667  $this->_casAttributeParserCallbackArgs = $additionalArgs;
668  }

◆ setNoClearTicketsFromUrl()

CAS_Client::setNoClearTicketsFromUrl ( )

Configure the client to not send redirect headers and call exit() on authentication success.

The normal redirect is used to remove the service ticket from the client's URL, but for running unit tests we need to continue without exiting.

Needed for testing authentication

Returns
void

Definition at line 638 of file Client.php.

Referenced by CAS_Client\_setProxies().

639  {
640  $this->_clearTicketsFromUrl = false;
641  }
+ Here is the caller graph for this function:

◆ setPostAuthenticateCallback()

CAS_Client::setPostAuthenticateCallback (   $function,
array  $additionalArgs = array() 
)

Set a callback function to be run when a user authenticates.

The callback function will be passed a $logoutTicket as its first parameter, followed by any $additionalArgs you pass. The $logoutTicket parameter is an opaque string that can be used to map a session-id to the logout request in order to support single-signout in applications that manage their own sessions (rather than letting phpCAS start the session).

phpCAS::forceAuthentication() will always exit and forward client unless they are already authenticated. To perform an action at the moment the user logs in (such as registering an account, performing logging, etc), register a callback function here.

Parameters
string$functioncallback function to call
array$additionalArgsoptional array of arguments
Returns
void

Definition at line 698 of file Client.php.

699  {
700  $this->_postAuthenticateCallbackFunction = $function;
701  $this->_postAuthenticateCallbackArgs = $additionalArgs;
702  }

◆ setRequestImplementation()

CAS_Client::setRequestImplementation (   $className)

Override the default implementation used to make web requests in readUrl().

This class must implement the CAS_Request_RequestInterface.

Parameters
string$classNamename of the RequestImplementation class
Returns
void

Definition at line 611 of file Client.php.

612  {
613  $obj = new $className;
614  if (!($obj instanceof CAS_Request_RequestInterface)) {
616  '$className must implement the CAS_Request_RequestInterface'
617  );
618  }
619  $this->_requestImplementation = $className;
620  }
This interface defines a class library for performing web requests.
Exception that denotes invalid arguments were passed.

◆ setSingleSignoutCallback()

CAS_Client::setSingleSignoutCallback (   $function,
array  $additionalArgs = array() 
)

Set a callback function to be run when a single-signout request is received.

The callback function will be passed a $logoutTicket as its first parameter, followed by any $additionalArgs you pass. The $logoutTicket parameter is an opaque string that can be used to map a session-id to the logout request in order to support single-signout in applications that manage their own sessions (rather than letting phpCAS start and destroy the session).

Parameters
string$functioncallback function to call
array$additionalArgsoptional array of arguments
Returns
void

Definition at line 728 of file Client.php.

729  {
730  $this->_signoutCallbackFunction = $function;
731  $this->_signoutCallbackArgs = $additionalArgs;
732  }

◆ wasAuthenticationCalled()

CAS_Client::wasAuthenticationCalled ( )

Answer true if authentication has been checked.

Returns
bool

Definition at line 779 of file Client.php.

Referenced by CAS_Client\_ensureAuthenticationCalled().

780  {
781  return !empty($this->_authentication_caller);
782  }
+ Here is the caller graph for this function:

◆ wasAuthenticationCallSuccessful()

CAS_Client::wasAuthenticationCallSuccessful ( )

Answer the result of the authentication call.

Throws a CAS_OutOfSequenceException if wasAuthenticationCalled() is false and markAuthenticationCall() didn't happen.

Returns
bool

Definition at line 807 of file Client.php.

References CAS_Client\_ensureAuthenticationCalled().

808  {
810  return $this->_authentication_caller['result'];
811  }
_ensureAuthenticationCalled()
Ensure that authentication was checked.
Definition: Client.php:792
+ Here is the call graph for this function:

Variable Documentation

◆ $_authentication_caller

CAS_Client::$_authentication_caller
private

Definition at line 772 of file Client.php.

◆ $_casAttributeParserCallbackArgs

CAS_Client::$_casAttributeParserCallbackArgs = array()
private

Definition at line 651 of file Client.php.

◆ $_casAttributeParserCallbackFunction

CAS_Client::$_casAttributeParserCallbackFunction = null
private

Definition at line 646 of file Client.php.

◆ $_clearTicketsFromUrl

CAS_Client::$_clearTicketsFromUrl = true
private

Definition at line 626 of file Client.php.

◆ $_postAuthenticateCallbackArgs

array CAS_Client::$_postAuthenticateCallbackArgs = array()
private

Definition at line 677 of file Client.php.

◆ $_postAuthenticateCallbackFunction

callback CAS_Client::$_postAuthenticateCallbackFunction = null
private

Definition at line 672 of file Client.php.

◆ $_requestImplementation

CAS_Client::$_requestImplementation = 'CAS_Request_CurlRequest'
private

The class to instantiate for making web requests in readUrl().

The class specified must implement the CAS_Request_RequestInterface. By default CAS_Request_CurlRequest is used, but this may be overridden to supply alternate request mechanisms for testing.

Definition at line 601 of file Client.php.

Referenced by CAS_Client\_readURL(), CAS_Client\_rebroadcast(), and CAS_Client\getProxiedService().

◆ $_signoutCallbackArgs

array CAS_Client::$_signoutCallbackArgs = array()
private

Definition at line 712 of file Client.php.

Referenced by CAS_Client\handleLogoutRequests().

◆ $_signoutCallbackFunction

callback CAS_Client::$_signoutCallbackFunction = null
private

Definition at line 707 of file Client.php.