Completed
Push — master ( df23c1...36cd70 )
by Dominik
02:00
created

AuthenticationProvider   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 1
c 1
b 0
f 1
lcom 0
cbo 3
dl 0
loc 31
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B register() 0 25 1
1
<?php
2
3
namespace Chubbyphp\Security\Authentication;
4
5
use Pimple\Container;
6
use Pimple\ServiceProviderInterface;
7
8
final class AuthenticationProvider implements ServiceProviderInterface
9
{
10
    /**
11
     * @param Container $container
12
     */
13
    public function register(Container $container)
14
    {
15
        $container['security.authentication.key'] = '';
16
        $container['security.userrepository.key'] = '';
17
18
        $container['security.authentication.passwordmanager'] = function () {
19
            return new PasswordManager();
20
        };
21
22
        $container['security.authentication.middleware'] = function () use ($container) {
23
            return new AuthenticationMiddleware($container['security.authentication']);
24
        };
25
26
        $container['security.authentication.formauthentication'] = function ($container) {
27
            return new FormAuthentication(
28
                $container['security.authentication.passwordmanager'],
29
                $container['session'],
30
                $container[$container['security.userrepository.key']]
31
            );
32
        };
33
34
        $container['security.authentication'] = function () use ($container) {
35
            return $container[$container['security.authentication.key']];
36
        };
37
    }
38
}
39