一般开发我们会根据code获取access_token这样我们可以得到refresh_token来进行刷新access_token
本片文章我已Laravel5.4框架为大家介绍
//定义获取code路由 Route::get('oauth/user,'OauthController@oauthUser');
//获取code public function oauthUser() { $url ='https://secure.dhgate.com/dop/oauth2/authorize?'; $get['response_type'] = 'code'; $get['client_id'] = '您申请的client_id'; $get['redirect_uri'] = 'http://127.0.0.1/oauth/redirect_uri’ //回调地址 $get['scope'] = 'basic'; $get['state'] = $user->name; foreach ( $get as $k=>$v ) { $url.= "$k=".urlencode($v)."&"; } $url = substr($url, 0, -1); return redirect($url); } //回调地址路由 Route::get('oauth/redirect_uri','OauthController@redirect_uriCode');
//根据回调带着得到token public function redirect_uriCode( Request $request ) { $url = 'https://secure.dhgate.com/dop/oauth2/access_token?'; $get['grant_type'] = 'authorization_code'; $get['code'] = $request->input('code'); $get['client_id'] = '您申请的client_id'; $get['client_secret'] = '您申请的client_secret'; $get['redirect_uri'] = 'http://127.0.0.1/oauth/redirect_uri’ //回调地址 foreach ( $get as $k=>$v ) { $url.= "$k=".urlencode($v)."&"; } $url = substr($url, 0, -1); $redirect = @file_get_contents($url); //这里你可以改用curl方式 $redirect = json_decode( $redirect ); //$redirect 返回的就是您需要的token对象 //如果你还需要用户下面你可以根据token得到用户信息 $getUserUrl = 'http://api.dhgate.com/dop/router?'; $us['access_token'] = $redirect->access_token; $us['method'] = 'dh.user.seller.get'; $us['timestamp'] = substr(floor(microtime(true) * 1000),0); $us['v'] = '2.0'; foreach ( $us as $ks=>$vs ) { $getUserUrl.= "$ks=".urlencode($vs)."&"; } $getUserUrl = substr($getUserUrl, 0, -1); $userInfo = @file_get_contents($getUserUrl); $userInfo = json_decode( $userInfo ); //返回用户信息 }
本文由:xiaoshu168 作者:xiaoshu发表,转载请注明来源!