Как уже говорилось, Symfony 4.1 позволяет вам внедрять службы автоматической проводки в действия вашего контроллера и в других местах. Однако вы используете более старую (2.x) версию библиотеки scheb/two-factor
, которая не определяет автоматические службы.
Поскольку вы не можете обновить до 4.x этой библиотеки, вы несколько ограничены в своих возможностях. Однако должна быть возможность добавить Compiler Pass , чтобы изменить конфигурацию библиотеки scheb/two-factor
в соответствии с вашими потребностями.
Короче говоря, Compiler Pass должен позволить вам переопределить эту службу как общедоступную, выполнив что-то вроде этого:
$container
->getDefinition('scheb_two_factor.security.google_authenticator')
->setPublic(true);
Вам придется обратиться к документации , чтобы узнать, как реализовать передачу компилятора в ваше приложение.