Completed
Push — master ( bd84b9...b5be07 )
by zacksleo
05:55 queued 04:45
created

AccessToken   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 4
dl 0
loc 26
ccs 0
cts 22
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getAccessToken() 0 8 2
A setAccessToken() 0 14 1
1
<?php
2
3
namespace zacksleo\yii2\oauth2\common\models\storage;
4
5
use yii;
6
use zacksleo\yii2\oauth2\common\helpers\Predis;
7
use OAuth2\Storage\AccessTokenInterface;
8
9
class AccessToken implements AccessTokenInterface
10
{
11
    public function getAccessToken($oauthToken)
12
    {
13
        $oauthAccessToken = Predis::getInstance()->getClient()->getToken($oauthToken);
14
        if (empty($oauthAccessToken)) {
15
            return [];
16
        }
17
        return $oauthAccessToken;
18
    }
19
20
    public function setAccessToken($oauthToken, $clientId, $userId, $expires, $scope = null)
21
    {
22
        $model = Yii::$container->get('user_credentials');
23
        $user = $model::findIdentity($userId);
24
        $value = [
25
            'access_token' => $oauthToken,
26
            'client_id' => $clientId,
27
            'user_id' => $userId,
28
            'expires' => $expires,
29
            'scope' => null,
30
            'union_id' => $user->getUnionId()
31
        ];
32
        Predis::getInstance()->getClient()->setToken($oauthToken, $value);
33
    }
34
}
35