share(function (Application $app){ return new Authenticator($app, $app['browser'], $app['session'], $app['EM'], $app['phraseanet.registry']); }); $app['authentication.token-validator'] = $app->share(function (Application $app){ return new TokenValidator($app); }); $app['authentication.persistent-manager'] = $app->share(function (Application $app){ return new CookieManager($app['auth.password-encoder'], $app['EM'], $app['browser']); }); $app['authentication.suggestion-finder'] = $app->share(function (Application $app) { return new SuggestionFinder($app); }); $app['authentication.providers.factory'] = $app->share(function (Application $app) { return new ProviderFactory($app['url_generator'], $app['session']); }); $app['authentication.providers'] = $app->share(function (Application $app) { $providers = new ProvidersCollection(); $authConf = $app['phraseanet.configuration']->get('authentication'); foreach ($authConf['providers'] as $providerId => $data) { if (isset($data['enabled']) && false === $data['enabled']) { continue; } $providers->register($app['authentication.providers.factory']->build($providerId, $data['options'])); } return $providers; }); $app['authentication.manager'] = $app->share(function (Application $app) { return new Manager($app['authentication'], $app['authentication.providers']); }); $app['auth.password-encoder'] = $app->share(function (Application $app) { return new PasswordEncoder($app['phraseanet.registry']->get('GV_sit')); }); $app['auth.old-password-encoder'] = $app->share(function (Application $app) { return new OldPasswordEncoder(); }); $app['auth.native.failure-manager'] = $app->share(function (Application $app) { return new FailureManager($app['EM'], $app['recaptcha'], 9); }); $app['auth.native'] = $app->share(function (Application $app) { return new NativeAuthentication($app['auth.password-encoder'], $app['auth.old-password-encoder'], $app['auth.native.failure-manager'], $app['phraseanet.appbox']->get_connection()); }); } public function boot(Application $app) { } }