UserContextFactory.php 1.05 KB
Newer Older
1
2
3
4
<?php

namespace UnicaenAuth\Service;

5
6
use Interop\Container\ContainerInterface;
use Zend\Authentication\AuthenticationService;
7
8
9
10

class UserContextFactory
{
    /**
11
     * @param ContainerInterface $container
12
13
     * @return UserContext
     */
14
    public function __invoke(ContainerInterface $container)
15
    {
16
17
18
        /** @var AuthenticationService $authenticationService */
        $authenticationService = $container->get('Zend\Authentication\AuthenticationService');

19
        $service = new UserContext();
20
        $service->setAuthenticationService($authenticationService);
21

22
23
24
25
26
27
28
29
30
31
        //
        // NB: il serait souhaitable d'injecter l'identity provider dans le service UserContext en faisant :
        //
        //    $identityProvider = $container->get('BjyAuthorize\Provider\Identity\ProviderInterface');
        //    $service->setIdentityProvider($identityProvider);
        //
        // mais c'est impossible pour l'instant car il y a un cycle dans les dépendances entre services qui
        // provoque une boucle infinie.
        //

32
33
34
        return $service;
    }
}