You are here

class AuthenticationProviderPass 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
  2. 9 core/lib/Drupal/Core/DependencyInjection/Compiler/AuthenticationProviderPass.php \Drupal\Core\DependencyInjection\Compiler\AuthenticationProviderPass

Registers the authentication_providers container parameter.

Hierarchy

  • class \Drupal\Core\DependencyInjection\Compiler\AuthenticationProviderPass implements \Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface

Expanded class hierarchy of AuthenticationProviderPass

2 files declare their use of AuthenticationProviderPass
AuthenticationProviderPassTest.php in core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/AuthenticationProviderPassTest.php
CoreServiceProvider.php in core/lib/Drupal/Core/CoreServiceProvider.php

File

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

Namespace

Drupal\Core\DependencyInjection\Compiler
View source
class AuthenticationProviderPass implements CompilerPassInterface {

  /**
   * {@inheritdoc}
   */
  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);
  }

}

Members