微信网页二维码授权登陆

                                                                     PHP网站应用开发 微信三方扫码登陆 

 开发示例下载地址

1.微信开放平台配置 授权域名 (微信开放平台https://open.weixin.qq.com/)

进入管理中心 -> 网站应用->点击对应的公众号配置授权域名 审核时间较长 至少需提前一周去更改.

微信网页二维码授权登陆_第1张图片

微信网页二维码授权登陆_第2张图片

修改标记中的授权回调域名 和公众号回调域名是不同的 这就是一大坑. 格式为 mp.csdn.net , www.csdn.net ......

2.微信平台不在存储Appsecret 我们需要把appsecret存储起来 以便后续使用。

微信网页二维码授权登陆_第3张图片

3. 再实际开发我们再tp5框架中 使用的是采取js调取二维码 (微信文档地址) 。

前端代码:

在这里我把微信官方给的js 直接复制了出来做出了调整 保存在了项目文件下,也就是上段代码中的 wx_login.js(  github下载地址 )

微信网页二维码授权登陆_第4张图片

 

再扫码成功并授权完成后会携带code跳转到开发者填写的回调地址中

&&**获取临时用户Token和open_id的代码

 

&&** 回调地址控制器 代码    微信开发文档链接


      public function wxlogin(){
        // // echo urlencode('https://qqcardcs.10088.cn/admin/cs/index');die;
        $param = request()->param();
        if(!empty($param)){
          if($param['state'] != Session::get('wxlogin_state'))
            {
                return '非法操作';
            }      
            $bGetUserToken_res = $this->bGetUserToken($param['code'],config('appid'),config('secret')); //根据获取token 和openid
            if(!empty($bGetUserToken_res['errcode'])){
              $this->cInsertErr($bGetUserToken_res,'code请求token');exit;//写入错误信息
            }
            $Admin_model = new Admin_model();
            $Ssecretary = new Ssecretary();
            $bGetUserInfo_res = $this->bGetUserInfo($bGetUserToken_res); //根据token和openid 获取用户信息
            $mGetAdminOne_res = $Admin_model->mGetAdminOne(['unionid'=>$bGetUserInfo_res['unionid']]);
            if(!empty($mGetAdminOne_res)){
               if(!empty($bGetUserInfo_res['errcode'])){
                 $this->cInsertErr($bGetUserInfo_res,'请求用户数据');//写入错误信息
               }
               $res = (new Admin_model())->mInsertAdmin($bGetUserInfo_res); //插入用户信息 

              
         
              return $this->redirect('index/index/index');            
            }else{

            }           
        }

      }

     

                                                                                                                                         不是你浪费了时间,而是时间消耗了你的生命。

 

你可能感兴趣的:(微信开发,PHP,接口)