diff --git a/DependencyInjection/ABELkeycloakBearerOnlyAdapterExtension.php b/DependencyInjection/ABELkeycloakBearerOnlyAdapterExtension.php index 7a32c7a..5c186b9 100644 --- a/DependencyInjection/ABELkeycloakBearerOnlyAdapterExtension.php +++ b/DependencyInjection/ABELkeycloakBearerOnlyAdapterExtension.php @@ -5,7 +5,6 @@ namespace ABEL\Bundle\keycloakBearerOnlyAdapterBundle\DependencyInjection; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; use Symfony\Component\DependencyInjection\Extension\Extension; class ABELkeycloakBearerOnlyAdapterExtension extends Extension @@ -13,13 +12,17 @@ class ABELkeycloakBearerOnlyAdapterExtension extends Extension public function load(array $configs, ContainerBuilder $container): void { - $loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); - $loader->load('services.xml'); + $loader = new PhpFileLoader( + $container, + new FileLocator(__DIR__ . '/../Resources/config') + ); + $loader->load('services.php'); $configuration = $this->getConfiguration($configs, $container); $config = $this->processConfiguration($configuration, $configs); $definition = $container->getDefinition('abel_keycloak_bearer_only_adapter.keycloak_bearer_user_provider'); + $definition->replaceArgument(0, $config['issuer']); $definition->replaceArgument(1, $config['realm']); $definition->replaceArgument(2, $config['client_id']); diff --git a/Resources/config/services.php b/Resources/config/services.php new file mode 100644 index 0000000..f8f2e49 --- /dev/null +++ b/Resources/config/services.php @@ -0,0 +1,25 @@ +services(); + + $services + ->defaults() + ->autowire() + ->autoconfigure(); + + $services->load('ABEL\\Bundle\\keycloakBearerOnlyAdapterBundle\\', '../../*') + ->exclude('../../{Entity,Migrations,Tests}'); + + // empty args → will be replaced later + $services->set('abel_keycloak_bearer_only_adapter.keycloak_bearer_user_provider', KeycloakBearerUserProvider::class) + ->args([null, null, null, null, null]); + + $services->alias( + KeycloakBearerUserProvider::class, + 'abel_keycloak_bearer_only_adapter.keycloak_bearer_user_provider' + ); +}; \ No newline at end of file diff --git a/Resources/config/services.xml b/Resources/config/services.xml deleted file mode 100644 index 4675f42..0000000 --- a/Resources/config/services.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - -