Test Failed
Pull Request — master (#80)
by Maximo
05:30
created

TokenValidationMiddleware::call()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 21
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 3.0261

Importance

Changes 0
Metric Value
cc 3
eloc 6
nc 3
nop 1
dl 0
loc 21
ccs 6
cts 7
cp 0.8571
crap 3.0261
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Gewaer\Middleware;
6
7
use Gewaer\Exception\ModelException;
8
use Phalcon\Mvc\Micro;
9
use Phalcon\Http\Request;
10
use Gewaer\Models\Users;
11
use Gewaer\Exception\PermissionException;
12
13
/**
14
 * Class TokenValidationMiddleware.
15
 *
16
 * @package Gewaer\Middleware
17
 */
18
class TokenValidationMiddleware extends TokenBase
19
{
20
    /**
21
     * @param Micro $api
22
     *
23
     * @return bool
24
     * @throws ModelException
25
     */
26 69
    public function call(Micro $api)
27
    {
28
        /** @var Request $request */
29 69
        $request = $api->getService('request');
30
31 69
        if ($this->isValidCheck($request)) {
32
            /**
33
             * This is where we will validate the token that was sent to us
34
             * using Bearer Authentication.
35
             *
36
             * Find the user attached to this token
37
             */
38 65
            $token = $this->getToken($request->getBearerTokenFromHeader());
39
40 65
            if (!$token->validate(Users::getValidationData($token->getHeader('jti')))) {
41
                throw new PermissionException('Invalid Token');
42
                //return false;
43
            }
44
        }
45
46 68
        return true;
47
    }
48
}
49