收藏
回答

微信公众号H5静默授权

微信公众号H5静默授权必须由前端发起请求获取code吗?能由服务端发起请求获取code吗?能的话,是否需要配置什么东西

回答关注问题邀请回答
收藏

1 个回答

  • 2021-07-05
    //a.php,我要code
    $appid="微信APPID";
    $redirect_uri = urlencode('自己站点URL');//重定向地址
    $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect";
    header("Location:" . $url);
    
    //b.php,得到code,通过code可以调微信接口获取到用户信息(昵称、头像、openid、性别等)
    $appid="微信APPID";
    $secret = "微信的secret";
    $code = $_GET["code"];
    if($code){
    $oauth2Url = "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, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    $oauth2=json_decode($output, true);
    print_r($oauth2);
    }
    
    
    访问a.php,跳转b.php,输出:
    Array
            (
                [openid] => xxxxxxxxxxx
                [nickname] => 陈永鹏 Yoperchen
                [sex] => 1
                [language] => zh_CN
                [city] => 广州
                [province] => 广东
                [country] => 中国
                [headimgurl] => http://thirdwx.qlogo.cn/mmopen/vi_32/C425KOGlXMJvydgPlWE6dQFsACW5btlZLzQMkwlDqEuziaFQsf3dwQqnxAB0JA4dXyicNBu47hMIzMNlI0W2Hryg/132
                [privilege] => Array
            (
            )
    


    欢迎关注我的公众号:零零糖,让一个贫穷的程序员不靠打代码也能吃饭

    2021-07-05
    有用
    回复
登录 后发表内容
问题标签