ADmad\HybridAuth\Auth\HybridAuthAuthenticate::authenticate PHP Method

authenticate() public method

Authenticate a user based on the request information.
public authenticate ( Cake\Network\Request $request, Response $response ) : array | boolean
$request Cake\Network\Request Request to get authentication information from.
$response Cake\Network\Response A response object that can have headers added.
return array | boolean User array on success, false on failure.
    public function authenticate(Request $request, Response $response)
    {
        if ($user = $this->getUser($request)) {
            return $user;
        }
        $provider = $this->_checkProvider($request->query);
        if (!$provider) {
            return false;
        }
        $returnTo = Router::url(['plugin' => 'ADmad/HybridAuth', 'controller' => 'HybridAuth', 'action' => 'authenticated', 'prefix' => false], true);
        if (!empty($this->_config['hauth_return_to'])) {
            $returnTo = Router::url($this->_config['hauth_return_to'], true);
        }
        $params = ['hauth_return_to' => $returnTo];
        if ($provider === 'OpenID') {
            $params['openid_identifier'] = $request->query($this->_config['fields']['openid_identifier']);
        }
        $adapter = Hybrid_Auth::authenticate($provider, $params);
        if ($adapter) {
            return $this->_getUser($adapter);
        }
        return false;
    }