class OpenIDConnectClientCollection in OpenID Connect / OAuth client 2.x
Provides a collection of OpenID Connect client plugins.
Hierarchy
- class \Drupal\Component\Plugin\LazyPluginCollection implements \Drupal\Component\Plugin\IteratorAggregate, \Drupal\Component\Plugin\Countable
- class \Drupal\Core\Plugin\DefaultSingleLazyPluginCollection uses DependencySerializationTrait
- class \Drupal\openid_connect\Plugin\OpenIDConnectClientCollection
- class \Drupal\Core\Plugin\DefaultSingleLazyPluginCollection uses DependencySerializationTrait
Expanded class hierarchy of OpenIDConnectClientCollection
1 file declares its use of OpenIDConnectClientCollection
- OpenIDConnectClientEntity.php in src/
Entity/ OpenIDConnectClientEntity.php
File
- src/
Plugin/ OpenIDConnectClientCollection.php, line 12
Namespace
Drupal\openid_connect\PluginView source
class OpenIDConnectClientCollection extends DefaultSingleLazyPluginCollection {
/**
* The OpenID Connect client ID this plugin collection belongs to.
*
* @var \Drupal\openid_connect\OpenIDConnectClientEntityInterface
*/
protected $clientId;
/**
* Constructs a new OpenIDConnectClientCollection.
*
* @param \Drupal\Component\Plugin\PluginManagerInterface $manager
* The manager to be used for instantiating plugins.
* @param string $instance_id
* The ID of the plugin instance.
* @param array $configuration
* An array of configuration.
* @param string|null $openid_connect_client_id
* The unique ID of the OpenID Connect client entity using this plugin.
*/
public function __construct(PluginManagerInterface $manager, string $instance_id, array $configuration, ?string $openid_connect_client_id) {
if (!empty($openid_connect_client_id)) {
$this->clientId = $openid_connect_client_id;
}
parent::__construct($manager, $instance_id, $configuration);
}
/**
* {@inheritdoc}
*/
protected function initializePlugin($instance_id) {
if (!$instance_id) {
throw new PluginException("The OpenID Connect client '{$this->clientId}' did not specify a plugin.");
}
try {
parent::initializePlugin($instance_id);
if (isset($this->clientId)) {
/** @var \Drupal\openid_connect\Plugin\OpenIDConnectClientInterface $plugin */
$plugin = $this
->get($instance_id);
$plugin
->setParentEntityId($this->clientId);
}
} catch (PluginException $e) {
$module = $this->configuration['provider'];
// Ignore clients belonging to uninstalled modules, but re-throw valid
// exceptions when the module is installed and the plugin is
// misconfigured.
if (!$module || \Drupal::moduleHandler()
->moduleExists($module)) {
throw $e;
}
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DefaultSingleLazyPluginCollection:: |
protected | property | An array of configuration to instantiate the plugin with. | |
DefaultSingleLazyPluginCollection:: |
protected | property | The instance ID used for this plugin collection. | |
DefaultSingleLazyPluginCollection:: |
protected | property | The manager used to instantiate the plugins. | |
DefaultSingleLazyPluginCollection:: |
public | function |
Adds an instance ID to the available instance IDs. Overrides LazyPluginCollection:: |
|
DefaultSingleLazyPluginCollection:: |
public | function |
Gets the current configuration of all plugins in this collection. Overrides LazyPluginCollection:: |
|
DefaultSingleLazyPluginCollection:: |
public | function |
Sets the configuration for all plugins in this collection. Overrides LazyPluginCollection:: |
|
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
LazyPluginCollection:: |
protected | property | Stores the IDs of all potential plugin instances. | |
LazyPluginCollection:: |
protected | property | Stores all instantiated plugins. | |
LazyPluginCollection:: |
public | function | Clears all instantiated plugins. | 1 |
LazyPluginCollection:: |
public | function | ||
LazyPluginCollection:: |
public | function | Gets a plugin instance, initializing it if necessary. | 8 |
LazyPluginCollection:: |
public | function | Gets all instance IDs. | |
LazyPluginCollection:: |
public | function | ||
LazyPluginCollection:: |
public | function | Determines if a plugin instance exists. | |
LazyPluginCollection:: |
public | function | Removes an initialized plugin. | 1 |
LazyPluginCollection:: |
public | function | Removes an instance ID. | 1 |
LazyPluginCollection:: |
public | function | Stores an initialized plugin. | |
OpenIDConnectClientCollection:: |
protected | property | The OpenID Connect client ID this plugin collection belongs to. | |
OpenIDConnectClientCollection:: |
protected | function |
Initializes and stores a plugin. Overrides DefaultSingleLazyPluginCollection:: |
|
OpenIDConnectClientCollection:: |
public | function |
Constructs a new OpenIDConnectClientCollection. Overrides DefaultSingleLazyPluginCollection:: |