You are here

public function AuthenticationProviderPass::process in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/DependencyInjection/Compiler/AuthenticationProviderPass.php \Drupal\Core\DependencyInjection\Compiler\AuthenticationProviderPass::process()
  2. 9 core/lib/Drupal/Core/DependencyInjection/Compiler/AuthenticationProviderPass.php \Drupal\Core\DependencyInjection\Compiler\AuthenticationProviderPass::process()

File

core/lib/Drupal/Core/DependencyInjection/Compiler/AuthenticationProviderPass.php, line 16

Class

AuthenticationProviderPass
Registers the authentication_providers container parameter.

Namespace

Drupal\Core\DependencyInjection\Compiler

Code

public function process(ContainerBuilder $container) {
  $authentication_providers = [];
  foreach ($container
    ->findTaggedServiceIds('authentication_provider') as $service_id => $attributes) {
    $authentication_provider = $attributes[0]['provider_id'];
    if ($provider_tag = $container
      ->getDefinition($service_id)
      ->getTag('_provider')) {
      $authentication_providers[$authentication_provider] = $provider_tag[0]['provider'];
    }
  }
  $container
    ->setParameter('authentication_providers', $authentication_providers);
}