for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* SocialConnect project
* @author: Patsura Dmitry https://github.com/ovr <[email protected]>
*/
namespace SocialConnect\Auth;
use Exception;
use SocialConnect\Common\HttpClient;
* Class Service
* @package SocialConnect\Auth
class Service
{
use HttpClient;
* @var FactoryInterface
protected $factory;
* @var array
protected $config;
* @param array $config
* @param null $factory
* @internal param $storage
public function __construct(array $config, $factory = null)
$this->config = $config;
$this->factory = is_null($factory) ? new Factory() : $factory;
}
* @param $name
* @return array
* @throws Exception
public function getProviderConfiguration($name)
if (isset($this->config['provider'][ucfirst($name)])) {
return $this->config['provider'][ucfirst($name)];
throw new Exception('Please setup configuration for ' . ucfirst($name) . ' provider');
* Get provider class by $name
*
* @return \SocialConnect\Auth\AbstractBaseProvider
public function getProvider($name)
return $this->factory->factory(ucfirst($name), $this->getProviderConfiguration($name), $this);
public function getConfig()
return $this->config;
* @return FactoryInterface
public function getFactory()
return $this->factory;