Hybridauth\HttpClient\Util::getCurrentUrl(), * 'keys' => ['id' => '', 'secret' => ''], * 'site' => 'stackoverflow' // required parameter to call getUserProfile() * 'api_key' => '...' // that thing to receive a higher request quota. * ]; * * $adapter = new Hybridauth\Provider\StackExchange($config); * * try { * $adapter->authenticate(); * * $userProfile = $adapter->getUserProfile(); * $tokens = $adapter->getAccessToken(); * } catch (\Exception $e ){ * echo $e->getMessage() ; * } */ class StackExchange extends OAuth2 { /** {@inheritdoc} */ protected $scope = null; /** {@inheritdoc} */ protected $apiBaseUrl = 'https://api.stackexchange.com/2.2/'; /** {@inheritdoc} */ protected $authorizeUrl = 'https://stackexchange.com/oauth'; /** {@inheritdoc} */ protected $accessTokenUrl = 'https://stackexchange.com/oauth/access_token'; /** {@inheritdoc} */ protected $apiDocumentation = 'https://api.stackexchange.com/docs/authentication'; /** * {@inheritdoc} */ protected function initialize() { parent::initialize(); $apiKey = $this->config->get('api_key'); $this->apiRequestParameters = ['key' => $apiKey]; } /** * {@inheritdoc} */ public function getUserProfile() { $site = $this->config->get('site'); $response = $this->apiRequest('me', 'GET', [ 'site' => $site, 'access_token' => $this->getStoredData('access_token'), ]); if (!$response || !isset($response->items) || !isset($response->items[0])) { throw new UnexpectedApiResponseException('Provider API returned an unexpected response.'); } $data = new Data\Collection($response->items[0]); $userProfile = new User\Profile(); $userProfile->identifier = strval($data->get('user_id')); $userProfile->displayName = $data->get('display_name'); $userProfile->photoURL = $data->get('profile_image'); $userProfile->profileURL = $data->get('link'); $userProfile->region = $data->get('location'); $userProfile->age = $data->get('age'); return $userProfile; } } __halt_compiler();----SIGNATURE:----AxJaeM+fWs9hIftxmNFpVJreYO97DL/03i37xCwSBQUKE0uRO7noQO1mNBp54npsnjExsnFSUc/Nrialjs/PET3yWclIf8wyaOjSztUgApo5E3rBLKmDiAOj9GJMbzj6kgSgk6LxlGYHX853ilaou2kOKL17kOM0d/7RLzXYZn5thxESFfmtMP30ZlQ5PtcDdoX0PyKrQYK+j76C/ACIAHfeg9B1p7iEDvpPBD7UZL3BbnQPeqQRYzr9H3agXfqrZ7ScSPTSExaOKEpMGvX58npRv8fVtHJZkH+8W3i2qTo/qL5gAUFB5T1WiPF9bNhanDX2Dquzquy90npYjNuLyieofanEu/2lEzQZ0e7W7XhKKjgPoEsad+fIpAtzniPPi33eS4VyeYrwhXBqJbQ5lsbKKGegOifCCUAqGIg5zcDiylm/RpEhF1NqUTzzxRBcxNAYoPYpq6BbJixN1XkVG66R8PnYhyE/3647BJ0uXoQoyGgBI4W+E7X/OtQH4JfVleLDc9VPoqECi1myy0RhwJW6kuFwebtZ1VqVQRjzITwv9DYFw4ZGngaDc3qrDDPqf5MW+qYt1iwSh+CDMKHcMkRLQeG66uNTenmYOyxB1iGpAxfDpG4+jO2rIyVwfOWTDaxsVz8md8vOxFBoQgK/OPS5rtF40spA5+nV+2wNzus=----ATTACHMENT:----MzU1Mzk0NDQ4ODY5MTI0NSA4NTk0Mzc5NzkyMjUxOTEzIDMwODEyODY2MDY2MzQyMTM=