InMemoryRefreshTokenStorage   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
c 1
b 0
f 0
lcom 1
cbo 2
dl 0
loc 27
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A save() 0 4 1
A delete() 0 9 2
A findByToken() 0 7 2
1
<?php
2
3
namespace Bgy\OAuth2\Storage\InMemory;
4
5
use Bgy\OAuth2\RefreshToken;
6
use Bgy\OAuth2\Storage\RefreshTokenNotFound;
7
use Bgy\OAuth2\Storage\RefreshTokenStorage;
8
9
/**
10
 * @author Boris Guéry <[email protected]>
11
 */
12
class InMemoryRefreshTokenStorage implements RefreshTokenStorage
13
{
14
    private $refreshTokens = [];
15
16
    public function save(RefreshToken $refreshToken)
17
    {
18
        $this->refreshTokens[$refreshToken->getToken()] = $refreshToken;
19
    }
20
21
    public function delete(RefreshToken $refreshToken)
22
    {
23
        if (!isset($this->refreshTokens[$refreshToken->getToken()])) {
24
25
            throw new RefreshTokenNotFound($refreshToken->getToken());
26
        }
27
28
        unset($this->refreshTokens[$refreshToken->getToken()]);
29
    }
30
31
    public function findByToken($refreshTokenId)
32
    {
33
        if (!isset($this->refreshTokens[$refreshTokenId])) {
34
35
            throw new RefreshTokenNotFound($refreshTokenId);
36
        }
37
    }
38
}
39