diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 0c4835ca..aab3608d 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -35,11 +35,6 @@ parameters: count: 2 path: src/Command/RoleCommand.php - - - message: "#^Binary operation \"\\.\" between 'security…' and array\\|bool\\|float\\|int\\|string\\|null results in an error\\.$#" - count: 4 - path: src/DependencyInjection/Compiler/InjectRememberMeServicesPass.php - - message: "#^Binary operation \"\\.\" between 'security\\.user…' and array\\|bool\\|float\\|int\\|string\\|null results in an error\\.$#" count: 2 diff --git a/src/DependencyInjection/Compiler/InjectRememberMeServicesPass.php b/src/DependencyInjection/Compiler/InjectRememberMeServicesPass.php deleted file mode 100644 index cf52c2f9..00000000 --- a/src/DependencyInjection/Compiler/InjectRememberMeServicesPass.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Nucleos\UserBundle\DependencyInjection\Compiler; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; - -final class InjectRememberMeServicesPass implements CompilerPassInterface -{ - public function process(ContainerBuilder $container): void - { - $firewallName = $container->getParameter('nucleos_user.firewall_name'); - $loginManager = $container->getDefinition('nucleos_user.security.login_manager'); - - if ($container->hasDefinition('security.authentication.rememberme.services.persistent.'.$firewallName)) { - $loginManager->replaceArgument(4, new Reference('security.authentication.rememberme.services.persistent.'.$firewallName)); - } elseif ($container->hasDefinition('security.authentication.rememberme.services.simplehash.'.$firewallName)) { - $loginManager->replaceArgument(4, new Reference('security.authentication.rememberme.services.simplehash.'.$firewallName)); - } - } -} diff --git a/src/Form/Type/LoginFormType.php b/src/Form/Type/LoginFormType.php index 4e3aeb09..ef5d8bda 100644 --- a/src/Form/Type/LoginFormType.php +++ b/src/Form/Type/LoginFormType.php @@ -12,7 +12,6 @@ namespace Nucleos\UserBundle\Form\Type; use Symfony\Component\Form\AbstractType; -use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\Extension\Core\Type\HiddenType; use Symfony\Component\Form\Extension\Core\Type\PasswordType; use Symfony\Component\Form\Extension\Core\Type\TextType; @@ -51,11 +50,6 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'autocomplete' => 'password', ], ]) - ->add('_remember_me', CheckboxType::class, [ - 'label' => 'security.login.remember_me', - 'required' => false, - 'value' => 'on', - ]) ->add('_target_path', HiddenType::class) ; diff --git a/src/NucleosUserBundle.php b/src/NucleosUserBundle.php index a3c2be04..55692484 100644 --- a/src/NucleosUserBundle.php +++ b/src/NucleosUserBundle.php @@ -15,7 +15,6 @@ use Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass; use Doctrine\Bundle\MongoDBBundle\DependencyInjection\Compiler\DoctrineMongoDBMappingsPass; -use Nucleos\UserBundle\DependencyInjection\Compiler\InjectRememberMeServicesPass; use Nucleos\UserBundle\DependencyInjection\Compiler\InjectUserCheckerPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpKernel\Bundle\Bundle; @@ -27,7 +26,6 @@ public function build(ContainerBuilder $container): void parent::build($container); $container->addCompilerPass(new InjectUserCheckerPass()); - $container->addCompilerPass(new InjectRememberMeServicesPass()); $this->addRegisterMappingsPass($container); } diff --git a/src/Resources/config/security.php b/src/Resources/config/security.php index 9e21245d..8d7485b9 100644 --- a/src/Resources/config/security.php +++ b/src/Resources/config/security.php @@ -40,7 +40,6 @@ new Reference('security.user_checker'), new Reference('security.authentication.session_strategy'), new Reference('request_stack'), - null, ]) ->alias(LoginManagerInterface::class, 'nucleos_user.security.login_manager') diff --git a/src/Resources/translations/NucleosUserBundle.de.xlf b/src/Resources/translations/NucleosUserBundle.de.xlf index d0562776..3020997b 100644 --- a/src/Resources/translations/NucleosUserBundle.de.xlf +++ b/src/Resources/translations/NucleosUserBundle.de.xlf @@ -17,10 +17,6 @@ security.login.password Passwort - - security.login.remember_me - An mich erinnern - security.login.submit Anmelden diff --git a/src/Resources/translations/NucleosUserBundle.en.xlf b/src/Resources/translations/NucleosUserBundle.en.xlf index 22e399ce..747021e8 100644 --- a/src/Resources/translations/NucleosUserBundle.en.xlf +++ b/src/Resources/translations/NucleosUserBundle.en.xlf @@ -17,10 +17,6 @@ security.login.password Password - - security.login.remember_me - Remember me - security.login.submit Log in diff --git a/src/Resources/translations/NucleosUserBundle.es.xlf b/src/Resources/translations/NucleosUserBundle.es.xlf index e6f07c78..44f1d36c 100644 --- a/src/Resources/translations/NucleosUserBundle.es.xlf +++ b/src/Resources/translations/NucleosUserBundle.es.xlf @@ -17,10 +17,6 @@ security.login.password Contraseña - - security.login.remember_me - Recordar - security.login.submit Entrar diff --git a/src/Resources/translations/NucleosUserBundle.fr.xlf b/src/Resources/translations/NucleosUserBundle.fr.xlf index 11ee82c2..ac92f3a8 100644 --- a/src/Resources/translations/NucleosUserBundle.fr.xlf +++ b/src/Resources/translations/NucleosUserBundle.fr.xlf @@ -17,10 +17,6 @@ security.login.password Mot de passe - - security.login.remember_me - Se souvenir de moi - security.login.submit Connexion diff --git a/src/Resources/translations/NucleosUserBundle.ru.xlf b/src/Resources/translations/NucleosUserBundle.ru.xlf index 0632c7b7..ef6cf29e 100644 --- a/src/Resources/translations/NucleosUserBundle.ru.xlf +++ b/src/Resources/translations/NucleosUserBundle.ru.xlf @@ -17,10 +17,6 @@ security.login.password Пароль - - security.login.remember_me - Запомнить меня - security.login.submit Войти diff --git a/src/Security/LoginManager.php b/src/Security/LoginManager.php index aed8e674..6eb92fc3 100644 --- a/src/Security/LoginManager.php +++ b/src/Security/LoginManager.php @@ -19,7 +19,6 @@ use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; use Symfony\Component\Security\Core\User\UserCheckerInterface; -use Symfony\Component\Security\Http\RememberMe\RememberMeServicesInterface; use Symfony\Component\Security\Http\Session\SessionAuthenticationStrategyInterface; final class LoginManager implements LoginManagerInterface @@ -32,20 +31,16 @@ final class LoginManager implements LoginManagerInterface private RequestStack $requestStack; - private ?RememberMeServicesInterface $rememberMeService; - public function __construct( TokenStorageInterface $tokenStorage, UserCheckerInterface $userChecker, SessionAuthenticationStrategyInterface $sessionStrategy, - RequestStack $requestStack, - RememberMeServicesInterface $rememberMeService = null + RequestStack $requestStack ) { $this->tokenStorage = $tokenStorage; $this->userChecker = $userChecker; $this->sessionStrategy = $sessionStrategy; $this->requestStack = $requestStack; - $this->rememberMeService = $rememberMeService; } public function logInUser(string $firewallName, UserInterface $user, Response $response = null): void @@ -57,10 +52,6 @@ public function logInUser(string $firewallName, UserInterface $user, Response $r if (null !== $request) { $this->sessionStrategy->onAuthentication($request, $token); - - if (null !== $response && null !== $this->rememberMeService) { - $this->rememberMeService->loginSuccess($request, $response, $token); - } } $this->tokenStorage->setToken($token); diff --git a/tests/Security/LoginManagerTest.php b/tests/Security/LoginManagerTest.php index a7a6ab9a..22c2ad08 100644 --- a/tests/Security/LoginManagerTest.php +++ b/tests/Security/LoginManagerTest.php @@ -23,14 +23,13 @@ use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\Security\Core\User\UserCheckerInterface; -use Symfony\Component\Security\Http\RememberMe\RememberMeServicesInterface; use Symfony\Component\Security\Http\Session\SessionAuthenticationStrategyInterface; final class LoginManagerTest extends TestCase { public function testLogInUserWithRequestStack(): void { - $loginManager = $this->createLoginManager('main'); + $loginManager = $this->createLoginManager(); $loginManager->logInUser('main', $this->mockUser()); } @@ -38,11 +37,11 @@ public function testLogInUserWithRememberMeAndRequestStack(): void { $response = $this->getMockBuilder(Response::class)->getMock(); - $loginManager = $this->createLoginManager('main', $response); + $loginManager = $this->createLoginManager($response); $loginManager->logInUser('main', $this->mockUser(), $response); } - private function createLoginManager(string $firewallName, Response $response = null): LoginManager + private function createLoginManager(Response $response = null): LoginManager { $tokenStorage = $this->getMockBuilder(TokenStorageInterface::class)->getMock(); @@ -59,7 +58,7 @@ private function createLoginManager(string $firewallName, Response $response = n ->with(static::isInstanceOf(UserInterface::class)) ; - $request = $this->getMockBuilder(Request::class)->getMock(); + $request = new Request(); $sessionStrategy = $this->getMockBuilder(SessionAuthenticationStrategyInterface::class)->getMock(); $sessionStrategy @@ -75,17 +74,7 @@ private function createLoginManager(string $firewallName, Response $response = n ->willReturn($request) ; - $rememberMe = null; - if (null !== $response) { - $rememberMe = $this->getMockBuilder(RememberMeServicesInterface::class)->getMock(); - $rememberMe - ->expects(static::once()) - ->method('loginSuccess') - ->with($request, $response, static::isInstanceOf(TokenInterface::class)) - ; - } - - return new LoginManager($tokenStorage, $userChecker, $sessionStrategy, $requestStack, $rememberMe); + return new LoginManager($tokenStorage, $userChecker, $sessionStrategy, $requestStack); } /**