原创

thinkphp5怎么整合qq互联登录教程


thinkphp5怎么整合qq互联登录教程


【单独登录控制器下载】链接:https://pan.baidu.com/s/1E_vl8M4xCfa4eBKzSGQjYw 密码:obny


相信韩国人对qq登录的整合一点都不陌生,这里只是给入门的新手们做一个简单的思路引导

具体代码将在文章底部分享给大家!


1:百度搜索qq互联,创建你需要的网站应用,获取APPid和appkey

如图:

2:点击应用管理,创建你的应用

3:等待审核,找到你的appid和appkey


4:下载官方sdk并集成

下载链接:http://pub.idqqimg.com/pc/misc/files/20180319/0256becc79354980848feb1e8484f27b.zip

你也可以自己到QQ互联中找到sdk并下载

5:将sdk重命名并上传到服务器

我的是重命名为qqauthlogin,保存到application目录下

如图:

[官方文件原封未动,无需重新整理PHP文件]

6:访问install目录在线配置[注意:如果是linux服务器,需要修改权限为777]

如:http://wodeboke.com/application/qqauthlogin/install/

按照要求填写相应的 appid  appkey 和回调地址

7:配置登录调取功能

我的代码:


qq_login();
    }

    public function callback()
    {
        $qc = new \QC();
        $openid = $qc->get_openid();
        $arr = $qc->get_user_info();
    //以上是登录成功获取openid和用户信息,下面是功能逻辑,如果用户不存在则入库新用户,如果存在则更新登录信息
    //大家自己根据自己网站去修改登录后的逻辑,请不要盲目的赋值下面的代码

        $User=Db::name('qudonghao_user');
        $data=Array(
            'username'=> $arr['nickname'],
            'openid' => $openid,
            'nickname' => $arr['nickname'],
            'headimgurl' => $arr['figureurl_2'],
            'reg_time'=> time(),
            'userid'=>time(),
            'is_login'=>1
        );
        if($res = $User->where(array('openid'=>$openid))->find()){
            $User->where(array('openid'=>$arr['openid']))->update(['is_login'=>1]);
            session('userinfo',$data);
            session('username',$data['nickname']);
            session('nickname',$data['nickname']);
            session('uid',$res['id']);
            setcookie("username",$data['nickname'],time()+3600*12,'/','.qudong.com');
            setcookie("nickname",$data['nickname'],time()+3600*12,'/','.qudong.com');
            setcookie("uid",$res['id'],time()+3600*12,'/','.qudong.com');
            setcookie("password","",time()+3600*12,'/','.qudong.com');
            setcookie("login_status",1,time()+3600*12,'/','.qudong.com');
            setcookie("headimgurl",$data['headimgurl'],time()+3600*12,'/','.qudong.com');
            $cookie = Cookie::get();

            if(isset($cookie['formUrl']) && ($cookie['formUrl']!= "")){
                header("Location:".$cookie['formUrl']."");
            }else{
                header("Location:http://www.qudong.com ");
            }
            return ;
        }
        session('userinfo',$data);

        $userss=$User->insertGetId($data);
        if($userss){
            session('username',$data['nickname']);
            session('nickname',$data['nickname']);
            setcookie("username",$data['nickname'],time()+3600*12,'/','.qudong.com');
            setcookie("nickname",$data['nickname'],time()+3600*12,'/','.qudong.com');
            setcookie("uid",$userss,time()+3600*12,'/','.qudong.com');
            setcookie("password","",time()+3600*12,'/','.qudong.com');
            setcookie("login_status",1,time()+3600*12,'/','.qudong.com');
            setcookie("headimgurl",$data['headimgurl'],time()+3600*12,'/','.qudong.com');
            $cookie = Cookie::get();
            if(isset($cookie['formUrl']) && ($cookie['formUrl']!= "")){
                header("Location:".$cookie['formUrl']."");
            }else{
                header("Location:http://www.qudong.com ");
            }
            return;
        }

    }
}



以下是注意事项:

再tp5框架中 一定要这样去new一个qq互联的类

 $qc = new \QC();


我填写的回调信息简单是因为我配置了tp5的路由,大家如果没有配置路由请按照自己具体信息填写回调信息

我的代码


Route::any('/qqlogin','index/Qqlogin/login');//qq登录接口,
Route::any('/qqlogin_callback','index/Qqlogin/callback');//qq登录接口,


下面是我将application登录的例子做成了压缩包分享给大家

链接:https://pan.baidu.com/s/1oyPofejKgdzFlwoBAcHoNw 密码:z6fq

好啦,具体教程就到这里了,大家有不懂的需要自己百度啊!

我觉得教程已经讲的非常清楚了!

本教程由micuer.com原创发布,转载请注明出处

留言反馈
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈