class LockrKeyProvider in Lockr 8.2
Same name and namespace in other branches
- 8.4 src/Plugin/KeyProvider/LockrKeyProvider.php \Drupal\lockr\Plugin\KeyProvider\LockrKeyProvider
- 8.3 src/Plugin/KeyProvider/LockrKeyProvider.php \Drupal\lockr\Plugin\KeyProvider\LockrKeyProvider
- 4.x src/Plugin/KeyProvider/LockrKeyProvider.php \Drupal\lockr\Plugin\KeyProvider\LockrKeyProvider
Adds a key provider that allows a key to be stored in Lockr.
Plugin annotation
@KeyProvider(
id = "lockr",
label = "Lockr",
description = @Translation("The Lockr key provider stores the key in Lockr key management service."),
storage_method = "lockr",
key_value = {
"accepted" = TRUE,
"required" = TRUE
}
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\key\Plugin\KeyPluginBase implements KeyPluginInterface
- class \Drupal\key\Plugin\KeyProviderBase implements KeyProviderInterface
- class \Drupal\lockr\Plugin\KeyProvider\LockrKeyProvider implements KeyPluginFormInterface, KeyProviderSettableValueInterface
- class \Drupal\key\Plugin\KeyProviderBase implements KeyProviderInterface
- class \Drupal\key\Plugin\KeyPluginBase implements KeyPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of LockrKeyProvider
File
- src/
Plugin/ KeyProvider/ LockrKeyProvider.php, line 36 - Contains Drupal\lockr\Plugin\KeyProvider\LockrKeyProvider.
Namespace
Drupal\lockr\Plugin\KeyProviderView source
class LockrKeyProvider extends KeyProviderBase implements KeyProviderSettableValueInterface, KeyPluginFormInterface {
protected $client;
public function __construct(array $configuration, $plugin_id, $plugin_definition, ClientFactory $client_factory) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->clientFactory = $client_factory;
}
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container
->get('lockr.client_factory'));
}
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return [
'encoded' => '',
];
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$site_client = $this->clientFactory
->getSiteClient();
$status = $site_client
->exists();
if (!$status['exists']) {
$form['need_register'] = [
'#prefix' => '<p>',
'#markup' => $this
->t('This site has not yet registered with Lockr, please <a href="@link">click here to register</a>.', [
'@link' => Url::fromRoute('lockr.admin')
->toString(),
]),
'#suffix' => '</p>',
];
}
return $form;
}
/**
* {@inheritdoc}
*/
public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
}
/**
* {@inheritdoc}
*/
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
}
/**
* {@inheritdoc}
*/
public function getKeyValue(KeyInterface $key) {
$name = $key
->id();
$encoded = $this
->getConfiguration()['encoded'];
$key_client = $this->clientFactory
->getKeyClient();
return $key_client
->encrypted($encoded)
->get($name);
}
/**
* {@inheritdoc}
*/
public function setKeyValue(KeyInterface $key, $key_value) {
$name = $key
->id();
$label = $key
->label();
$encoded = $this
->getConfiguration()['encoded'] ?: NULL;
$key_client = $this->clientFactory
->getKeyClient();
$encoded = $key_client
->encrypted()
->set($name, $key_value, $label, $encoded);
if ($encoded) {
$this
->setConfiguration([
'encoded' => $encoded,
]);
return TRUE;
}
return FALSE;
}
/**
* {@inheritdoc}
*/
public function deleteKeyValue(KeyInterface $key) {
$name = $key
->id();
$key_client = $this->clientFactory
->getKeyClient();
return $key_client
->delete($name);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
KeyPluginBase:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
|
KeyPluginBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
|
KeyPluginBase:: |
public | function |
Returns the type of plugin. Overrides KeyPluginInterface:: |
|
KeyPluginBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
|
KeyProviderBase:: |
public static | function |
Obscures a key value. Overrides KeyProviderInterface:: |
1 |
KeyProviderBase:: |
protected static | function | Helper method to obscure a value. | |
KeyProviderBase:: |
public | function |
Allows a key provider to perform actions after a key entity is saved. Overrides KeyProviderInterface:: |
|
LockrKeyProvider:: |
protected | property | ||
LockrKeyProvider:: |
public | function |
Form constructor. Overrides PluginFormInterface:: |
|
LockrKeyProvider:: |
public static | function |
Creates an instance of the plugin. Overrides KeyPluginBase:: |
|
LockrKeyProvider:: |
public | function |
Gets default configuration for this plugin. Overrides KeyPluginBase:: |
|
LockrKeyProvider:: |
public | function |
Deletes the value of a key. Overrides KeyProviderSettableValueInterface:: |
|
LockrKeyProvider:: |
public | function |
Returns the value of a key. Overrides KeyProviderInterface:: |
|
LockrKeyProvider:: |
public | function |
Sets the value of a key. Overrides KeyProviderSettableValueInterface:: |
|
LockrKeyProvider:: |
public | function |
Form submission handler. Overrides PluginFormInterface:: |
|
LockrKeyProvider:: |
public | function |
Form validation handler. Overrides PluginFormInterface:: |
|
LockrKeyProvider:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides KeyPluginBase:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |