一、前言
在微信小程序中,通过授权登录可以获取用户的基本信息,但是由于小程序获取用户信息的流程比较复杂,也有很多步骤,所以本文将一步步的介绍如何在php开发的环境下获取小程序授权用户的信息。
二、准备工作
1、安装微信小程序开发工具,申请一个小程序,并记住小程序的AppID和AppSecret,这些都是后面需要用到的参数;
2、安装PHP开发环境,并设置好环境变量;
3、安装微信SDK,SDK的地址为:
https://Github.com/dodgepudding/wechat-php-sdk
三、步骤
1、登录小程序后台,点击左侧菜单“设置”,然后点击“开发设置”,在弹出的页面中,找到“服务器域名”,然后设置你要接收小程序用户信息的域名,比如:www.example.com。
2、在PHP开发环境中,创建一个新的文件,名字叫login.php,然后复制下面这段代码到文件中:
<?php
require_once 'wechat-php-sdk/autoload.php';
// 使用长整型,防止有的系统把ID转换成浮点数
$appId = 'wx1234567890abcdef';
$appSecret = '1234567890abcdefghijklmnopqrstuv';
$wechat = new WechatWechat(array('appId' => $appId, 'appSecret' => $appSecret));
// 获取code
$code = $_GET['code'];
// 使用code换取用户信息
$data = $wechat->getOauthAccessToken($code);
// 获取access_token
$access_token = $data['access_token'];
// 使用access_token获取用户信息
$userInfo = $wechat->getOauthUserinfo($access_token,$data['openid']);
// 打印用户信息
print_r($userInfo);
?>
然后,将上面代码中的$appId和$appSecret替换成你记住的小程序AppID和AppSecret,完成后,保存文件。
3、在小程序中,创建一个新的页面,用于授权登录,然后在页面的js文件中添加以下代码:
// 这里填写你的接收用户信息的域名
var domain = 'www.example.com';
// 获取用户信息
wx.getUserInfo({
success: function (res) {
var userInfo = res.userInfo;
// 将用户信息发送给服务器
wx.request({
url: 'https://' + domain + '/login.php',
data: {
code: res.code,
userInfo: userInfo
},
success: function (res) {
// 接收服务器返回的用户信息
console.log(res.data);
}
});
}
});
然后,将上面代码中的domain替换成你设置的域名,完成后,保存文件。
4、在小程序中,在用户点击授权登录按钮之后,就会发起一个请求,请求发往你设置的域名,在login.php中,会接收到这个请求,然后就可以获取用户的信息了,比如头像、昵称等。
以上就是本文关于php开发之微信小程序授权用户信息的教程的全部内容,希望对大家有所帮助!