一般开发我们会根据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发表,转载请注明来源!