public function getAutoloaderConfig()
    {
        $addProvidersDir = null;
        $directories = [
            __DIR__.'/../../../../hybridauth/hybridauth/additional-providers',
            __DIR__.'/../../../../vendor/hybridauth/hybridauth/additional-providers',
        ];

        foreach ($directories as $directory) {
            if (is_dir($directory)) {
                $addProvidersDir = $directory;
                break;
            }
        }

        if (is_null($addProvidersDir)) {
            throw new InvalidArgumentException('HybridAuth additional providers directories is not found.');
        }

        return array(
            'Zend\Loader\ClassMapAutoloader' => array(
                // This is an hack due to bad design of Hybridauth
                // This ensures the class from "addtional-providers" is loaded.
                array(
                    'Hybrid_Providers_XING' => $addProvidersDir . '/hybridauth-xing/Providers/XING.php',
                ),
                array(
                    'Hybrid_Providers_Github' => $addProvidersDir. '/hybridauth-github/Providers/GitHub.php',
                ),
            ),
        );
    }