class SharedSecretRequirement in Acquia Content Hub 8
Verify shared secret is stored locally and matches remote shared secret.
Plugin annotation
@ContentHubRequirement(
id = "shared_secret_verification",
title = @Translation("Shared secret"),
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\acquia_contenthub_diagnostic\ContentHubRequirementBase implements ContentHubRequirementInterface, ContainerFactoryPluginInterface
- class \Drupal\acquia_contenthub_diagnostic\Plugin\ContentHubRequirement\SharedSecretRequirement
- class \Drupal\acquia_contenthub_diagnostic\ContentHubRequirementBase implements ContentHubRequirementInterface, ContainerFactoryPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of SharedSecretRequirement
File
- acquia_contenthub_diagnostic/
src/ Plugin/ ContentHubRequirement/ SharedSecretRequirement.php, line 15
Namespace
Drupal\acquia_contenthub_diagnostic\Plugin\ContentHubRequirementView source
class SharedSecretRequirement extends ContentHubRequirementBase {
/**
* Verify shared secret is stored locally and matches remote shared secret.
*/
public function verify() {
// If Content Hub is not installed there is no reason to run this test.
if (!$this->moduleHandler
->moduleExists('acquia_contenthub')) {
return REQUIREMENT_OK;
}
$shared_secret = \Drupal::state()
->get('acquia_contenthub.shared_secret');
$client_manager = \Drupal::service('acquia_contenthub.client_manager');
// If client manager is not connected we cannot verify the remote key.
if (!$client_manager
->isConnected()) {
$this
->setValue($this
->t('Acquia Content Hub service is not connected.'));
$this
->setDescription($this
->t('Unable to reach Acquia Content Hub service. Cannot verify shared secret.'));
return REQUIREMENT_WARNING;
}
// Get settings via direct request as the getSettings function sets the
// shared secret.
$settings = $client_manager
->createRequest('getSettings');
// If we cannot get the settings warn that we cannot verify shared secret.
if (!$settings) {
$this
->setValue($this
->t('Unable to get Acquia Content Hub settings.'));
$this
->setDescription($this
->t('Unable to get Acquia Content Hub settings. Cannot verify shared secret.'));
return REQUIREMENT_WARNING;
}
// Warn if no key is stored locally.
if (!$shared_secret) {
$this
->setValue($this
->t('Shared secret not stored locally.'));
$this
->setDescription($this
->t('The shared secret is not stored locally. An attempt has been made to correct this issue. Refresh the page and if this error persists contact Acquia Support.'));
\Drupal::service('acquia_contenthub.acquia_contenthub_subscription')
->getSettings();
return REQUIREMENT_WARNING;
}
// If the local shared secret and remote shared secret do not match throw
// an error and store the new secret.
if ($shared_secret != $settings
->getSharedSecret()) {
$this
->setValue($this
->t('Local shared secret incorrect.'));
$this
->setDescription($this
->t('The local shared secret did not match the remote shared secret. An attempt has been made to correct this issue. Refresh the page and if this error persists contact Acquia Support.'));
\Drupal::service('acquia_contenthub.acquia_contenthub_subscription')
->getSettings();
return REQUIREMENT_ERROR;
}
return REQUIREMENT_OK;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ContentHubRequirementBase:: |
protected | property | The description of the requirement/status. | 1 |
ContentHubRequirementBase:: |
protected | property | The module handler. | |
ContentHubRequirementBase:: |
protected | property | The requirement's result/severity level. | |
ContentHubRequirementBase:: |
protected | property | The current value. | |
ContentHubRequirementBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
ContentHubRequirementBase:: |
public | function |
Returns the description of the requirement/status. Overrides ContentHubRequirementInterface:: |
1 |
ContentHubRequirementBase:: |
protected | function | Get the domain to run the tests on. | |
ContentHubRequirementBase:: |
protected | function | Sets the description of the requirement/status. | |
ContentHubRequirementBase:: |
protected | function | Sets the current value. | |
ContentHubRequirementBase:: |
public | function |
Returns the requirement's result/severity level. Overrides ContentHubRequirementInterface:: |
|
ContentHubRequirementBase:: |
public | function |
Returns the name of the requirement. Overrides ContentHubRequirementInterface:: |
|
ContentHubRequirementBase:: |
public | function |
Returns the current value. Overrides ContentHubRequirementInterface:: |
|
ContentHubRequirementBase:: |
public | function |
Constructs a new ContentHubRequirementBase. Overrides PluginBase:: |
|
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 | |
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. | |
SharedSecretRequirement:: |
public | function |
Verify shared secret is stored locally and matches remote shared secret. Overrides ContentHubRequirementBase:: |
|
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. |