微信公众号OAuth2.0网页授权问题浅析
程序员文章站
2024-03-31 21:39:52
根据需求,我今天完成的是微信的网页授权然后拉取用户的一些基本信息的问题。
1.修改网页授权的基本信息。打开微信公众平台。
在这个地方写要授权的页面的网址。
2...
根据需求,我今天完成的是微信的网页授权然后拉取用户的一些基本信息的问题。
1.修改网页授权的基本信息。打开微信公众平台。
在这个地方写要授权的页面的网址。
2.我这边只是测试这个功能,所以我页面直接写了个测试页面,我在要测试的这个网站的根目录新建了一个ceshi.html
然后在他的控制器里面对其进行操作。
1)首先是分享的也就是授权的网页的链接要写的正确
然后url:
2)使用code获取access_token
我是直接在测试的那个网页(也就是进行授权)的控制器直接对其操作
代码:
$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,我因为自己觉得并不需要,所以就没有写那一步。
这边要是换取的时候有错的话,就会显示{"errcode":40029,"errmsg":"invalid code"}
3)利用openid和access_token获取用户的头像昵称等基本信息。
代码:
$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使用PDO执行SQL语句的方法分析
推荐阅读
-
微信公众号OAuth2.0网页授权问题浅析
-
微信公众号网页授权域名和JS接口安全域名配置攻略
-
Scrapy框架结合Spynner采集需进行js,ajax动态加载的网页并提取网页信息(以采集微信公众号文章列表为例) 博客分类: Scrapy结合Spynner ScrapySpynnerwebkit
-
java-微信公众号菜单跳转网页获取openid
-
微信公众号OAuth2.0网页授权问题浅析
-
php版微信公众平台之微信网页登陆授权示例
-
微信网页授权(OAuth2.0) PHP 源码简单实现
-
微信公众号开发 临时二维码 场景ID的取值问题
-
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动_PHP
-
详解nuxt 微信公众号支付遇到的问题与解决