应用时基于yii的。目前流程如下:
生成oschina授权链接
用户访问该链接之后得到 code
利用code换取access_token
代码:
'code', 'client_id' => $this->ak, 'redirect_uri' => yii::app()->createabsoluteurl($this->callback) ); return $this->host . '/action/oauth2/authorize?' . http_build_query($params); } /** * 获取accesstoken * @param $code * @return string * @throws cexception * @throws exception */ public function getaccesstoken($code) { $params = array( 'client_id' => $this->ak, 'client_secret' => $this->sk, 'grant_type' => 'authorization_code', 'code' => $code, 'datatype' => 'json' ); $url = $this->host . '/action/openapi/token'; $resp = request::post($url, $params); $data = json_decode($resp,true); return $data; } public function refreshaccesstoken() { }}
oauth->getaccesstoken($code); print_r($data); } public function actionredirect() { $url = yii::app()->oauth->getredirecturl(); $this->redirect($url); }}
目前的问题是可以得到 code,但是利用code去oschina获取access_token的时候报错了。