diff --git a/src/UnicaenAuth/Authentication/Adapter/Shib.php b/src/UnicaenAuth/Authentication/Adapter/Shib.php index 8222f89e7f44b61917eafb790de5779658d3dd62..c7de5453d9fb42adbcd043c2fa5b490ee73d0c57 100644 --- a/src/UnicaenAuth/Authentication/Adapter/Shib.php +++ b/src/UnicaenAuth/Authentication/Adapter/Shib.php @@ -5,6 +5,7 @@ namespace UnicaenAuth\Authentication\Adapter; use UnicaenAuth\Controller\AuthController; use UnicaenAuth\Options\Traits\ModuleOptionsAwareTrait; use UnicaenAuth\Service\Traits\ShibServiceAwareTrait; +use UnicaenAuth\Service\User; use Zend\Authentication\AuthenticationService; use Zend\Authentication\Exception\UnexpectedValueException; use Zend\Authentication\Result as AuthenticationResult; @@ -59,6 +60,19 @@ class Shib extends AbstractAdapter $this->router = $router; } + /** + * @var User + */ + private $userService; + + /** + * @param User $userService + */ + public function setUserService(User $userService) + { + $this->userService = $userService; + } + /** * Réalise l'authentification. * @@ -118,6 +132,9 @@ class Shib extends AbstractAdapter $this->getStorage()->write($storage); $e->setCode(AuthenticationResult::SUCCESS) ->setMessages(['Authentication successful.']); + + /* @var $userService User */ + $this->userService->userAuthenticated($shibUser); } /** diff --git a/src/UnicaenAuth/Authentication/Adapter/ShibAdapterFactory.php b/src/UnicaenAuth/Authentication/Adapter/ShibAdapterFactory.php index 09cffd42b17888aae3cefb55ab5d6d5879db021c..7c8f54e38f6c18b3206ece81a0d8ed4ed7ddfd64 100644 --- a/src/UnicaenAuth/Authentication/Adapter/ShibAdapterFactory.php +++ b/src/UnicaenAuth/Authentication/Adapter/ShibAdapterFactory.php @@ -5,6 +5,7 @@ namespace UnicaenAuth\Authentication\Adapter; use Interop\Container\ContainerInterface; use UnicaenAuth\Options\ModuleOptions; use UnicaenAuth\Service\ShibService; +use UnicaenAuth\Service\User; use Zend\Authentication\AuthenticationService; use Zend\Authentication\Storage\Session; use Zend\Router\RouteInterface; @@ -45,6 +46,10 @@ class ShibAdapterFactory $router = $container->get('router'); $adapter->setRouter($router); + /** @var User $userService */ + $userService = $container->get('unicaen-auth_user_service'); + $adapter->setUserService($userService); + $options = array_merge( $container->get('zfcuser_module_options')->toArray(), $container->get('unicaen-auth_module_options')->toArray());