1 | <?php |
||
19 | abstract class AbstractProvider extends AbstractBaseProvider |
||
20 | { |
||
21 | /** |
||
22 | * HTTP method for access token request |
||
23 | * |
||
24 | * @var string |
||
25 | */ |
||
26 | protected $requestHttpMethod = Client::POST; |
||
27 | |||
28 | /** |
||
29 | * @return string |
||
30 | */ |
||
31 | abstract public function getAuthorizeUri(); |
||
32 | |||
33 | /** |
||
34 | * @return string |
||
35 | */ |
||
36 | abstract public function getRequestTokenUri(); |
||
37 | |||
38 | /** |
||
39 | * Default parameters for auth url, can be redeclared inside implementation of the Provider |
||
40 | * |
||
41 | * @return array |
||
42 | */ |
||
43 | 18 | public function getAuthUrlParameters() |
|
51 | |||
52 | /** |
||
53 | * 16 bytes / 128 bit / 16 symbols / 32 symbols in hex |
||
54 | */ |
||
55 | const STATE_BYTES = 16; |
||
56 | |||
57 | /** |
||
58 | * @return string |
||
59 | */ |
||
60 | 36 | protected function generateState() |
|
64 | |||
65 | /** |
||
66 | * @return string |
||
67 | */ |
||
68 | 18 | public function makeAuthUrl() |
|
87 | |||
88 | /** |
||
89 | * Parse access token from response's $body |
||
90 | * |
||
91 | * @param string|bool $body |
||
92 | * @return AccessToken |
||
93 | * @throws InvalidAccessToken |
||
94 | */ |
||
95 | 3 | public function parseToken($body) |
|
109 | |||
110 | /** |
||
111 | * @param string $code |
||
112 | * @return \SocialConnect\Common\Http\Request |
||
113 | */ |
||
114 | 19 | protected function makeAccessTokenRequest($code) |
|
133 | |||
134 | /** |
||
135 | * @param string $code |
||
136 | * @return AccessToken |
||
137 | * @throws InvalidResponse |
||
138 | */ |
||
139 | 36 | public function getAccessToken($code) |
|
159 | |||
160 | /** |
||
161 | * @param array $parameters |
||
162 | * @return AccessToken |
||
163 | * @throws \SocialConnect\OAuth2\Exception\InvalidState |
||
164 | * @throws \SocialConnect\OAuth2\Exception\UnknownState |
||
165 | * @throws \SocialConnect\OAuth2\Exception\UnknownAuthorization |
||
166 | */ |
||
167 | 18 | public function getAccessTokenByRequestParameters(array $parameters) |
|
192 | } |
||
193 |