/**
  * @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);
 }