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

AuthenticationProvider::register()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 25
rs 8.8571
cc 1
eloc 14
nc 1
nop 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