微信授权方法及通过授权获取临时访客的个人信息方法

18 篇文章 0 订阅
/*(1)网页授权页面,【测试的时候要先用用浏览器输出链接在微信端打开即可】*/
authorization();
function authorization(){ 
//https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
$myurl = urlencode('http://wechatr.xd107.com/index.html');//需要跳转链接进行处理urlencode

$appid = 'wx085835d45bae5bc6';
$secret= 'd35c9e49c46d2ed7fbf018949bf75367';
$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$myurl.'&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';
echo 'lianjie :'.$url.'<br/>';

/*网页收取2code换access_token说明这个code是跳转之后的前台页面又给传回来的,具体方案要根据实际情况这里只是测试用,并进行获取加的access_token*/
//getCode();
function getCode(){ 
$appid = 'wx085835d45bae5bc6';
$secret= 'd35c9e49c46d2ed7fbf018949bf75367';
if (empty($_GET['code'])) {
echo " no  code";
}else{ 
//echo $_GET['code'].'<br/>';
//https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$_GET["code"].'&grant_type=authorization_code';
$linacesstoken = curlGet($url);
return $linacesstoken;//当这个参数失效的时候可以用下面的secondAccesstoken的方法进行二次刷新
}


}
// 当accesstoken中失效的时候可能需要二次刷新accesstoken需要二次刷新
secondAccesstoken();
function secondAccesstoken(){ 
$linacesstoken = getCode();
$appid = 'wx085835d45bae5bc6';
$secret= 'd35c9e49c46d2ed7fbf018949bf75367';
//https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
$url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.$appid.'&grant_type=refresh_token&refresh_token='.$linacesstoken['access_token'];
$refreshtoken = curlGet($url);
return $refreshtoken;


}
/*获取通过授权临时获取用的基本信息*/
function showUsermess(){ 
$access_token = getAccesstopken();
$linacesstoken = getCode();
$url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$linacesstoken['openid'].'&lang=zh_CN';
$userinfo = curlGet($url);
return $userinfo;
}
/*检验授权凭证(access_token)是否有效*/
function validateAuthoriz(){ 
$access_token = getAccesstopken();
$linacesstoken = getCode();
//https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID
$url = 'https://api.weixin.qq.com/sns/auth?access_token='.$access_token.'&openid='.$linacesstoken['openid'];
$vali = curlGet($url);
if(($vali['errcode']==0)&&$vali['errmsg']=='ok'){ 
/*表明有效否则无效*/
return '有效';
die();
}else{ 
return '无效';
die();

}

说明:所有的测试都是web开发工具上测试本人亲测

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gjanuary

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值