Commit 2f6d6268 authored by Liam Morland's avatar Liam Morland Committed by Tyler Struyk
Browse files

ISTWCMS-3478: Remove unused patches directory and composer-patches module

We are no longer using the local patches feature. The last use of local
patches was removed in 9789008f.
parent 4f53e842
diff --git a/core/lib/Drupal/Core/Extension/ModuleInstaller.php b/core/lib/Drupal/Core/Extension/ModuleInstaller.php
index 0dfe322..db57550 100644
--- a/core/lib/Drupal/Core/Extension/ModuleInstaller.php
+++ b/core/lib/Drupal/Core/Extension/ModuleInstaller.php
@@ -293,7 +293,11 @@ public function install(array $module_list, $enable_dependencies = TRUE) {
// If any modules were newly installed, invoke hook_modules_installed().
if (!empty($modules_installed)) {
- \Drupal::getContainer()->set('router.route_provider', \Drupal::service('router.route_provider.old'));
+ // When some code rebuilt the container, the container no longer has the
+ // old route provider.
+ if (\Drupal::hasService('router.route_provider.old')) {
+ \Drupal::getContainer()->set('router.route_provider', \Drupal::service('router.route_provider.old'));
+ }
if (!\Drupal::service('router.route_provider.lazy_builder')->hasRebuilt()) {
// Rebuild routes after installing module. This is done here on top of
// \Drupal\Core\Routing\RouteBuilder::destruct to not run into errors on
diff --git a/tests/src/Unit/TestDoubles/FieldTypePluginManagerDummy.php b/tests/src/Unit/TestDoubles/FieldTypePluginManagerDummy.php
index 636e60b..f30e881 100644
--- a/tests/src/Unit/TestDoubles/FieldTypePluginManagerDummy.php
+++ b/tests/src/Unit/TestDoubles/FieldTypePluginManagerDummy.php
@@ -105,4 +105,12 @@ class FieldTypePluginManagerDummy implements FieldTypePluginManagerInterface {
public function getInstance(array $options) {
// Stub.
}
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getPreconfiguredOptions($field_type) {
+ // Stub.
+ }
+
}
diff --git a/tests/src/Unit/UnitTestBase.php b/tests/src/Unit/UnitTestBase.php
index 485c22c..a8ca269 100644
--- a/tests/src/Unit/UnitTestBase.php
+++ b/tests/src/Unit/UnitTestBase.php
@@ -3,6 +3,10 @@
namespace Drupal\Tests\eck\Unit {
use Drupal\Core\Entity\EntityInterface;
+ use Drupal\Core\Entity\EntityManagerInterface;
+ use Drupal\Core\Entity\EntityTypeInterface;
+ use Drupal\Core\Entity\EntityTypeManagerInterface;
+ use Drupal\Core\Entity\EntityTypeRepositoryInterface;
use Drupal\eck\Entity\EckEntityType;
use Drupal\Tests\eck\Unit\TestDoubles\FieldTypePluginManagerMock;
use Drupal\Tests\UnitTestCase;
@@ -22,6 +26,8 @@ namespace Drupal\Tests\eck\Unit {
$this->prepareContainer();
$this->registerServiceWithContainerMock('current_user', $this->getNewUserMock());
$this->registerServiceWithContainerMock('entity.manager', $this->getEntityManagerMock());
+ $this->registerServiceWithContainerMock('entity_type.manager', $this->getEntityTypeManagerMock());
+ $this->registerServiceWithContainerMock('entity_type.repository', $this->getEntityTypeRepositoryMock());
$this->registerServiceWithContainerMock('plugin.manager.field.field_type', new FieldTypePluginManagerMock());
}
@@ -43,25 +49,48 @@ namespace Drupal\Tests\eck\Unit {
]);
}
- private function getEntityManagerMock() {
+ private function getEntityStorageMock() {
$entity_storage = $this->getMockForAbstractClass('\Drupal\Core\Entity\EntityStorageInterface');
$entity_storage->method('loadMultiple')->willReturnCallback([
$this,
- 'entityStorageLoadMultiple'
+ 'entityStorageLoadMultiple',
]);
$entity_storage->method('load')->willReturnCallback([
$this,
- 'entityStorageLoadMultiple'
+ 'entityStorageLoadMultiple',
]);
- $definition = $this->getMockForAbstractClass('\Drupal\Core\Entity\EntityTypeInterface');
- $entity_manager = $this->getMockForAbstractClass('\Drupal\Core\Entity\EntityManagerInterface');
+ return $entity_storage;
+ }
+
+ private function getEntityManagerMock() {
+ $entity_storage = $this->getEntityStorageMock();
+ $definition = $this->getMockForAbstractClass(EntityTypeInterface::class);
+
+ $entity_manager = $this->getMockForAbstractClass(EntityManagerInterface::class);
$entity_manager->method('getStorage')->willReturn($entity_storage);
$entity_manager->method('getDefinition')->willReturn($definition);
return $entity_manager;
}
+ private function getEntityTypeManagerMock() {
+ $entity_storage = $this->getEntityStorageMock();
+ $definition = $this->getMockForAbstractClass(EntityTypeInterface::class);
+
+ $entity_type_manager = $this->getMockForAbstractClass(EntityTypeManagerInterface::class);
+ $entity_type_manager->method('getStorage')->willReturn($entity_storage);
+ $entity_type_manager->method('getDefinition')->willReturn($definition);
+
+ return $entity_type_manager;
+ }
+
+ protected function getEntityTypeRepositoryMock() {
+ $entity_type_repository = $this->getMockForAbstractClass(EntityTypeRepositoryInterface::class);
+ $entity_type_repository->method('getEntityTypeFromClass')->willReturn('eck_entity_type');
+ return $entity_type_repository;
+ }
+
/**
* Registers a (mocked) service with the mocked service container.
*
diff --git a/config/install/externalauth.settings.yml b/config/install/externalauth.settings.yml
new file mode 100644
index 0000000..67b1129
--- /dev/null
+++ b/config/install/externalauth.settings.yml
@@ -0,0 +1 @@
+prefix: 1
diff --git a/externalauth.install b/externalauth.install
index 30e3fc3..b80101f 100644
--- a/externalauth.install
+++ b/externalauth.install
@@ -83,3 +83,13 @@ function externalauth_update_8102() {
$schema->addUniqueKey('authmap', 'authname_provider', ['authname', 'provider']);
$schema->dropIndex('authmap', 'auth_provider');
}
+
+/**
+ * Turn on prefix option by default for backward compatiablity.
+ */
+function externalauth_update_8103() {
+ $config = \Drupal::getContainer()->get('config.factory')
+ ->getEditable('externalauth.settings');
+ $config->set('prefix', 1);
+ $config->save();
+}
diff --git a/externalauth.links.menu.yml b/externalauth.links.menu.yml
new file mode 100644
index 0000000..dd8eb9e
--- /dev/null
+++ b/externalauth.links.menu.yml
@@ -0,0 +1,6 @@
+externalauth.settings:
+ title: 'External Authentication'
+ parent: user.admin_index
+ description: 'Configure external authentication behaviors'
+ weight: -10
+ route_name: externalauth.settings
diff --git a/externalauth.permissions.yml b/externalauth.permissions.yml
new file mode 100644
index 0000000..222fd11
--- /dev/null
+++ b/externalauth.permissions.yml
@@ -0,0 +1,2 @@
+configure externalauth:
+ title: "Configure ExternalAuth settings"
diff --git a/externalauth.routing.yml b/externalauth.routing.yml
new file mode 100644
index 0000000..5e446da
--- /dev/null
+++ b/externalauth.routing.yml
@@ -0,0 +1,7 @@
+externalauth.settings:
+ path: '/admin/config/people/externalauth'
+ defaults:
+ _form: '\Drupal\externalauth\Form\ExternalAuthSettingsForm'
+ _title: 'External Auth configuration screen'
+ requirements:
+ _permission: 'configure externalauth'
diff --git a/src/ExternalAuth.php b/src/ExternalAuth.php
index 2e4cd3b..2cf7d96 100644
--- a/src/ExternalAuth.php
+++ b/src/ExternalAuth.php
@@ -91,7 +91,9 @@ class ExternalAuth implements ExternalAuthInterface {
* {@inheritdoc}
*/
public function register($authname, $provider, array $account_data = [], $authmap_data = NULL) {
- $username = $provider . '_' . $authname;
+ // Check if we should prefix the provider to the username.
+ $prefix = \Drupal::config('externalauth.settings')->get('prefix') ? $provider . '_' : '';
+ $username = $prefix . $authname;
$authmap_event = $this->eventDispatcher->dispatch(ExternalAuthEvents::AUTHMAP_ALTER, new ExternalAuthAuthmapAlterEvent($provider, $authname, $username, $authmap_data));
$entity_storage = $this->entityManager->getStorage('user');
@@ -104,7 +106,7 @@ class ExternalAuth implements ExternalAuthInterface {
$account_data = array_merge(
[
'name' => $authmap_event->getUsername(),
- 'init' => $provider . '_' . $authmap_event->getAuthname(),
+ 'init' => $prefix . $authmap_event->getAuthname(),
'status' => 1,
'access' => (int) $_SERVER['REQUEST_TIME'],
],
@@ -155,10 +157,13 @@ class ExternalAuth implements ExternalAuthInterface {
* {@inheritdoc}
*/
public function linkExistingAccount($authname, $provider, UserInterface $account) {
+ // Check if should prefix the provider to the username.
+ $prefix = \Drupal::config('externalauth.settings')->get('prefix') ? $provider . '_' : '';
+
// If a mapping (for the same provider) to this account already exists, we
// silently skip saving this auth mapping.
if (!$this->authmap->get($account->id(), $provider)) {
- $username = $provider . '_' . $authname;
+ $username = $prefix . $authname;
$authmap_event = $this->eventDispatcher->dispatch(ExternalAuthEvents::AUTHMAP_ALTER, new ExternalAuthAuthmapAlterEvent($provider, $authname, $username, NULL));
$this->authmap->save($account, $provider, $authmap_event->getAuthname(), $authmap_event->getData());
}
diff --git a/src/Form/ExternalAuthSettingsForm.php b/src/Form/ExternalAuthSettingsForm.php
new file mode 100644
index 0000000..39134e6
--- /dev/null
+++ b/src/Form/ExternalAuthSettingsForm.php
@@ -0,0 +1,59 @@
+<?php
+
+namespace Drupal\externalauth\Form;
+
+use Drupal\Core\Form\ConfigFormBase;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Provides a configuration form for externalauth module.
+ */
+class ExternalAuthSettingsForm extends ConfigFormBase {
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getFormId() {
+ return 'externalauth_settings_form';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function getEditableConfigNames() {
+ return [
+ 'externalauth.settings',
+ ];
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function buildForm(array $form, FormStateInterface $form_state) {
+ $config = $this->config('externalauth.settings');
+
+ $form['externalauth'] = [
+ '#type' => 'fieldset',
+ '#title' => $this->t('Settings'),
+ ];
+
+ $form['externalauth']['prefix'] = [
+ '#type' => 'checkbox',
+ '#title' => $this->t('Prefix user name with their provider'),
+ '#description' => $this->t('If this option is enabled, usernames will be prefix with their provider (i.e. samlauth_username). NOTE: by changing this value, you may have to manually update all existing users.'),
+ '#default_value' => $config->get('prefix'),
+ ];
+ return parent::buildForm($form, $form_state);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function submitForm(array &$form, FormStateInterface $form_state) {
+ parent::submitForm($form, $form_state);
+ $this->config('externalauth.settings')
+ ->set('prefix', $form_state->getValue('prefix'))
+ ->save();
+ }
+
+}
diff --git a/config/install/externalauth.settings.yml b/config/install/externalauth.settings.yml
new file mode 100644
index 0000000..67b1129
--- /dev/null
+++ b/config/install/externalauth.settings.yml
@@ -0,0 +1 @@
+prefix: 1
diff --git a/externalauth.info.yml b/externalauth.info.yml
index 4eb4330..ebb3fdc 100644
--- a/externalauth.info.yml
+++ b/externalauth.info.yml
@@ -3,3 +3,4 @@ type: module
description: Helper module to authenticate users using an external site / service and storing identification details
core: 8.x
package: Other
+configuration: externalauth.settings
diff --git a/externalauth.install b/externalauth.install
index c02e013..47d5e30 100644
--- a/externalauth.install
+++ b/externalauth.install
@@ -83,3 +83,13 @@ function externalauth_update_8102() {
$schema->addUniqueKey('authmap', 'authname_provider', array('authname', 'provider'));
$schema->dropIndex('authmap', 'auth_provider');
}
+
+/**
+ * Turn on prefix option by default for backward compatiablity.
+ */
+function externalauth_update_8103() {
+ $config = \Drupal::getContainer()->get('config.factory')
+ ->getEditable('externalauth.settings');
+ $config->set('prefix', 1);
+ $config->save();
+}
diff --git a/externalauth.links.menu.yml b/externalauth.links.menu.yml
new file mode 100644
index 0000000..dd8eb9e
--- /dev/null
+++ b/externalauth.links.menu.yml
@@ -0,0 +1,6 @@
+externalauth.settings:
+ title: 'External Authentication'
+ parent: user.admin_index
+ description: 'Configure external authentication behaviors'
+ weight: -10
+ route_name: externalauth.settings
diff --git a/externalauth.permissions.yml b/externalauth.permissions.yml
new file mode 100644
index 0000000..e792ca2
--- /dev/null
+++ b/externalauth.permissions.yml
@@ -0,0 +1,2 @@
+configure externalauth:
+ title: "Configure ExternalAuth settings"
diff --git a/externalauth.routing.yml b/externalauth.routing.yml
new file mode 100644
index 0000000..5e446da
--- /dev/null
+++ b/externalauth.routing.yml
@@ -0,0 +1,7 @@
+externalauth.settings:
+ path: '/admin/config/people/externalauth'
+ defaults:
+ _form: '\Drupal\externalauth\Form\ExternalAuthSettingsForm'
+ _title: 'External Auth configuration screen'
+ requirements:
+ _permission: 'configure externalauth'
diff --git a/src/ExternalAuth.php b/src/ExternalAuth.php
index 2811d48..54e56fd 100644
--- a/src/ExternalAuth.php
+++ b/src/ExternalAuth.php
@@ -91,7 +91,9 @@ class ExternalAuth implements ExternalAuthInterface {
* {@inheritdoc}
*/
public function register($authname, $provider, $account_data = array(), $authmap_data = NULL) {
- $username = $provider . '_' . $authname;
+ // Check if should prefix the provider to the username.
+ $prefix = \Drupal::config('externalauth.settings')->get('prefix') ? $provider . '_' : '';
+ $username = $prefix . $authname;
$authmap_event = $this->eventDispatcher->dispatch(ExternalAuthEvents::AUTHMAP_ALTER, new ExternalAuthAuthmapAlterEvent($provider, $authname, $username, $authmap_data));
$entity_storage = $this->entityManager->getStorage('user');
@@ -104,7 +106,7 @@ class ExternalAuth implements ExternalAuthInterface {
$account_data = array_merge(
[
'name' => $authmap_event->getUsername(),
- 'init' => $provider . '_' . $authmap_event->getAuthname(),
+ 'init' => $prefix . $authmap_event->getAuthname(),
'status' => 1,
'access' => (int) $_SERVER['REQUEST_TIME'],
],
@@ -155,10 +157,13 @@ class ExternalAuth implements ExternalAuthInterface {
* {@inheritdoc}
*/
public function linkExistingAccount($authname, $provider, UserInterface $account) {
+ // Check if should prefix the provider to the username.
+ $prefix = \Drupal::config('externalauth.settings')->get('prefix') ? $provider . '_' : '';
+
// If a mapping (for the same provider) to this account already exists, we
// silently skip saving this auth mapping.
if (!$this->authmap->get($account->id(), $provider)) {
- $username = $provider . '_' . $authname;
+ $username = $prefix . $authname;
$authmap_event = $this->eventDispatcher->dispatch(ExternalAuthEvents::AUTHMAP_ALTER, new ExternalAuthAuthmapAlterEvent($provider, $authname, $username, NULL));
$this->authmap->save($account, $provider, $authmap_event->getAuthname(), $authmap_event->getData());
}
diff --git a/src/Form/ExternalAuthSettingsForm.php b/src/Form/ExternalAuthSettingsForm.php
new file mode 100644
index 0000000..73b768c
--- /dev/null
+++ b/src/Form/ExternalAuthSettingsForm.php
@@ -0,0 +1,62 @@
+<?php
+
+namespace Drupal\externalauth\Form;
+
+use Drupal\Core\Form\ConfigFormBase;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Provides a configuration form for externalauth module.
+ */
+class ExternalAuthSettingsForm extends ConfigFormBase {
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getFormId() {
+ return 'externalauth_settings_form';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function getEditableConfigNames() {
+ return [
+ 'externalauth.settings',
+ ];
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function buildForm(array $form, FormStateInterface $form_state) {
+ $config = $this->config('externalauth.settings');
+
+ $form['externalauth'] = [
+ '#type' => 'fieldset',
+ '#title' => $this->t('Settings'),
+ ];
+
+ $form['externalauth']['prefix'] = [
+ '#type' => 'checkbox',
+ '#title' => $this->t('Prefix user name with their provider'),
+ '#description' => $this->t('If this option is enabled, usernames
+ will be prefix with their provider (i.e. samlauth_username). NOTE:
+ by changing this value, you may have to manual update all existing
+ users.'),
+ '#default_value' => $config->get('prefix'),
+ ];
+ return parent::buildForm($form, $form_state);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function submitForm(array &$form, FormStateInterface $form_state) {
+ parent::submitForm($form, $form_state);
+ $this->config('externalauth.settings')
+ ->set('prefix', $form_state->getValue('prefix'))
+ ->save();
+ }
+
+}
diff --git a/samlauth.module b/samlauth.module
index a7c5857..6ad0c78 100644
--- a/samlauth.module
+++ b/samlauth.module
@@ -58,22 +58,3 @@ function samlauth_check_saml_user($form, FormStateInterface $form_state) {
}
}
-/**
- * Implements hook_user_presave().
- */
-function samlauth_user_presave(UserInterface $account) {
- // Hook into the user creation process from ExternalAuth::register() so that
- // we don't need to save the new user a second time to add our SAML attribute
- // values into the new user object. The way externalauth prefixes account
- // names acts as a recursion stop, in case any called code (e.g. event) saves
- // the account.
- if ($account->isNew() && strpos($account->getAccountName(), 'samlauth_') === 0) {
- // Doublecheck that we're actually processing an ACS request, which we can
- // do by checking the request for presence of a user name attribute.
- /** @var \Drupal\samlauth\SamlService $saml_service */
- $saml_service = \Drupal::service('samlauth.saml');
- if ($saml_service->getAttributeByConfig('user_name_attribute')) {
- $saml_service->synchronizeUserAttributes($account, TRUE);
- }
- }
-}
diff --git a/samlauth.services.yml b/samlauth.services.yml
index d9f24ae..d5d84bf 100644
--- a/samlauth.services.yml
+++ b/samlauth.services.yml
@@ -5,8 +5,13 @@ services:
samlauth.saml:
class: Drupal\samlauth\SamlService
arguments: ['@externalauth.externalauth', '@config.factory', '@entity_type.manager', '@logger.channel.samlauth', '@event_dispatcher', '@user.private_tempstore']
+ samlauth.event_subscriber.user_register:
+ class: Drupal\samlauth\EventSubscriber\UserEventSubscriber
+ arguments: ['@config.factory', '@entity_type.manager', '@typed_data_manager', '@email.validator', '@logger.channel.samlauth']
+ tags:
+ - { name: event_subscriber }
samlauth.event_subscriber.user_sync:
- class: Drupal\samlauth\EventSubscriber\UserSyncEventSubscriber
+ class: Drupal\samlauth\EventSubscriber\UserEventSubscriber
arguments: ['@config.factory', '@entity_type.manager', '@typed_data_manager', '@email.validator', '@logger.channel.samlauth']
tags:
- { name: event_subscriber }
diff --git a/src/Event/SamlauthEvents.php b/src/Event/SamlauthEvents.php
index 16d644a..380ebd8 100644
--- a/src/Event/SamlauthEvents.php
+++ b/src/Event/SamlauthEvents.php
@@ -5,7 +5,7 @@ namespace Drupal\samlauth\Event;
/**
* Defines events for the samlauth module.
*
- * @see \Drupal\samlauth\Event\SamlauthUserSyncEvent
+ * @see \Drupal\samlauth\Event\SamlauthUserEvent
*/
final class SamlauthEvents {
@@ -28,13 +28,33 @@ final class SamlauthEvents {
*/
const USER_LINK = 'samlauth.user_link';
+ /**
+ * Name of the event fired when a user is registered from SAML attributes.
+ *
+ * The event allows modules to synchronize user account values with SAML
+ * attributes passed by the IdP in the authentication response. Basic required
+ * properties (username, email) are already synchronized. The event listener
+ * method receives a \Drupal\samlauth\Event\SamlauthUserRegisterEvent
+ * instance. If it changes the account, it should call the event's
+ * markAccountChanged() method rather than saving the account by itself.
+ *
+ * The event is fired the user is registered using externauth module.
+ *
+ * @Event
+ *
+ * @see \Drupal\samlauth\Event\SamlauthUserRegisterEvent
+ *
+ * @var string
+ */
+ const USER_REGISTER = 'samlauth.user_register';
+
/**
* Name of the event fired when a user is synchronized from SAML attributes.
*
* The event allows modules to synchronize user account values with SAML
* attributes passed by the IdP in the authentication response. Basic required
* properties (username, email) are already synchronized. The event listener
- * method receives a \Drupal\samlauth\Event\SamlauthUserSyncEvent instance. If
+ * method receives a \Drupal\samlauth\Event\SamlauthUserEvent instance. If
* it changes the account, it should call the event's markAccountChanged()
* method rather than saving the account by itself.
*
@@ -44,10 +64,9 @@ final class SamlauthEvents {
*
* @Event
*
- * @see \Drupal\samlauth\Event\SamlauthUserSyncEvent
+ * @see \Drupal\samlauth\Event\SamlauthUserEvent
*
* @var string
*/
const USER_SYNC = 'samlauth.user_sync';
-
}
diff --git a/src/Event/SamlauthUserSyncEvent.php b/src/Event/SamlauthUserEvent.php
similarity index 98%
rename from src/Event/SamlauthUserSyncEvent.php
rename to src/Event/SamlauthUserEvent.php
index 99bae40..92f0f0d 100644
--- a/src/Event/SamlauthUserSyncEvent.php
+++ b/src/Event/SamlauthUserEvent.php
@@ -8,7 +8,7 @@ use Symfony\Component\EventDispatcher\Event;
/**
* Wraps a samlauth user sync event for event listeners.
*/
-class SamlauthUserSyncEvent extends Event {
+class SamlauthUserEvent extends Event {
/**
* The Drupal user account.
diff --git a/src/EventSubscriber/UserSyncEventSubscriber.php b/src/EventSubscriber/UserEventSubscriber.php
similarity index 58%
rename from src/EventSubscriber/UserSyncEventSubscriber.php
rename to src/EventSubscriber/UserEventSubscriber.php
index 1cc495b..6053acb 100644
--- a/src/EventSubscriber/UserSyncEventSubscriber.php
+++ b/src/EventSubscriber/UserEventSubscriber.php
@@ -6,8 +6,10 @@ use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Field\BaseFieldDefinition;
use Drupal\Core\TypedData\TypedDataManagerInterface;
+use Drupal\externalauth\Event\ExternalAuthEvents;
+use Drupal\externalauth\Event\ExternalAuthRegisterEvent;
use Drupal\samlauth\Event\SamlauthEvents;
-use Drupal\samlauth\Event\SamlauthUserSyncEvent;
+use Drupal\samlauth\Event\SamlauthUserEvent;
use Egulias\EmailValidator\EmailValidator;
use Psr\Log\LoggerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
@@ -21,7 +23,7 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface;
* account with the same name is found, or continue with a non-renamed account?
* etc.)
*/
-class UserSyncEventSubscriber implements EventSubscriberInterface {
+class UserEventSubscriber implements EventSubscriberInterface {
/**