微信第三方登录

2018-05-29  本文已影响0人  ADL2022

一、第一步请求微信API获取code,让前端安卓or IOS获取code;

二、第二步根据code,自己后台服务器再通过OpenID和access_token查询用户信息代码如下:

$appid = "你的公众帐号appid";

$secret = "你的公众帐号秘钥";

$code = $_GET["code"];

$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$get_token_url);

curl_setopt($ch,CURLOPT_HEADER,0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);

$res = curl_exec($ch);

curl_close($ch);

$json_obj = json_decode($res,true);

//根据openid和access_token查询用户信息

$access_token = $json_obj['access_token'];

$openid = $json_obj['openid'];

$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$get_user_info_url);

curl_setopt($ch,CURLOPT_HEADER,0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);

$res = curl_exec($ch);

curl_close($ch);

//解析json

$user_obj = json_decode($res,true);

$_SESSION['user'] = $user_obj;

print_r($user_obj);exit;//打印出微信用户信息

上一篇下一篇

猜你喜欢

热点阅读