for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Acquia\Hmac\Symfony;
use Symfony\Bundle\SecurityBundle\DependencyInjection\Security\Factory\SecurityFactoryInterface;
use Symfony\Component\DependencyInjection\ChildDefinition;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
/**
* Class HmacFactory
*
* Provides implementation of authentication provider and listener for Symfony.
*/
class HmacFactory implements SecurityFactoryInterface
{
* {@inheritdoc}
public function create(ContainerBuilder $container, $id, $config, $userProvider, $defaultEntryPoint)
$providerId = 'security.authentication.provider.hmac.' . $id;
$container->setDefinition($providerId, new ChildDefinition('hmac.security.authentication.provider'));
$listenerId = 'security.authentication.listener.hmac.' . $id;
$container->setDefinition($listenerId, new ChildDefinition('hmac.security.authentication.listener'));
return [$providerId, $listenerId, $defaultEntryPoint];
}
public function getPosition()
return 'pre_auth';
public function getKey()
return 'hmac_auth';
public function addConfiguration(NodeDefinition $node)