微信登录验证

lumen,php语言 2019-04-30

微信登录中可以从微信中获取到code,iv,encryptedData,signature

看着别人拿着这些去验证用户是否真的登录了

研究了好久,code可以获取唯一标识openid就可以确定用户

也许是微信平台考虑到路由重定向安全问题等,需要session验证

不管了,就这样

        $appid = ('WXAPPID');
        $appsecret = ('WXSECRET');
        $grant_type = "authorization_code"; //授权(必填)

        $params = "appid=".$appid."&secret=".$appsecret."&js_code=".$code."&grant_type=".$grant_type;
        $url = "https://api.weixin.qq.com/sns/jscode2session?".$params;

        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true) ;
        curl_setopt($curl, CURLOPT_BINARYTRANSFER, true) ;
        curl_setopt($curl, CURLINFO_HEADER_OUT, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        // 执行
        $data = curl_exec($curl);
        curl_close($curl);
        return json_encode($data,true);

本文由 wenyi 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论