经常看到网站有集成微信扫码登录
的功能,觉得非常方便
不过此功能只对企业
开放
肯定是先要申请了,默默等待审核通过即可
首先生成二维码
,
[root@web_test public]# cat wxlogin.html
<span id="login_container"></span>
<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
<script>
var obj = new WxLogin(
{
id: "login_container",
appid: "wxe1***57967371ca5",
scope: "snsapi_login",
redirect_uri: encodeURIComponent("http://www.test.com/login.php"), state: Math.ceil(Math.random()*1000),
style: "black",
href: ""
}
);
</script>
扫码后调用以下代码
[root@web_test public]# cat login.php
<?php
login();
function login(){
$code = $_GET['code'];
$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxe1***57967371ca5&secret=820515d51c5d***ec5242516206f2ece&code=".$code."&grant_type=authorization_code";
$access_token = curl_get($url);
if (!$access_token || isset($access_token['errcode'])){
return json(['code'=>0,'message'=>'登录失败']);
}
$url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token['access_token']."&openid=".$access_token['openid'];
$user = curl_get($url);
if (!$user){
return json(['code'=>0,'message'=>'登录失败']);
}
echo "<pre>";
echo "<img src=".$user['headimgurl'].">";
print_r($user);
}
function curl_get($url){
$header = array(
'Accept: application/json',
);
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 0);
// 超时设置,以秒为单位
curl_setopt($curl, CURLOPT_TIMEOUT, 1);
// 超时设置,以毫秒为单位
// curl_setopt($curl, CURLOPT_TIMEOUT_MS, 500);
// 设置请求头
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
//执行命令
$data = curl_exec($curl);
// 显示错误信息
if (curl_error($curl)) {
return false;
} else {
// 打印返回的内容
return json_decode($data,true);
}
}
?>
这里扫码成功后会显示当前网友的信息及显示一个大头贴
如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术
转载请注明:网站集成微信扫码登录 出自老鄢博客 | 欢迎分享