微信开发第四篇:网页授权验证

网页授权验证包括拉取微信用户的基本信息以及微信用户的详细信息两种(scope不同),此处我们分别介绍:


第一种:拉取用户基本信息

public function app_web_basic(){

//1.获取code
$scope = 'snsapi_base';//授权作用域(snsapi_base或snsapi_userinfo)
//开发者的appid
$appid = 'XXXX';
//自动跳转到下面的方法
$redirect_uri = urlencode('http://www.xxx.com/xxx/get_userbasic');//回调地址,进行url编码(code参数会发放到此页面)
$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$redirect_uri.'&response_type=code&scope='.$scope.'&state=xxx#wechat_redirect';

}
public function get_userbasic(){
//2.获取网页授权access_token及open_id(用户基本信息)
$code = $_GET['code'];//获取到的code,用来换去access_token
//开发者的appid和appsecret

$appid = 'xxx';
$appsecret = 'xxxx';
$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';
$res = $this ->curl($url);//获得网页access_token,用户open_id,curl函数不再编写
$res = json_decode($res,true);
var_dump($res);   //已成功获取用户基本信息
}



第二种:获取用户详细信息(推荐)


public function app_web_detail(){
//1.获取code
$scope = 'snsapi_userinfo';//授权作用域(snsapi_base或snsapi_userinfo)
//开发者的appid
$appid = 'xxx';
//自动跳转到下面的方法
$redirect_uri = urlencode('http://www.xxx.com/Wechat/get_userinfo');//回调地址,进行url编码(code参数会发放到此页面)
$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$redirect_uri.'&response_type=code&scope='.$scope.'&state=xxx#wechat_redirect';

}
public function get_userinfo(){
//2.获取网页授权access_token及open_id
$code = $_GET['code'];//获取到的code,用来换去access_token
//开发者的appid和appsecret

$appid = 'xxx';
$appsecret = 'xxxx';
$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';
$res = $this ->curl($url);//获得网页access_token,用户open_id等信息
$access_token = $res['access_token'];//获得网页access_token
$open_id = $res['open_id']; //获得用户open_id
//3.拉取用户详细信息
//用户详细信息请求地址
$url_info = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$open_id.'&lang=zh_CN ';
$res_info = $this -> curl($url_info);//获得用户详细信息,包含昵称,头像等信息
//自行打印查看结果
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值