GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Yahoo::getDefaultScopes()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace Hayageek\OAuth2\Client\Provider;
4
5
use League\OAuth2\Client\Provider\AbstractProvider;
6
use League\OAuth2\Client\Provider\Exception\IdentityProviderException;
7
use League\OAuth2\Client\Token\AccessToken;
8
use League\OAuth2\Client\Tool\BearerAuthorizationTrait;
9
use Psr\Http\Message\ResponseInterface;
10
11
class Yahoo extends AbstractProvider
12
{
13
    use BearerAuthorizationTrait;
14
15
    const ACCESS_TOKEN_RESOURCE_OWNER_ID = 'xoauth_yahoo_guid';
16
17
18
    /*
19
    https://developer.yahoo.com/oauth2/guide/flows_authcode/#step-2-get-an-authorization-url-and-authorize-access
20
    */
21
    protected $language = "en-us";
22
23
    private $imageSize='192x192';
24
25
26
    public function getBaseAuthorizationUrl()
27
    {
28
        return 'https://api.login.yahoo.com/oauth2/request_auth';
29
    }
30
31
    public function getBaseAccessTokenUrl(array $params)
32
    {
33
        return 'https://api.login.yahoo.com/oauth2/get_token';
34
    }
35
36
    public function getResourceOwnerDetailsUrl(AccessToken $token)
37
    {
38
    
39
        $guid = $token->getResourceOwnerId();
40
    
41
        return 'https://social.yahooapis.com/v1/user/'.$guid.'/profile?format=json';
42
    }
43
    
44
    /**
45
     * Get user image from provider
46
     *
47
     * @param  array        $response
48
     * @param  AccessToken  $token
49
     *
50
     * @return array
51
     */
52
    protected function getUserImage(array $response, AccessToken $token)
0 ignored issues
show
Unused Code introduced by
The parameter $response is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
53
    {
54
        $guid = $token->getResourceOwnerId();
55
        
56
        $url = 'https://social.yahooapis.com/v1/user/'.$guid.'/profile/image/'.$this->imageSize.'?format=json';
57
        
58
        $request = $this->getAuthenticatedRequest('get', $url, $token);
59
        
60
        $response = $this->getResponse($request);
61
        
62
        return $response;
63
    }
64
65
    protected function getAuthorizationParameters(array $options)
66
    {
67
        $params = parent::getAuthorizationParameters($options);
68
69
        $params['language'] = isset($options['language']) ? $options['language'] : $this->language;
70
71
        return $params;
72
    }
73
74
    protected function getDefaultScopes()
75
    {
76
    /*
77
       No scope is required. scopes are part of APP Settings.
78
    */
79
        return [];
80
    }
81
82
    protected function getScopeSeparator()
83
    {
84
        return ' ';
85
    }
86
87
    protected function checkResponse(ResponseInterface $response, $data)
88
    {
89
    
90
        if (!empty($data['error'])) {
91
            $code  = 0;
92
            $error = $data['error'];
93
            
94
            if (is_array($error)) {
95
            /*
96
               No code is returned in the error
97
            */
98
                $code  = -1;
99
                $error = $error['description'];
100
            }
101
            throw new IdentityProviderException($error, $code, $data);
102
        }
103
    }
104
105
    protected function createResourceOwner(array $response, AccessToken $token)
106
    {
107
        $user = new YahooUser($response);
108
        
109
        $imageUrl = $this->getUserImageUrl($response, $token);
110
        
111
        return $user->setImageURL($imageUrl);
112
        
113
    }
114
    
115
    /**
116
     * Get user image url from provider, if available
117
     *
118
     * @param  array        $response
119
     * @param  AccessToken  $token
120
     *
121
     * @return string
122
     */
123
    protected function getUserImageUrl(array $response, AccessToken $token)
124
    {
125
        $image = $this->getUserImage($response, $token);
126
        
127
        if (isset($image['image']['imageUrl'])) {
128
            return $image['image']['imageUrl'];
129
        }
130
        return null;
131
    }
132
}
133