微信公众号OAuth2.0网页授权问题浅析


Posted in PHP onJanuary 21, 2017

根据需求,我今天完成的是微信的网页授权然后拉取用户的一些基本信息的问题。

1.修改网页授权的基本信息。打开微信公众平台。

微信公众号OAuth2.0网页授权问题浅析

微信公众号OAuth2.0网页授权问题浅析

在这个地方写要授权的页面的网址。

2.我这边只是测试这个功能,所以我页面直接写了个测试页面,我在要测试的这个网站的根目录新建了一个ceshi.html

然后在他的控制器里面对其进行操作。

1)首先是分享的也就是授权的网页的链接要写的正确

微信公众号OAuth2.0网页授权问题浅析

然后url:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx444444444444&redirect_uri=http://www.erdangjiade.com/Admin/Wx/ceshi.html&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect

2)使用code获取access_token

我是直接在测试的那个网页(也就是进行授权)的控制器直接对其操作

微信公众号OAuth2.0网页授权问题浅析

代码:

$code=$_GET['code'];
dump($code);
$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxd1caae7&secret=0a72c866233ab4cf6f1ad6d&code=".$code."&grant_type=authorization_code";
//var_dump($url);
$resInfo = https_request($url,true);
$userLists=json_decode($resInfo,true);
dump($userLists);

这边可以答应出我这边写的$userLists

然后如果是正确的话,就能获取access_token,因为access_token的时效性的问题,所以可以把access_token替换成refresh_token,我因为自己觉得并不需要,所以就没有写那一步。

微信公众号OAuth2.0网页授权问题浅析

这边要是换取的时候有错的话,就会显示{"errcode":40029,"errmsg":"invalid code"}

3)利用openid和access_token获取用户的头像昵称等基本信息。

微信公众号OAuth2.0网页授权问题浅析

代码:

$access_token=$userLists['access_token'];
$openid=$userLists['openid'];
$userClick=M('maiclub_userclick');
if($userClick->where("openid = '{$openid}'")->find()){
//echo 1111;
}else{
$urlInfo="https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid;
$resltInfo=https_request($urlInfo,true);
$userInfo=json_decode($resltInfo,true);
$userClick->add($userInfo);
}
dump($userInfo);
// dump($access_token);
$this->display();

dump($userInfo);就可以打印出用户的基本信息,然后只要入库就可以了。

这边还有个问题,就是我这边用到的一个函数https_request

他在function中的源代码:

function https_request($url, $data = null){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}

这样应该没有问题了,就是授权的全部内容。

以上所述是小编给大家介绍的微信公众号OAuth2.0网页授权问题浅析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP 文件类型判断代码
Mar 13 PHP
PHP函数strip_tags的一个bug浅析
May 22 PHP
php绘制一条直线的方法
Jan 24 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
php面向对象编程self和static的区别
May 08 PHP
PHP单链表的实现代码
Jul 05 PHP
PHP7 新特性详细介绍
Sep 06 PHP
关于PHP内置的字符串处理函数详解
Feb 04 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
php如何比较两个浮点数是否相等详解
Feb 12 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
May 13 PHP
php创建多级目录与级联删除文件的方法示例
Sep 12 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
Jan 21 #PHP
PHP三种方式实现链式操作详解
Jan 21 #PHP
PHP将字符串首字母大小写转换的实例
Jan 21 #PHP
thinkphp 手机号和用户名同时登录
Jan 20 #PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
Jan 20 #PHP
php curl常用的5个经典例子
Jan 20 #PHP
php技巧小结【推荐】
Jan 19 #PHP
You might like
ASP知识讲座四
2006/10/09 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
Preload基础使用方法详解
2020/02/03 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
python访问sqlserver示例
2014/02/10 Python
Python深入学习之特殊方法与多范式
2014/08/31 Python
wxPython学习之主框架实例
2014/09/28 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
python Opencv将图片转为字符画
2021/02/19 Python
Python给图像添加噪声具体操作
2019/03/03 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
python实现从尾到头打印单链表操作示例
2020/02/22 Python
Python数据可视化图实现过程详解
2020/06/12 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
Python try except finally资源回收的实现
2021/01/25 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
高中体育教学反思
2014/01/29 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
药店采购员岗位职责
2014/09/30 职场文书
个人租房协议书样本
2014/10/01 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
图解上海144收音机
2021/04/22 无线电