本文共 3023 字,大约阅读时间需要 10 分钟。
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原创发布,转载请注明出处
转载地址:https://blog.csdn.net/weixin_32256355/article/details/116060826 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!