php微信扫码登录接口对接

public function weixin()
    {
        $appid="wx1e1275cb2e70e359";
        $url=urlencode("http://www.taianyuannongmu.com/business/login/weixin2");
          header("Location:https://open.weixin.qq.com/connect/qrconnect?appid=".$appid."&redirect_uri=".$url."&response_type=code&scope=snsapi_login&state=wechat_redirect");
    }
        public function weixin2()
    {
        // array(2) { ["code"]=> string(32) "021ETNFa1gYnpz01HNIa1a5JU53ETNF4" ["state"]=> string(15) "wechat_redirect" }
     	if(!isset($_SESSION["openid"]) || empty($_SESSION["openid"])){
         $appid="wx1e1275cb2e70e359";
         $AppSecret="ddc5b7823e634c8550460c16deb071c0";
        $url=urlencode("http://www.taianyuannongmu.com/business/login/weixin2");
         $weixinurl= "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$AppSecret."&code=".$_GET["code"]."&grant_type=authorization_code";

  $res=$this->geturl($weixinurl);
  	        $_SESSION["access_token"]=$res['access_token'];
			$_SESSION["openid"]=$res['openid'];
     	}
  /*
  array(6) { ["access_token"]=> string(110) "36_iZ5Dmy1Vgp91aatkkiG49u3j22Xde9Rv8v6N6nkuxWC2zH-_iybd4WTMRH7HGn-Cok9_Zimyx3oNJ9c5FC06lkj3X1xPKUo6b-eReTldrng" ["expires_in"]=> int(7200) ["refresh_token"]=> string(110) "36__CEsz0LIP8IsE50bXFBFCBNyGt8YCJL4QNAUDUHTP185Ca-H73oGPDXYjSlYicd08FMfkVh15i7Pe6EpHWXjsGLSMoZv2ahBS-wfibkST8A" ["openid"]=> string(28) "owjaFwYel6ByrP9sAO0_cFa6bhi4" ["scope"]=> string(12) "snsapi_login" ["unionid"]=> string(28) "oBcKE6Iq6zMdF4wAlWuOgZqXf0Xo" }
  */
  $access_token=$_SESSION["access_token"];

  $openid=$_SESSION["openid"];
   
  		$get_user_info_url='https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
  		// var_dump($get_user_info_url);die;
   $weixin3res= $this->geturl($get_user_info_url);
   
   
//   var_dump($openid);die;
   
   
    $oauth = Db::table("cmf_users");
          
          
            if (!$openid)
            {
               $this->error('授权失败,请重新输入!');  
            }

             $user  = $oauth->where(array("openid"=>$openid))->find();
           

            if(!$user)
            {
				 $this->error('未在手机认证过哦,请重新输入!'); 
              
            } else {
              
             session('loginskey', null);
            session('business_user', $user);

            NodeService::applyUserAuth(true);
            sysoplog('系统管理', '用户登录系统成功');
            $this->success('登录成功', url('@business'));

            }
     
    }
    function geturl($url){
        $headerArray =array("Content-type:application/json;","Accept:application/json");
        $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);
        curl_setopt($ch,CURLOPT_HTTPHEADER,$headerArray);
        $output = curl_exec($ch);
        curl_close($ch);
        $output = json_decode($output,true);
        return $output;
}

猜你喜欢

转载自blog.csdn.net/wangzhae/article/details/107904644