From Joomla! Documentation

< API16:JAuthentication

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.


Finds out if a set of login credentials are valid by asking all obvserving objects to run their respective authentication routines.

<! removed transcluded page call, red link never existed >


authenticate($credentials, $options)
Parameter Name Default Value Description
$credentials Array holding the user credentials


mixed Integer userid for valid user if credentials are valid or boolean false if they are not

Defined in[edit]



jimport( 'joomla.user.authentication' );

Source Body[edit]

public function authenticate($credentials, $options)
        // Initialise variables.
        $auth = false;

        // Get plugins
        $plugins = JPluginHelper::getPlugin('authentication');

        // Create authencication response
        $response = new JAuthenticationResponse();

         * Loop through the plugins and check of the creditials can be used to authenticate
         * the user
         * Any errors raised in the plugin should be returned via the JAuthenticationResponse
         * and handled appropriately.
        foreach ($plugins as $plugin)
                $className = 'plg'.$plugin->type.$plugin->name;
                if (class_exists($className)) {
                        $plugin = new $className($this, (array)$plugin);
                else {
                        // bail here if the plugin can't be created
                        JError::raiseWarning(50,'JAuthentication::authenticate: '. JText::_('Failed to load plugin') .': '. $className);

                // Try to authenticate
                $plugin->onAuthenticate($credentials, $options, $response);

                // If authentication is successfull break out of the loop
                if ($response->status === JAUTHENTICATE_STATUS_SUCCESS)
                        if (empty($response->type)) {
                                $response->type = isset($plugin->_name) ? $plugin->_name : $plugin->name;
                        if (empty($response->username)) {
                                $response->username = $credentials['username'];

                        if (empty($response->fullname)) {
                                $response->fullname = $credentials['username'];

                        if (empty($response->password)) {
                                $response->password = $credentials['password'];

        return $response;

<! removed transcluded page call, red link never existed >


Code Examples[edit]