Passed
Pull Request — master (#8)
by
unknown
14:36
created

AbstractExtendedProvider   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 2
dl 0
loc 44
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
getBaseRevokeAccessTokenUrl() 0 1 ?
A revokeAccessToken() 0 12 1
A getRevokeAccessTokenRequest() 0 7 1
A getRevokeAccessTokenMethod() 0 4 1
1
<?php
2
3
namespace Bogstag\OAuth2\Client\Provider;
4
5
use GuzzleHttp\Exception\BadResponseException;
6
use League\OAuth2\Client\Provider\AbstractProvider;
7
use League\OAuth2\Client\Token\AccessTokenInterface;
8
9
abstract class AbstractExtendedProvider extends AbstractProvider
10
{
11
    /**
12
     * Returns the base URL for revoking an access token.
13
     *
14
     * Eg. https://oauth.service.com/revoke
15
     *
16
     * @return string
17
     */
18
    abstract public function getBaseRevokeAccessTokenUrl();
19
20
    /**
21
     * Revokes an access token.
22
     *
23
     * @param AccessTokenInterface $token
24
     * @throws BadResponseException
25
     * @return void
26
     */
27
    public function revokeAccessToken(AccessTokenInterface $token)
28
    {
29
        $params = [
30
            'client_id'     => $this->clientId,
31
            'client_secret' => $this->clientSecret,
32
            'token'         => $token->getToken(),
33
        ];
34
35
        $request = $this->getRevokeAccessTokenRequest($params);
36
37
        $this->getResponse($request);
38
    }
39
40
    protected function getRevokeAccessTokenRequest(array $params)
41
    {
42
        $method = $this->getRevokeAccessTokenMethod();
43
        $url    = $this->getBaseRevokeAccessTokenUrl();
44
45
        return $this->getRequest($method, $url, $params);
46
    }
47
48
    protected function getRevokeAccessTokenMethod()
49
    {
50
        return self::METHOD_POST;
51
    }
52
}
53