QQ登录

    public function login(){
        $urlencode = urlencode("http://www.xxxx.com/index/Index/callback");
        $url = "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=XXXXXXXX&redirect_uri={$urlencode}&state=shop";
        $data = compact("url");
        return view("",$data);
    }
    // 回调地址
    public function callback($code){
        // 1.获取code
        // 2.发起请求 获取access_token
        $urlencode = urlencode("http://www.xxxx.com/index/Index/callback");
        $url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=XXXX个人申请的APP IDXXX&client_secret=YYYYYYY个人申请的APP KeyYYYYY&code={$code}&redirect_uri={$urlencode}&fmt=json";
        $json = file_get_contents($url);
        $obj = json_decode($json);
        $access_token = $obj->access_token;
        // 3.发起请求 获取openid
        $url = "https://graph.qq.com/oauth2.0/me?access_token={$access_token}&fmt=json";
        $obj = json_decode(file_get_contents($url));
        $openid = $obj->openid;
        // 4.获取用户的信息
        $url = "https://graph.qq.com/user/get_user_info?access_token={$access_token}&oauth_consumer_key=XXX个人申请的APP IDXXXXXX&openid={$openid}";
        dump(file_get_contents($url));
        // 1.qq_member表写入数据,id,openid,nickname,gender,login_num,mid
      $data["nickname"] = $obj->nickname;
            $data["gender"] = $obj->gender;
            $data["openid"] = $openid;
            $data["login_num"] = 1;
            $id = Db::name("qq")->insertGetId($data); // 假如写入成功 // 2.写session        Session::set("openid",$openid);
           
        } // 3. 跳转到首页
return redirect((string)url('bindAccount')); }

 

posted @ 2022-03-18 19:01  被水遗忘の鱼  阅读(37)  评论(0编辑  收藏  举报