Completed
Push — master ( 79d24d...ad8160 )
by Thomas Mauro
03:36
created

AuthorizationServiceBuilder   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
dl 0
loc 52
ccs 0
cts 34
cp 0
rs 10
c 0
b 0
f 0
wmc 7
lcom 1
cbo 5

7 Methods

Rating   Name   Duplication   Size   Complexity  
A setTokenSetFactory() 0 4 1
A setIdTokenVerifierBuilder() 0 4 1
A setResponseVerifierBuilder() 0 4 1
A getTokenSetFactory() 0 4 1
A getIdTokenVerifierBuilder() 0 4 1
A getResponseVerifierBuilder() 0 4 1
A build() 0 10 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Facile\OpenIDClient\Service\Builder;
6
7
use Facile\OpenIDClient\Service\AuthorizationService;
8
use Facile\OpenIDClient\Token\IdTokenVerifierBuilder;
9
use Facile\OpenIDClient\Token\IdTokenVerifierBuilderInterface;
10
use Facile\OpenIDClient\Token\ResponseVerifierBuilder;
11
use Facile\OpenIDClient\Token\TokenSetFactory;
12
use Facile\OpenIDClient\Token\TokenSetFactoryInterface;
13
use Facile\OpenIDClient\Token\TokenVerifierBuilderInterface;
14
15
class AuthorizationServiceBuilder extends AbstractServiceBuilder
16
{
17
    /** @var null|TokenSetFactoryInterface */
18
    private $tokenSetFactory;
19
20
    /** @var null|IdTokenVerifierBuilderInterface */
21
    private $idTokenVerifierBuilder;
22
23
    /** @var null|TokenVerifierBuilderInterface */
24
    private $responseVerifierBuilder;
25
26
    public function setTokenSetFactory(TokenSetFactoryInterface $tokenSetFactory): void
27
    {
28
        $this->tokenSetFactory = $tokenSetFactory;
29
    }
30
31
    public function setIdTokenVerifierBuilder(IdTokenVerifierBuilderInterface $idTokenVerifierBuilder): void
32
    {
33
        $this->idTokenVerifierBuilder = $idTokenVerifierBuilder;
34
    }
35
36
    public function setResponseVerifierBuilder(TokenVerifierBuilderInterface $responseVerifierBuilder): void
37
    {
38
        $this->responseVerifierBuilder = $responseVerifierBuilder;
39
    }
40
41
    protected function getTokenSetFactory(): TokenSetFactoryInterface
42
    {
43
        return $this->tokenSetFactory = $this->tokenSetFactory ?? new TokenSetFactory();
44
    }
45
46
    protected function getIdTokenVerifierBuilder(): IdTokenVerifierBuilderInterface
47
    {
48
        return $this->idTokenVerifierBuilder = $this->idTokenVerifierBuilder ?? new IdTokenVerifierBuilder();
49
    }
50
51
    protected function getResponseVerifierBuilder(): TokenVerifierBuilderInterface
52
    {
53
        return $this->responseVerifierBuilder = $this->responseVerifierBuilder ?? new ResponseVerifierBuilder();
54
    }
55
56
    public function build(): AuthorizationService
57
    {
58
        return new AuthorizationService(
59
            $this->getTokenSetFactory(),
60
            $this->getHttpClient(),
61
            $this->getRequestFactory(),
62
            $this->getIdTokenVerifierBuilder(),
63
            $this->getResponseVerifierBuilder()
64
        );
65
    }
66
}
67