微信网页授权(OAuth2.0) PHP 源码简单实现

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了微信网页授权(OAuth2.0) PHP 源码简单实现脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

提要:

  1. 建议对OAuth2.0协议做一个学习。   2. 微信官方文档和微信官网工具要得到充分利用。 比较简单,直接帖代码了。其中“xxxxxxxxxx”部分,是需要依据自己环境做替换的

<PRe class="brush:PHP;"> /** * OAuth2.0微信授权登录实现 * * @author zzy * @文件名:GetWxUserInfo.PHP */

// 回调地址
$url = urlencode("http://www.xxxxxxxxx.com/GetWxUserInfo.PHP");
// 公众号的id和secret
$appid = 'xxxxxxxxx';
$appsecret = 'xxxxxxxxx';
session_start();

// 获取code码,用于和微信服务器申请token。 注:依据OAuth2.0要求,此处授权登录需要用户端操作
if(!isset($_GET['code']) && !isset($_SESSION['code'])){
echo
'<a href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6c11a252ff1d00c4
&amp;redirect_uri='.$url.'&response_tyPE=code&scope=snsapi_userinfo&state=1#wechat_redirect">
<font style="font-Size:30">授权';

exIT;
}

// 依据code码去获取openid和access_token,自己的后台服务器直接向微信服务器申请即可
if (isset($_GET['code']) && !isset($_SESSION['token'])){
$_SESSION['code'] = $_GET['code'];

$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid.
"&secret=".$appsecret."&code=".$_GET['code']."&grant_type=authorization_code";
$res = https_request($url);
$res=(json_decode($res,true));
$_SESSION['token'] = $res;
}

print_r($_SESSION);

// 依据申请到的access_token和openid,申请Userinfo信息。
if (isset($_SESSION['token']['access_token'])){
$url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$_SESSION['token']['access_token']."&openid=".$_SESSION['token']['openid']."&lang=zh_CN";
echo $url;
$res = https_request($url);
$res = json_decode($res,true);

$_SESSION['userinfo'] = $res;

}

print_r($_SESSION);

// cURL函数简单封装
function https_request($url,$data = null)
{
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
if (!empty($data)){
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
}
curl_setopt($curl,CURLOPT_RETURNtransfer,1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}

脚本宝典总结

以上是脚本宝典为你收集整理的微信网页授权(OAuth2.0) PHP 源码简单实现全部内容,希望文章能够帮你解决微信网页授权(OAuth2.0) PHP 源码简单实现所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。