diff --git a/upload/source/plugin/qqconnect/lib/ConnectOAuth.php b/upload/source/plugin/qqconnect/lib/ConnectOAuth.php index 521079128efdb8667539b42b174fc0304c834e07..7b384336d8d350f213a278288b9e9a7abeb29e72 100644 --- a/upload/source/plugin/qqconnect/lib/ConnectOAuth.php +++ b/upload/source/plugin/qqconnect/lib/ConnectOAuth.php @@ -389,9 +389,9 @@ class Cloud_Service_Client_ConnectOAuth extends Cloud_Service_Client_OAuth { 'access_token' => $result['access_token'] ); $response = $this->callback($this->dfsockopen($this->_openIdURL_V2.'?'.$utilService->httpBuildQuery($params, '', '&'))); - if($response->openid) { + if($response['openid']) { $result = array( - 'openid' => $response->openid, + 'openid' => $response['openid'], 'access_token' => $result['access_token'] ); return $result; diff --git a/upload/source/plugin/qqconnect/lib/OAuth.php b/upload/source/plugin/qqconnect/lib/OAuth.php index 8691f610872d9bee1943ac819ec3b80a69ebf981..260182a496e08b3f56d7174eb10c19389ac3eb67 100644 --- a/upload/source/plugin/qqconnect/lib/OAuth.php +++ b/upload/source/plugin/qqconnect/lib/OAuth.php @@ -39,13 +39,17 @@ class Cloud_Service_Client_OAuth { } public function callback($response) { - if(strpos($response, "callback") === false) { - return array(); + $return = array(); + if(strpos($response, "callback") !== false) { + $lpos = strpos($response, "("); + $rpos = strrpos($response, ")"); + $response = substr($response, $lpos + 1, $rpos - $lpos - 1); + $return = json_decode($response, true); + if(!is_array($return)) { + $return = array(); + } } - $lpos = strpos($response, "("); - $rpos = strrpos($response, ")"); - $response = substr($response, $lpos + 1, $rpos - $lpos - 1); - return json_decode($response); + return $return; } public function getRequest($requestURL, $extra = array(), $oauthMethod = 'GET', $multi = array()) {