Spaces:
No application file
No application file
File size: 1,489 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
<?php
namespace Mautic\UserBundle\DependencyInjection\Firewall\Factory;
use Symfony\Bundle\SecurityBundle\DependencyInjection\Security\Factory\SecurityFactoryInterface;
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
use Symfony\Component\DependencyInjection\ChildDefinition;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
class PluginFactory implements SecurityFactoryInterface
{
public function create(ContainerBuilder $container, string $id, array $config, string $userProvider, ?string $defaultEntryPoint): array
{
$providerId = 'security.authentication.provider.mautic.'.$id;
$container->setDefinition($providerId, new ChildDefinition('mautic.user.preauth_authenticator'))
->replaceArgument(3, new Reference($userProvider))
->replaceArgument(4, $id);
$listenerId = 'security.authentication.listener.mautic.'.$id;
$container->setDefinition($listenerId, new ChildDefinition('mautic.security.authentication_listener'))
->replaceArgument(5, $id);
return [$providerId, $listenerId, $defaultEntryPoint];
}
/**
* @return string
*/
public function getPosition()
{
return 'pre_auth';
}
/**
* @return string
*/
public function getKey()
{
return 'mautic_plugin_auth';
}
public function addConfiguration(NodeDefinition $node): void
{
}
}
|