Failed Conditions
Push — master ( 5537f8...d96005 )
by Florent
02:00
created

JWSVerifierFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 3
dl 0
loc 38
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A create() 0 7 1
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * The MIT License (MIT)
7
 *
8
 * Copyright (c) 2014-2017 Spomky-Labs
9
 *
10
 * This software may be modified and distributed under the terms
11
 * of the MIT license.  See the LICENSE file for details.
12
 */
13
14
namespace Jose\Component\Signature;
15
16
use Jose\Component\Checker\HeaderCheckerManagerFactory;
17
use Jose\Component\Core\AlgorithmManagerFactory;
18
use Jose\Component\Signature\Serializer\JWSSerializerManagerFactory;
19
20
/**
21
 * Class JWSVerifierFactory.
22
 */
23
final class JWSVerifierFactory
24
{
25
    /**
26
     * @var AlgorithmManagerFactory
27
     */
28
    private $algorithmManagerFactory;
29
30
    /**
31
     * @var HeaderCheckerManagerFactory
32
     */
33
    private $headerCheckerManagerFactory;
34
35
    /**
36
     * JWSVerifierFactory constructor.
37
     *
38
     * @param AlgorithmManagerFactory     $algorithmManagerFactory
39
     * @param HeaderCheckerManagerFactory $headerCheckerManagerFactory
40
     */
41
    public function __construct(AlgorithmManagerFactory $algorithmManagerFactory, HeaderCheckerManagerFactory $headerCheckerManagerFactory)
42
    {
43
        $this->algorithmManagerFactory = $algorithmManagerFactory;
44
        $this->headerCheckerManagerFactory = $headerCheckerManagerFactory;
45
    }
46
47
    /**
48
     * @param string[] $algorithms
49
     * @param string[] $headerCheckers
50
     *
51
     * @return JWSVerifier
52
     */
53
    public function create(array $algorithms, array $headerCheckers): JWSVerifier
54
    {
55
        $algorithmManager = $this->algorithmManagerFactory->create($algorithms);
56
        $headerCheckerManager = $this->headerCheckerManagerFactory->create($headerCheckers);
57
58
        return new JWSVerifier($algorithmManager, $headerCheckerManager);
59
    }
60
}
61