Completed
Push — master ( f636bd...bb565d )
by Florent
04:50
created

ClaimCheckerManager::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 8
rs 9.4285
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
/*
4
 * The MIT License (MIT)
5
 *
6
 * Copyright (c) 2014-2016 Spomky-Labs
7
 *
8
 * This software may be modified and distributed under the terms
9
 * of the MIT license.  See the LICENSE file for details.
10
 */
11
12
namespace Jose\ClaimChecker;
13
14
use Jose\Object\JWTInterface;
15
16
/**
17
 * Class ClaimCheckerManager.
18
 */
19
class ClaimCheckerManager implements ClaimCheckerManagerInterface
20
{
21
    /**
22
     * @var \Jose\ClaimChecker\ClaimCheckerInterface[]
23
     */
24
    private $claim_checkers = [];
25
26
    /**
27
     * ClaimCheckerManager constructor.
28
     */
29
    public function __construct()
30
    {
31
        $this->claim_checkers = [
32
            new ExpirationTimeChecker(),
33
            new IssuedAtChecker(),
34
            new NotBeforeChecker(),
35
        ];
36
    }
37
38
    /**
39
     * {@inheritdoc}
40
     */
41
    public function checkClaims(JWTInterface $jwt)
42
    {
43
        $checked_claims = [];
44
45
        foreach ($this->claim_checkers as $claim_checker) {
46
            $checked_claims = array_merge(
47
                $checked_claims,
48
                $claim_checker->checkClaim($jwt)
49
            );
50
        }
51
52
        return $checked_claims;
53
    }
54
55
    /**
56
     * @param \Jose\ClaimChecker\ClaimCheckerInterface $claim_checker
57
     */
58
    public function addClaimChecker(ClaimCheckerInterface $claim_checker)
59
    {
60
        $this->claim_checkers[] = $claim_checker;
61
    }
62
}
63