1 | <?php |
||
12 | abstract class AbstractProvider extends BaseProvider implements ProviderInterface |
||
13 | { |
||
14 | use ConfigTrait; |
||
15 | |||
16 | /** |
||
17 | * @var array |
||
18 | 1 | */ |
|
19 | protected $credentialsResponseBody; |
||
20 | 1 | ||
21 | public static function serviceContainerKey($providerName) |
||
25 | 7 | ||
26 | /** |
||
27 | * @return \SocialiteProviders\Manager\OAuth2\User |
||
28 | */ |
||
29 | public function user() |
||
47 | |||
48 | 5 | /** |
|
49 | 2 | * Get the access token for the given code. |
|
50 | * |
||
51 | * @param string $code |
||
52 | 3 | * |
|
53 | 3 | * @return string |
|
54 | 3 | */ |
|
55 | public function getAccessToken($code) |
||
56 | 3 | { |
|
57 | $postKey = (version_compare(ClientInterface::VERSION, '6') === 1) ? 'form_params' : 'body'; |
||
58 | 3 | ||
59 | 3 | $response = $this->getHttpClient()->post($this->getTokenUrl(), [ |
|
60 | 'headers' => ['Accept' => 'application/json'], |
||
61 | $postKey => $this->getTokenFields($code), |
||
62 | ]); |
||
63 | |||
64 | $this->credentialsResponseBody = json_decode($response->getBody(), true); |
||
65 | |||
66 | return $this->parseAccessToken($response->getBody()); |
||
67 | } |
||
68 | |||
69 | /** |
||
70 | * Get the access token from the token response body. |
||
71 | * |
||
72 | 3 | * @param string $body |
|
73 | * @return string |
||
74 | 3 | */ |
|
75 | protected function parseAccessToken($body) |
||
79 | 3 | ||
80 | /** |
||
81 | 3 | * Get the access token response for the given code. |
|
82 | * |
||
83 | 3 | * @todo Remove this method once all Providers have |
|
84 | * been updated to use the new getAccessTokenResponse. |
||
85 | * |
||
86 | * @param string $code |
||
87 | * @return array |
||
88 | */ |
||
89 | public function getAccessToken($code) |
||
93 | } |
||
94 |
This check looks at variables that are passed out again to other methods.
If the outgoing method call has stricter type requirements than the method itself, an issue is raised.
An additional type check may prevent trouble.