vendor/trikoder/oauth2-bundle/TrikoderOAuth2Bundle.php line 14

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Trikoder\Bundle\OAuth2Bundle;
  4. use Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass;
  5. use Symfony\Bundle\SecurityBundle\DependencyInjection\SecurityExtension;
  6. use Symfony\Component\DependencyInjection\ContainerBuilder;
  7. use Symfony\Component\HttpKernel\Bundle\Bundle;
  8. use Trikoder\Bundle\OAuth2Bundle\DependencyInjection\Security\OAuth2Factory;
  9. use Trikoder\Bundle\OAuth2Bundle\DependencyInjection\TrikoderOAuth2Extension;
  10. final class TrikoderOAuth2Bundle extends Bundle
  11. {
  12. /**
  13. * {@inheritdoc}
  14. */
  15. public function build(ContainerBuilder $container)
  16. {
  17. parent::build($container);
  18. $this->configureDoctrineExtension($container);
  19. $this->configureSecurityExtension($container);
  20. }
  21. /**
  22. * {@inheritdoc}
  23. */
  24. public function getContainerExtension()
  25. {
  26. return new TrikoderOAuth2Extension();
  27. }
  28. private function configureSecurityExtension(ContainerBuilder $container): void
  29. {
  30. /** @var SecurityExtension $extension */
  31. $extension = $container->getExtension('security');
  32. $extension->addSecurityListenerFactory(new OAuth2Factory());
  33. }
  34. private function configureDoctrineExtension(ContainerBuilder $container): void
  35. {
  36. $container->addCompilerPass(
  37. DoctrineOrmMappingsPass::createXmlMappingDriver(
  38. [
  39. realpath(__DIR__ . '/Resources/config/doctrine/model') => 'Trikoder\Bundle\OAuth2Bundle\Model',
  40. ],
  41. [
  42. 'trikoder.oauth2.persistence.doctrine.manager',
  43. ],
  44. 'trikoder.oauth2.persistence.doctrine.enabled',
  45. [
  46. 'TrikoderOAuth2Bundle' => 'Trikoder\Bundle\OAuth2Bundle\Model',
  47. ]
  48. )
  49. );
  50. }
  51. }