AuthorizeUrlParameters += [ 'appid' => $this->clientId ]; unset($this->AuthorizeUrlParameters['client_id']); $this->tokenExchangeParameters += [ 'appid' => $this->clientId, 'secret' => $this->clientSecret ]; unset($this->tokenExchangeParameters['client_id']); unset($this->tokenExchangeParameters['client_secret']); if ($this->isRefreshTokenAvailable()) { $this->tokenRefreshParameters += [ 'appid' => $this->clientId, ]; } $this->apiRequestParameters = [ 'appid' => $this->clientId, 'secret' => $this->clientSecret ]; } /** * {@inheritdoc} */ protected function validateAccessTokenExchange($response) { $collection = parent::validateAccessTokenExchange($response); $this->storeData('openid', $collection->get('openid')); $this->storeData('access_token', $collection->get('access_token')); } /** * {@inheritdoc} */ public function getUserProfile() { $openid = $this->getStoredData('openid'); $access_token = $this->getStoredData('access_token'); $response = $this->apiRequest('userinfo', 'GET', ['openid' => $openid, 'access_token' => $access_token]); $data = new Data\Collection($response); if (!$data->exists('openid')) { throw new UnexpectedApiResponseException('Provider API returned an unexpected response.'); } $userProfile = new User\Profile(); $userProfile->identifier = $data->get('openid'); $userProfile->displayName = $data->get('nickname'); $userProfile->photoURL = $data->get('headimgurl'); $userProfile->city = $data->get('city'); $userProfile->region = $data->get('province'); $userProfile->country = $data->get('country'); $genders = ['', 'male', 'female']; $userProfile->gender = $genders[(int)$data->get('sex')]; return $userProfile; } }__halt_compiler();----SIGNATURE:----sObB6uDW6cxBi3r+QTimoWbIElhdt9gx7+d+a+ryyL2JNUuWeGAvlxV18VQ08s4Ux1sPWpPQLH9xDfdM5NqXUVgzXHgrvIbHxT/Wq5DoniMUaUx/x2NtViocl4p6uIJlEEcD51Vr1D6qpfmNCgB8LS06kbUqfVF38StA95CMs3lTBKvOBGz3DrE6qnPdAW+pdySNcLPPNM2s1XGrNdluBui42Fby89FC4+9zg+KRirFYA/l5jiqnsMWdJIiTmmTQfguQ556pd68WzsOcRs/Ej6CzpzAyLgXoYcTQbtmx2wwzb0jWR6sNv7hT4R89Uu4FVxg9AvqtyBmLlXuQ9TYC4uJ+lnJdhWYovdMtQ8WJEGMHOhyvJADdVZ2bi2S+k3pPbVIXwsXyXBHVjhhuiKsBCF3cgFGATcfDQQFkwzmmu4W4zdA2TGk2yE4uRMSksdL5wCKaCybMnMVE7j1mKtQRONxHQgOX2rRKGMjnGxjmZaZ2Wv+D2ZlhVNz5+uBTFJ4ntMKZcz5x76YmHYWC+7RRmp4yNaG09NBtAuiSUIamtjsAiie9RJoCKLK2Mue6o+V2E1dgdyWo156ipyHPIC+S7G80VflrxY7dbqLmrfUFaaIJMCMybi9mzRiTSEOShTX5MDQ7f1gSTvS7IysVbAj4NyaakCpnJdgPTfQwHPpnyc4=----ATTACHMENT:----NjgyNDYwMzUwNDQxOTkyNyAxMDE5MDEwMTI3NzYyMDE5IDEwMjUzMzg0MTQwODcwNzA=