Passed
Push — master ( 7a8e59...abf2d6 )
by Mike
03:41
created

SecurityDependencyProvider   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Test Coverage

Coverage 60%

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 24
ccs 3
cts 5
cp 0.6
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A handleDependencies() 0 4 1
A getAuthenticatorList() 0 3 1
1
<?php
2
3
4
namespace Xervice\Security;
5
6
7
use Xervice\Core\Dependency\DependencyProviderInterface;
8
use Xervice\Core\Dependency\Provider\AbstractProvider;
9
10
/**
11
 * @method \Xervice\Core\Locator\Locator getLocator()
12
 */
13
class SecurityDependencyProvider extends AbstractProvider
14
{
15
    public const AUTHENTICATOR_LIST = 'authenticator.list';
16
17
    /**
18
     * @param \Xervice\Core\Dependency\DependencyProviderInterface $dependencyProvider
19
     */
20 3
    public function handleDependencies(DependencyProviderInterface $dependencyProvider): void
21
    {
22
        $dependencyProvider[self::AUTHENTICATOR_LIST] = function () {
23 3
            return $this->getAuthenticatorList();
24
        };
25 1
    }
26
27
    /**
28
     * Give a list of valid authenticator (string => AuthenticatorInterface::class)
29
     * e.g.
30
     * token => tokenAuthenticator::class
31
     *
32
     * @return array
33
     */
34
    protected function getAuthenticatorList(): array
35
    {
36
        return [];
37
    }
38
}