PHP实现微信网页授权开发教程

微信网页授权是服务号才有的高级功能,开发者可以通过授权后获取用户的基本信息;在此之前,想要获取消息信息只能在用户和公众号交互时根据openid获取用户信息;而微信网页授权可在不需要消息交互,也不需要关注的情况下获取用户的基本信息。

微信网页授权时通过OAuth2.0完成的,整个过程分为三步:

对微信网页授权过程做了简单封装:

PHP;"> /**

  • 微信授权相关接口
    */

class Wechat {

//高级功能-》开发者模式-》获取
private $app_id = 'xxx';
private $app_secret = 'xxxxxxx';

/**

/**

if($token_data[0] == 200)
{
  return json_decode($token_data[1],TRUE);
}

return FALSE;

}

/**

return FALSE;

}

public function http($url,$method,$postfields = null,$headers = array(),$debug = false)
{
$ci = curl_init();
/ Curl settings /
curl_setopt($ci,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
curl_setopt($ci,CURLOPT_CONNECTTIMEOUT,30);
curl_setopt($ci,CURLOPT_TIMEOUT,CURLOPT_RETURNTRANSFER,true);

switch ($method) {
  case 'POST':
    curl_setopt($ci,CURLOPT_POST,true);
    if (!empty($postfields)) {
      curl_setopt($ci,CURLOPT_POSTFIELDS,$postfields);
      $this->postdata = $postfields;
    }
    break;
}
curl_setopt($ci,CURLOPT_URL,$url);
curl_setopt($ci,CURLOPT_HTTPHEADER,$headers);
curl_setopt($ci,CURLINFO_HEADER_OUT,true);

$response = curl_exec($ci);
$http_code = curl_getinfo($ci,CURLINFO_HTTP_CODE);

if ($debug) {
  echo "=====post data======\r\n";
  var_dump($postfields);

  echo '=====info=====' . "\r\n";
  print_r(curl_getinfo($ci));

  echo '=====$response=====' . "\r\n";
  print_r($response);
}
curl_close($ci);
return array($http_code,$response);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...