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

前端之家收集整理的这篇文章主要介绍了微信公众号OAuth2.0网页授权问题浅析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

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

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

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

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

然后url:

2)使用code获取access_token

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

代码

PHP;"> $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获取用户的头像昵称等基本信息。

代码

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中的源代码

PHP;"> 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网页授权问题浅析,希望对大家有所帮助。程序员遇到问题都会上(编程之家jb51.cc)查找问题解答方法!如果觉得站点还不错,随手转发给程序员朋友一下!

原文链接:https://www.f2er.com/wxmp/18082.html

猜你在找的微信公众号相关文章