discuz QQ登录 20003问题

出现20003问题,
qq20003-1

 

此问题主要是因为 在获取token时候

http://openapi.qzone.qq.com/oauth/qzoneoauth_request_token

造成失败导致。

在  source/plugin/manyou/Service/Client/ConnectOAuth.php的connectGetRequestToken 里面没有正常获取,如图

qq20003-2

 

public function connectGetRequestToken($callback, $clientIp = '') {

		$extra = array();

		$extra['oauth_callback'] = rawurlencode($callback);

		if ($clientIp) {
			$extra['oauth_client_ip'] = $clientIp;
		}
 
		$this->setTokenSecret('');
		$response = $this->_request($this->_requestTokenURL, $extra);
		 
		while( trim($response) == 'error_code=20003'     )
		{
			 $response = $this->_request($this->_requestTokenURL, $extra);
		}
		
	 

		parse_str($response, $params);


		//var_dump($params);die();

		if($params['oauth_token'] && $params['oauth_token_secret']) {
			return $params;
		} else {
			
			$params['error_code'] = $params['error_code'] ? $params['error_code'] : self::RESPONSE_ERROR;
			throw new Exception($params['error_code'], __LINE__);
		}

	}