-
Notifications
You must be signed in to change notification settings - Fork 34
Expand file tree
/
Copy pathApiKeyFactory.php
More file actions
41 lines (33 loc) · 1.34 KB
/
ApiKeyFactory.php
File metadata and controls
41 lines (33 loc) · 1.34 KB
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
<?php
namespace Uecode\Bundle\ApiKeyBundle\DependencyInjection\Security\Factory;
use Symfony\Bundle\SecurityBundle\DependencyInjection\Security\Factory\SecurityFactoryInterface;
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\DefinitionDecorator;
use Symfony\Component\DependencyInjection\Reference;
/**
* @author Aaron Scherer <aequasi@gmail.com>
*/
class ApiKeyFactory implements SecurityFactoryInterface
{
public function create(ContainerBuilder $container, $id, $config, $userProvider, $defaultEntryPoint)
{
$providerId = 'security.authentication.provider.api_key.' . $id;
$container->setDefinition($providerId, new DefinitionDecorator('uecode.api_key.provider.api_key'))
->replaceArgument(0, new Reference($userProvider));
$listenerId = 'security.authentication.listener.api_key.' . $id;
$listener = $container->setDefinition($listenerId, new DefinitionDecorator('uecode.api_key.listener.api_key'));
return array($providerId, $listenerId, $defaultEntryPoint);
}
public function getPosition()
{
return 'pre_auth';
}
public function getKey()
{
return 'api_key';
}
public function addConfiguration(NodeDefinition $builder)
{
}
}