Passed
Push — master ( 10b0fe...d6f3f7 )
by Joao
04:26
created

ServiceAbstractBase::requireAuthenticated()   A

Complexity

Conditions 3
Paths 5

Size

Total Lines 12
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 9
c 0
b 0
f 0
dl 0
loc 12
rs 9.9666
cc 3
nc 5
nop 2
1
<?php
2
/**
3
 * User: jg
4
 * Date: 30/09/17
5
 * Time: 18:10
6
 */
7
8
namespace RestTemplate\Rest;
9
10
use ByJG\RestServer\Exception\Error401Exception;
11
use ByJG\RestServer\ServiceAbstract;
12
use ByJG\Util\JwtWrapper;
13
use RestTemplate\Psr11;
14
15
class ServiceAbstractBase extends ServiceAbstract
16
{
17
18
    /**
19
     * @param array $properties
20
     * @return mixed
21
     */
22
    public function createToken($properties = [])
23
    {
24
        $jwt = new JwtWrapper(Psr11::container()->get('JWT_SERVER'), Psr11::container()->get('JWT_SECRET'));
25
        $jwtData = $jwt->createJwtData($properties, 1800);
26
        return $jwt->generateToken($jwtData);
27
    }
28
29
    public function decodePreviousToken($token = null)
30
    {
31
        try {
32
            $jwt = new JwtWrapper(Psr11::container()->get('JWT_SERVER'), Psr11::container()->get('JWT_SECRET'));
33
            $tokenInfo = json_decode(json_encode($jwt->extractData($token)), true);
34
            return $tokenInfo['data'];
35
        } catch (\Exception $ex) {
36
            throw new Error401Exception($ex->getMessage());
37
        }
38
    }
39
}
40