diff --git a/composer.json b/composer.json index 8c877ea..e8f1cbe 100644 --- a/composer.json +++ b/composer.json @@ -18,6 +18,7 @@ "ext-simplexml": "*", "ecphp/cas-bundle": "^1", "ecphp/ecas": "^2", + "symfony/dependency-injection": "^4.4", "symfony/framework-bundle": "^4.4" }, "require-dev": { diff --git a/src/DependencyInjection/EuLoginExtension.php b/src/DependencyInjection/EuLoginExtension.php index c0eddc8..2d850fe 100644 --- a/src/DependencyInjection/EuLoginExtension.php +++ b/src/DependencyInjection/EuLoginExtension.php @@ -6,7 +6,7 @@ use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; +use Symfony\Component\DependencyInjection\Loader\PhpFileLoader; use Symfony\Component\HttpKernel\DependencyInjection\Extension; /** @@ -21,7 +21,7 @@ class EuLoginExtension extends Extension public function load(array $configs, ContainerBuilder $container): void { // Load EU Login services. - $loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); - $loader->load('services.yaml'); + $loader = new PhpFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); + $loader->load('services.php'); } } diff --git a/src/Resources/config/services.php b/src/Resources/config/services.php new file mode 100644 index 0000000..bda9aa8 --- /dev/null +++ b/src/Resources/config/services.php @@ -0,0 +1,33 @@ +services() + ->set('eulogin.userprovider', EuLoginUserProvider::class); + + $container + ->services() + ->set('ecas.configuration', EcasProperties::class) + ->decorate('cas.configuration') + ->args([ + ref('ecas.configuration.inner'), + ref('request_stack'), + ]); + + $container + ->services() + ->set('ecas', Ecas::class) + ->decorate('cas') + ->args([ + ref('cas.inner'), + ref('nyholm.psr7.psr17_factory'), + ]); +}; diff --git a/src/Resources/config/services.yaml b/src/Resources/config/services.yaml deleted file mode 100644 index a0007ac..0000000 --- a/src/Resources/config/services.yaml +++ /dev/null @@ -1,13 +0,0 @@ -services: - eulogin.userprovider: - class: EcPhp\EuLoginBundle\Security\Core\User\EuLoginUserProvider - - ecas.configuration: - class: EcPhp\Ecas\EcasProperties - decorates: 'cas.configuration' - arguments: ['@ecas.configuration.inner', '@request_stack'] - - ecas: - class: EcPhp\Ecas\Ecas - decorates: 'cas' - arguments: ['@ecas.inner', '@nyholm.psr7.psr17_factory']