首页 > 代码库 > php对接登陆的三两片语

php对接登陆的三两片语

$client_id=‘‘;
$sign_method=‘MD5‘;
$version=‘1.0‘;
$timestamp=time();//时间戳
$client_secret=‘‘;//客户证明
$code = $_GET[‘code‘];
$grant_type = ‘authorization_code‘;
$sign_sort = ‘client_id&sign_method&version&timestamp&client_secret&code&grant_type‘;
$signature = md5($client_id.$sign_method.$version.$timestamp.$client_secret.$code.$grant_type);//md5简要加密

$data = array(
  ‘client_id‘=>$client_id,
  ‘sign_method‘=>$sign_method,
  ‘version‘=>$version,
  ‘timestamp‘=>$timestamp,
  ‘client_secret‘=>$client_secret,
  ‘code‘=>$code,
  ‘grant_type‘=>$grant_type,
  ‘sign_sort‘=>$sign_sort,
  ‘signature‘=>$signature
  );

$urlencodeData = http_build_query($data);//array转urlencode

$url =‘‘;//code换token的地址
$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HTTPHEADER,array(‘Content-Type:application/x-www-form-urlencoded‘));//https、tttp请求头设置,视情况而定

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);//是否对认证证书来源的检查
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//以文件流输出执行结果
//将服务器服务器返回的"Location: "放在header中递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量。视情况而定
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$urlencodeData);
$json = curl_exec($ch);
curl_close($ch);

$arr = json_decode($json);

拿到你要的token。

重点注意:对于不同的接入,每个接入的加密和获取token请求的方式有所不同。

php对接登陆的三两片语