Completed
Push — master ( a94a5c...e317aa )
by Florent
02:24
created

ExpirationTimeChecker   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A checkClaim() 0 13 3
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
class ExpirationTimeChecker implements ClaimCheckerInterface
17
{
18
    /**
19
     * {@inheritdoc}
20
     */
21
    public function checkClaim(JWTInterface $jwt)
22
    {
23
        if (!$jwt->hasClaim('exp')) {
24
            return [];
25
        }
26
27
        $exp = (int) $jwt->getClaim('exp');
28
        if (time() > $exp) {
29
            throw new \InvalidArgumentException('The JWT has expired.');
30
        }
31
32
        return ['exp'];
33
    }
34
}
35