3 namespace Drupal\Core\DependencyInjection\Compiler;
5 use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6 use Symfony\Component\DependencyInjection\ContainerBuilder;
9 * Registers the authentication_providers container parameter.
11 class AuthenticationProviderPass implements CompilerPassInterface {
16 public function process(ContainerBuilder $container) {
17 $authentication_providers = [];
18 foreach ($container->findTaggedServiceIds('authentication_provider') as $service_id => $attributes) {
19 $authentication_provider = $attributes[0]['provider_id'];
20 if ($provider_tag = $container->getDefinition($service_id)->getTag('_provider')) {
21 $authentication_providers[$authentication_provider] = $provider_tag[0]['provider'];
24 $container->setParameter('authentication_providers', $authentication_providers);