UsernameServiceFactory.php 1.1 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

namespace UnicaenAuth\Provider\Role;

use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;

/**
 * Description of UsernameServiceFactory
 *
 * @author Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>
 */
class UsernameServiceFactory implements FactoryInterface
{
    /**
     * Create service
     *
     * @param ServiceLocatorInterface $serviceLocator
     * @return Username
     */
    public function createService(ServiceLocatorInterface $serviceLocator)
    {
23
24
25
26
27
28
29
30
31
32
        $config = $serviceLocator->get('BjyAuthorize\Config');

        if (! isset($config['role_providers']['UnicaenAuth\Provider\Role\Username'])) {
            throw new InvalidArgumentException(
                'Config for "UnicaenAuth\Provider\Role\Username" not set'
            );
        }

        $providerConfig = $config['role_providers']['UnicaenAuth\Provider\Role\Username'];
        
33
34
        $authService = $serviceLocator->get('zfcuser_auth_service'); /* @var $authService \Zend\Authentication\AuthenticationService */
        
35
        return new Username($authService, $providerConfig);
36
37
    }
}