PHP微信扫码登陆实现

微信开放平台创建网站应用(https://open.weixin.qq.com/)获取AppID参数与AppSecret.
实现扫码登陆源码

public function wxlogin()
{
    $AppID = '**************';
    $AppSecret = '***************';
    $callback = 'http://***.com/user/wechat'; //回调地址
    //微信登录
    session_start();
    //生成唯一随机串防CSRF攻击
    $state = md5(uniqid(rand(), TRUE));
    $_SESSION["wx_state"] = $state; //存到SESSION
    $callback = urlencode($callback);
    $wxurl = "https://open.weixin.qq.com/connect/qrconnect?appid=" . $AppID . "&redirect_uri={$callback}&response_type=code&scope=snsapi_login&state={$state}#wechat_redirect";
    header("Location: $wxurl");
}

public function weixin()
{
    if ($_GET['state'] != $_SESSION["wx_state"]) {
        exit("5001");
    }
    $AppID = '**************';
    $AppSecret = '**************';
    $url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $AppID . '&secret=' . $AppSecret . '&code=' . $_GET['code'] . '&grant_type=authorization_code';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_URL, $url);
    $json = curl_exec($ch);
    curl_close($ch);
    $arr = json_decode($json, 1);   //得到 access_token 与 openid
    //print_r($arr);
    $url = 'https://api.weixin.qq.com/sns/userinfo?access_token=' . $arr['access_token'] . '&openid=' . $arr['openid'] . '&lang=zh_CN';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_URL, $url);
    $json = curl_exec($ch);
    curl_close($ch);
    $arr = json_decode($json, 1);  //得到 用户资料
    //print_r($arr);
}
¥ 1.88
微信扫描即可打赏
服务器好贵
网站需要运营
给点小费以表支持
PHP微信扫码登陆实现
地址: https://blog.6448.cn/archives/82.html
版权: 本站所有文章均可转载,请转载时保留原文出处。

评论已关闭