/** * @return \Laelaps\Bundle\FacebookAuthentication\DependencyInjection\Security\Factory\FacebookSecurityFactory */ private function getFacebookSecurityFactory() { $facebookFactory = new FacebookSecurityFactory(); $facebookFactory->setFacebookExtension(new FacebookExtension()); $facebookFactory->setFacebookApplicationDefaultConfiguration($this->getFacebookConfiguration()); return $facebookFactory; }
/** * {@inheritDoc} */ public function build(ContainerBuilder $container) { parent::build($container); if (!$container->hasExtension('facebook')) { $container->registerExtension($facebookExtension = new FacebookExtension()); } else { $facebookExtension = $container->getExtension('facebook'); if (!$facebookExtension instanceof FacebookExtension) { throw new LogicException(sprintf('"%s" bundle is colliding with "%s" extension. "%s" extension is recommended instead of the above.', get_class($this), get_class($facebookExtension), 'Laelaps\\Bundle\\Facebook\\DependencyInjection\\FacebookExtension')); } } $securityFactory = new FacebookSecurityFactory(); $securityFactory->setFacebookExtension($facebookExtension); $container->getExtension('facebook_authentication')->attach($securityFactory); $extension = $container->getExtension('security'); $extension->addSecurityListenerFactory($securityFactory); }